-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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
Showing
1 changed file
with
50 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |