It’s been almost a month since the last update. How time flies, doesn’t it? The reasons for the delay are as follows:
- I somehow acquired both Jaundice and Hepatitis-A (Simultaneously! Scientific wonder!), which caused weakness and inability to program, and
- The Scripting System.
While it would no doubt be fun to talk about (1), and how I suffered generally, I think an update on how (2) is shaping up would be more useful, and will receive better critical reception. Here’s how I started programming the scripting system:
A few months ago, I came up with a demo (or a “vertical slice”) for the A.Typical combat* system. I posted a few screenshots and details, which a few ModDB users criticized for causing irreparable harm to their eyes, BUT received (some) positive response for its uniqueness. Extending that system to multiple situations, however, proved a bigger challenge than what I thought. Specifically, I found out that my hacky approach to scripting was causing several bugs, glitches and inappropriate NPC behavior. Combining that system with the in-game world was also proving a pain with my earlier mentioned hacky approach, which brings us nicely to the new system.
The way the system works is simple: each event has a set of conditions needed to trigger the event, which I’ll refer to as triggers for the event. Basically, a trigger is a logical expression that must be true if the event can occur. Conditions include the player location, events that have happened before, and in some cases the object the player must interact with to trigger the event. I also maintain a huge list of all events that take place in the game, with combat-specific events having their own list. Here’s a (simplified) pictorial representation:
A few features of the system still need implementation (such as making 2 events occur simultaneously, accounting for AI behavior). I hope to get started on those soon enough *grumbles about exams*. I hope to get better soon and give you more news and updates!
* – The general all-purpose system used in a variety of situations referred to as the combat system.
P.S. Oh, and by the way, super-all-round-artist Henri has been busy with real life stuff, so I’m sorry I don’t have much art to show. However, he did come up with this work in progress photo of the world map. More awesome art is forthcoming!