Skip to content

Commit

Permalink
Refactor README.md completely (#34)
Browse files Browse the repository at this point in the history
* Add project requirements to README.md

Keep explicit the project dependencies.

* Refactor README.md completly

- Add how to install dependencies for most common distros: ubuntu, fedora and arch linux
- Remove roadmap because it's not compatible more with this project
- Add how to run examples command

* Fix of the fix from fixed fix

* Update README.md with review suggestions

- Remove -y flag
- Add how to run specific example

* Update README.md

Tested, it really works.

Co-authored-by: Manoel Vilela <[email protected]>

Co-authored-by: WesleyCSJ <[email protected]>
  • Loading branch information
ryukinix and wesleycsj authored Oct 31, 2020
1 parent 5c53a0b commit f55e14f
Showing 1 changed file with 50 additions and 29 deletions.
79 changes: 50 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,53 @@
![test](https://github.com/ryukinix/hazard-memory/workflows/test/badge.svg)

# hazard-memory
An experimental SDL2 Platform Game written in C++

# Roadmap
## Game Engine

- [ ] Setup basic scaffold.
- [ ] Implementation of a ECS system.
- [ ] Implementation of Hero, NPCs, Items and Enemies Entities.
- [ ] Implementation of Hero, NPCs, Items and Enemies Behaviours.
- [ ] Implementation of Animation system (Using Quads).
- [ ] Implementation of GUI basics, made to be easily extensible (Animation is optional).
- [ ] Implementation of Configuration files system load. (JSON, .INI or a created encrypted file extension)
- [ ] Implementation of Configuration in-game setup (Resolution scaling, Input configuration: Joystick or Keyboard).
- [ ] Implementation of Conversation load files and system of control and render flow. (Text could be animated).
- [ ] Implementation of Tile system. (Including parsing and load files with levels data).
- [ ] Implementation of Basic collision system.
- [ ] Implementation of a Battle system.
- [ ] Implementation of Items bag and usage.
- [ ] Implementation of Gameplay Load/Save system. (Checkpoint or Save State system).

## Game Design

- [ ] Define a theme for the world.
- [ ] Define a main plot.
- [ ] Draw graphical user interface assets.
- [ ] Draw assets for the hero, enemies(including bosses), and stages.
- [ ] Draw assets for items and armor.
- [ ] Draw assets for the world and dungeons.
- [ ] Draw a game ending scene.
An experimental game engine for 2D games based in SDL2 written in C++.

# Requirements

- [SDL2]
- [SDL2_gfx]
- [g++]
- [GNU Make]

[SDL2]: https://www.libsdl.org/download-2.0.php
[SDL2_gfx]: https://www.ferzkopp.net/Software/SDL2_gfx/Docs/html/index.html
[g++]: https://gcc.gnu.org/
[GNU Make]: https://www.gnu.org/software/make/manual/make.html

## How to install dependencies

### Ubuntu

```bash
sudo apt install libsdl2-dev libsdl2-gfx-dev gcc
```

### Arch Linux

```bash
sudo pacman -Syu gcc sdl2 sdl2_gfx
```

### Fedora

```bash
sudo dnf install gcc-c++ SDL2-devel SDL2_gfx-devel
```

# How to run examples

Run all examples:

```bash
make examples
```

Run a specific example:

```bash
make examples/collision/square-platform.cpp
```

# License
MIT

0 comments on commit f55e14f

Please sign in to comment.