Urwald – post-mortem

I’d like to expand a little bit, as previous post was sort of messy (I was tired and sleepy writing it).

I’ve stated I’ve failed, but that’s not exacly true.

I’ve stated in Day0 post, that mostly I would like to see how one works with Artemis (cpp port) entity system. I think in this I succeeded. That is after week of work I think I get the idea, so I’m quite happy about it.

Evil Master Plan

As I’ve stated, I think it’s important to have detailed plan, here’s how mine looked like, and how it actually ended-up:

1 level generation + basic movement level generation + basic movement
x change movement system -> action system, add firing fov (including fov for NPCs)
(not much done on day 3)
x fov (including fov for NPCs)
x animals movement and firing changes (still not done)
5 AI for animals and NPCs? firing saga continues…
actually create action system
6 AI probably, trails + sounds ai basics for animals, weapon reloading
7 polishing ? ai for poachers, lots of ‘last minute’stuff

If you take a look at table above, one clear thing comes up from this, I didn’t have slightest clue, how much things will take.
If you’re wondering why those things took me so long, the only explanation I have, is that if you want to use entity system, you really have start to think the way entity system works (or at least how I believe it should work).
Positive side is I had good hunch, that I should do action system early, if I did I think it would make some thing simpler (i.e. I probably wouldn’t spent so much time on firing thingy)

As you can see from the table, final thing is not polished, as on last day I was struggling to have at least some AI for poachers.

Now there’s one more thing about this plan, I believe it’s not detailed enough, if I thought before, what animals do I want to have, and how they AI will look like, it would have become obvious to me, that I won’t be able to do all the animals I wanted (I wanted at least 6). Well at least not in C++, which brings us to another point…

Weapon of Choice

I work as a software engineer and C++ is sort of my main language, which I think entitles me to state the following I would strongly discourage anyone from using C/C++.

It probably depends, on what would you like to focus on, but I still think statment above holds.

What you will probably want is fast prototyping, and words C++ and prototyping shouldn’t be put in one sentence ๐Ÿ˜‰

Vanishing point

Also I was starting almost from scratch (well mostly because of that want-to-know Artemis attitude, and it was actually my first RL), I’m pretty sure I am not gonna do that again.

If you really want to focus on the game, I’d suggest framework e.g. full-blown like Tome-4, or take a look at things other people were using (especially those who succeeded ;))

Devil is in the details, distractions, bugs

I also spent some time to have quite generic lua-based parser – that is cool, but it’s something I should a) either have upfront, b) use something ready, c) use something simple and change it later in need.

Oh one last thing, remember to include time for debugging in your plan ๐Ÿ˜‰

I hope I’ll be able to try again next year. I’d try doing something that would fit in three-four days, and spend the rest on polishing.

4 thoughts on “Urwald – post-mortem”

  1. You might be frustrated with c++ but there are also people who used python getting frustrated with trying to make an executable for distribution. Whatever else you might think is true of c++ it is fast, portable and has probably the best library support of all languages.

    1. You’re totally right. I probably stated it too strongly, as it should be preceded by something like: “If you don’t have codebase, for writing roguelike, …”
      But even so, there are at least one more con: debugging native code is *FUN*, and you’re lucky if it crashes, where the bug actually exists… I think that should be taken into consideration.

Leave a Reply