Thursday, 22 September 2011

Engine thoughts

When I was looking at Teemu's current structure and the increasing number of data-driven classes I realized that I was going in the same direction as with Kaduria: trying to create a better more flexible engine. It's not a bad thing if you are looking for that kind of way, but it got me thinking. Do I really want to go that way again? Maybe not! It could be just better use not-so-perfect source code to produce the result I want.

Well it doesn't mean there is something wrong with the code quality. Nope. My goal with Teemu and all other projects is zero bug quality. It's just less engine and more "hacks" which means something like checking the player id in Creature class and choosing different action based on that, or checking visibility of actions in different ways to show different messages. In other words not using one core solution for all problems. For me it means "breaking" the engine, for some people it may be the usual way to do things.

Sunday, 18 September 2011


In effort to organize the source code better I wrote a new data type class for combat results. It's getting to the micromanaging department but somehow I like this way of doing things. I developed that style during programming Kaduria and while it's very anal to say at least it's giving nice results in the long run.

I don't have any good estimation when the next version of Teemu will be released, but there is not really that much stuff to do. TEROS (TEemu ROleplaying System), couple of new locations and when the engine has support for data-driven objects it's time to add some new items, monsters, etc. The last feature depends only from the engine support and there are just couple of things to do in that area, namely adding support for dynamic object creation (object types are not in a static list but generated from the data by determining which objects are suitable to create in various locations).

Friday, 16 September 2011

Refining TEROS

Now all stats are in T_Stat class so it's time to continue developing TEROS. I actually refined it in the plan, not in the source code. It looks like it's ready to kick coconuts. I changed weapon accuracy to more generic attack type accuracy and added a modifier for dodging an attack. This is what creatures do at the moment, but it's not very well defined.

I was thinking of extending creature AI by allowing some player operations for NPCs but then I realized it's better forget that for now. It's wiser to implement a couple of selected features and then look where it went. And as a bonus you get to release a playable version which then could generate feedback in theory.

Tuesday, 13 September 2011

Teemu continues

I'm now ready to return to Teemu. I have a plan similar as in Kaduria to concentrate on Creature class and close routines in VC when it's done. It's interesting how much uncertain code I have already found to fix. Things like returning zero as magic number etc. Stuff like that is not good if you try to reach zero bug program. It's one of my goals with Teemu to create a game that has no bugs at all.

Working with Teemu is easier than Kaduria, because the engine is quite simple. I'm still trying to think the best way to implement Teemu's role-playing system TEROS with APEWASH stat set. I think it will reveal itself as I'm refactoring the Creature class, because that's where the obvious changes are going to happen.