This might be the hardest and most delicate work to be done, as it deals with the core of ASCIIpOrtal.
The current game engine suffers a major design flaw that prevents any further development, like the moving platforms project. I actually spent a couple of hours struggling with the game engine to implement a minor modification...
On the other hand, the object manager (contributed by ivanq) is really excellent, as it is very computationally efficient while keeping a simple design. If possible, this component should be kept (or adapted).
Suggestions to improve and/or rewrite the game engine (mainly the "physics()" function):
- game objects should actually be implemented using objects (and not just a C-like struct)
- this would allow defering more logic to the objects themselves, as the current game engine is so filled up with object-specific code and corner cases that it's a pain to read (and it gets worse when it comes to modify it).
This might be the hardest and most delicate work to be done, as it deals with the core of ASCIIpOrtal.
The current game engine suffers a major design flaw that prevents any further development, like the moving platforms project. I actually spent a couple of hours struggling with the game engine to implement a minor modification...
On the other hand, the object manager (contributed by ivanq) is really excellent, as it is very computationally efficient while keeping a simple design. If possible, this component should be kept (or adapted).
Suggestions to improve and/or rewrite the game engine (mainly the "physics()" function):