#9 Added level selection render

This commit is contained in:
Tibo De Peuter 2022-12-21 16:07:05 +01:00
parent 0786a41006
commit 2055ef234e
17 changed files with 401 additions and 34 deletions

View file

@ -64,7 +64,7 @@ TODO
- An example playthrough, with pictures and explanations
\pagebreak
<div style="page-break-after: always; visibility: hidden">\pagebreak</div>
## Writing your own stages
@ -250,10 +250,22 @@ If we look at the example, all the objects are
Entry = empty ConditionList + Action ('leave()')
```
\pagebreak
<div style="page-break-after: always; visibility: hidden">\pagebreak</div>
## Development notes
### Engine architecture
<mark>TODO</mark>
#### Monads/Monad stack
<mark>TODO</mark>
### Tests
<mark>TODO</mark>
### Assets & dependencies
The following assets were used (and modified if specified):
@ -268,6 +280,7 @@ The following assets were used (and modified if specified):
RPG-Engine makes use of the following libraries:
- [directory](https://hackage.haskell.org/package/directory) for listing levels in a directory
- [gloss](https://hackage.haskell.org/package/gloss) for game rendering
- [gloss-juicy](https://hackage.haskell.org/package/gloss-juicy) for rendering images
- [hspec](https://hackage.haskell.org/package/hspec) for testing
@ -278,12 +291,23 @@ RPG-Engine makes use of the following libraries:
The following ideas could (or should) be implemented in the future of this project.
- [ ] Entity system: With en ES, you can implement moving entities and repeated input. It also resembles the typical
- [ ] **Entity system:** With en ES, you can implement moving entities and repeated input. It also resembles the typical
game loop more closely which can make it easier to implement other ideas in the future.
- [ ] **Game music:** Ambient game music and sound effects can improve the gaming experience I think.
- [ ] **Expand configuration file:** Implement the same methods for parsing stage description files to a configuration file,
containing keybinds, dimension sizes, even window titles, making this a truly customizable engine.
- [ ] **Camera follows player:** The camera should follow the player, making it always center. This allows for larger levels
increases the immersion of the game.
- [ ] Game music: Ambient game music and sound effects can improve the gaming experience I think.
<div style="page-break-after: always; visibility: hidden">\pagebreak</div>
\pagebreak
## Conclusion
Parsing was way harder than I initially expected. About half of my time on this project was spent writing the parser.
<mark>TODO</mark>
<div style="page-break-after: always; visibility: hidden">\pagebreak</div>
## References