After all the craze that was 2017 js13k, I went back to my duties with OpenArthurianX6.
So far I’ve been working on the combat system mostly. The game features an hybrid action mode, the “mobs” move around the grid based map, deciding what to do every x millisecond (at first restricted to moving around or sitting idle). First task I took was allowing the transition to combat mode, in which the mobs take turns to act.
To achieve this, I added a synchronization phase where all mobs finish their moves before the actual combat state is established.
Next up was adding the “attack” action, but in order to make it work, a major refactor on how the actions flowed was done. Everything was changed to use promises instead of timers. This will allow to more easily add other actions in the future as well as parallel input modes (keyboard/mouse)
Also implemented some damage calculations based roughly on Ultima 6, and added the corpses to the ground when killed.
Finally, added some simple AI for mobs to seek enemies based on their alignment, for now they just seek the player and attack him. The actual attack action was pretty straightforward to implement for the mobs since they are the same as the player 🙂
I streamed the development of this latter part, you can check it in Slashware’s youtube channel here!