Monday, October 23, 2017

Uh Oh. Trouble.

I have been working on the text based game engine for quite a while now. Coding it and building a large demo game for it. The demo game has been a great testing tool. It covers many situations that would come up in game authoring.

Everything was going great. I started a basic website for it in preparation for distributing it.

Then I decided to make a trap. A simple timed event. If the player is in the room long enough. DOOM. Things were bad from the start. After all this time, after all my testing I realized I was doing the timed event, time passage counting wrong. Ok no prob. Fixed.

But then when the player died, it kept describing the Room AFTER the die message. This was my first clue that something serious was going on.

There was a processing stack conflict. Events were being described first, which isn't incorrect, but dying was an event. So I stopped any further descriptions cuz the player was dead.

When I began work on NPC movement, since I hadn't tackled that yet, the real seriousness came to light. Player movement, NPC movement, object changes. Which should be done first? What if action needs to happen first and that action's description come last? None of this came up until the NPC movement piece was added.

So now I'm reworking all of the parsing logic. Breaking it up into pieces so I can choose which parsing is being done when. This is a complete reworking of the core functionality of the engine. It's gonna get real ugly before it gets better.

3 comments:

  1. Will this be open soureced? Be fun to look through your code.

    ReplyDelete
    Replies
    1. Well that will be embarrassing! Yeah I'm thinking about making it open source. Then I'll try tackling a networked version. I think once I get the recent crop of issues worked out I'll call the first iteration complete, and post it up.

      Delete

5 VST Effects I Use in Every Song

VSTs are so great. I have a massive collection of free instruments and FX that I've tracked down. There are SOO many to choose from... B...