Engine Progress #1

Hi, I’m Kieran. I’m the programmer for Their Own Way. I’m currently working on the engine so that all of our team can just type in character thoughts and stuff to build the game, and boy is it a tough job.

I’m learning the SDL library for the purposes of this: I’m used to OpenGL or using something like Unity. It’s a fairly easy to grasp library once you know OpenGL, but it’s still a pain to get things to render. I’m still at the stage of learning advanced things in it, planning on starting actual engine-y stuff tomorrow.

First on my to-do list is to program the base for the game, and build the engine on top of that. It seems a strange way to do it, but this is built specifically for Their Own Way, and only needs features for that, so it’ll be a drag+drop interface on top of the game, that I’ll just lock when it’s released. It’ll all stay one program. Does that count as an engine? I’m not entirely sure.

I’m obviously going to need to render sprites, maps, etc, but then I’m planning on creating the basic AI for the people in the game, just working with movement to make it look like something humans would do, then build on that from there. After that, I’ll add in objects and stuff, and set up a path-finding-esque system for the NPCs, then build the thoughts on top of that. The first set of thoughts to be implemented are going to be set by the team, but afterward I’m thinking we could go down two lanes, or possibly both of them. Randomness, or writing every single possible action. To keep gameplay going, we’ll need a lot of actions, but randomness is a bit shaky. I’m thinking along the lines of having it 35:65 defined-randomness choosing the thoughts for the people… With a list of about 2000 or so for different verbs and nouns etc.

In terms of the other features, I’ve been talking to John and we’re thinking about some other stuff, but it’s still ideas floating in the air. We’re thinking of having some sort of interactivity to drive the gameplay, instead of watching, that would be entirely optional – the game would function without it. We’re thinking about this on two levels: interacting with the environment (with huge limitations in place), or interacting with the characters mentally, possibly affecting their actions and what happens to them in the long term. This would lead to an entirely new type of gameplay where you could change things that happen in the characters’ life.

It’s something to think about. What are your ideas?