IfThen Software

I've added in very basic combat: You can press the A key while standing next to and facing a character, and that character will die (including PCs). Because there is no respawning though, you might run out of targets quickly; if this happens, please let me know and I'll reboot the server.

Because of limitations with the previous UI (Windows controls are difficult to use for a game after a certain point), I've converted the in-game UI to use a custom OpenGL-based UI system. It doesn't have all of the features that the previous UI had, but it works better for the moment.

The bug where you were sometimes stuck at the login screen should now be fixed, as well as the bug where the map name would sometimes be replaced with "Static". Both of these were because of a race condition, and I'm happy to have them gone!

The movement bug where your hitbox would sometimes get offset should be fixed as well. Due to how difficult that bug is to recreate, I can't be certain it is gone, but I went through and overhauled the relevant code to be more reliable so hopefully that did the trick. I suspect that this bug was caused by an unusually high delta-time in the physics/game logic update. For simplicity, the game is using a variable time step; while this makes things easier, it can also cause some annoying bugs.

This update is mostly for fixing bugs, but the code structure has also been improved. Notably, the server's packet handling system is now thread-safe, and both the client and server use a simpler packet system.

All maps now have a border around them, to prevent characters from wandering off the map. The server crashed last night (sorry folks!), and I suspect it was because a character did just that.

As I mentioned at the start of this post, the NPC feature for phase 1 is now complete! This means we will be moving right into combat, which should make the game a lot more interesting to play (you will finally be able to kill those pesky goblins that have been blocking your path).

The AI for the goblins has been improved; they will now chase you around relentlessly if you get too close. Otherwise they willjust walk around randomly. You can also get a description of each character by left-clicking on them, including player characters!

The NPC feature is very close to being finished, which is exciting! The next version will mostly contain bug fixes and misc. features. After that, I think we will be able to safely check off NPCs in our to-do list for phase 1!

Adding the goblins was fairly easy, thanks to the way the content pipeline is designed (it's data-driven), although I was stuck for a while trying to figure out why they weren't appearing in the map editor or the client. I eventually figured out that it was because I forgot to add the textures to the build system, doh!

NPCs can no longer be walked through, and a slight sprite offset between NPCs and PCs has been fixed. Sort of a small update from the player's point of view, but I've made some internal improvements as well. Characters (whether NPC or PC) are now handled the same way, rather than separately. This gives movement, blocking, sprites, etc. for free, and removes duplication.