Now that the automatic tests are in place, it’s time for me to focus on elements of fun in the game.
My next epic will be adding creatures into the level, and having them try to kill the players. Obviously this is a big step, so I’ll have to work many prerequisites features into the game to get to the point where this is possible with the engine. Here are some: server controller beings, attack actions, combat properties, health, the concept of dying, corpses, artificial intelligence (rudimentary), and visibility.
I’ve chosen to start working on visibility. At the moment, only the client has any concept of what’s visible and what’s not. This is a problem for many reasons:
- because the client is sent info about the entire level, hacking the client becomes an issue
- the server has no way of knowing which beings can see each other
- as a consequence of 2, notifications are sent to clients about events through-out the entire level, always
The start, I’m going to have to refactor the way the server sends info about the level to the client. It’ll have to send only info that’s necessary for the client to render what’s visible to the player. If I send more, this leaves the client prone to hackers. The engine being as it is, this is already a pretty big step.