Eve DevBlog 38: Character Interaction

EveHeader

Well, I’ve finally fixed the collision code to a point where it is, if not release quality, at least decent enough that I don’t mind leaving it like this for a while while I work on other more interesting challenges. It’s a much more approachable problem now, so when I come back to it in a month or two with fresh eyes and probably a clearer idea of what precisely I want to achieve I should find it easier to make improvements. Mostly, it’s just a problem I’m tired of working on for now, so I’m pleased to finally get it to a point where I feel okay with tabling it for a while.

So, having completed that to my satisfaction, I’ve set on to the next programming task. This was originally going to be a fairly simple implementation of an animation system for the player character, but there are a bunch of questions implied by that which I wasn’t certain how to answer: How to transition between animations in an elegant way, track different animation states, etcetera. I could have brute-forced the problem, but it would create incredibly un-reusable code which kind of sticks in my craw. Instead, I took it back a step further, and started thinking about some kind of highly flexible assignable behavior/ability system.

It’s still a bit hazy, since I haven’t gotten to the implementation stage yet, but the basic idea is that the player starts out as essentially an inanimate block and then you assign to it both behaviors, which update the player each tick, and actions, which update the player whenever a certain input is received. A couple of simple examples might be a behavior of regenerating health, where the player object recovers life every second up to a maximum value, and a jump action, which subtracts from the velocity on the y axis by a certain amount when the correct input is triggered and certain parameters are met (say, being on the ground). I’ve coded a bit of the framework behind these, but the concepts behind them have been a bit too much in flux to make any concrete progress. Hopefully I’ll get all that nailed down and complete this entire system over the course of this week, since it really shouldn’t be that difficult.

So that covers the coding side. On the design side, I’ve written all of the special gallery bits that I talked about last week, now, but there are a couple of special areas which are tricky. One, the Chaos Gallery, is a twist on the formula of the other galleries, but one which I’m still not 100% sure what I want to do with. I’ve written down quite a few notes for possible lines for that section, but I don’t know if I’m happy with them or not. The True Gallery became a different challenge, though: Because this is part of the Pandemonium segment of the game, it threatened to come into conflict with stories already assigned to that part. Instead, however, what it ended up doing was highlighting for me how sparse the narration in that segment is right now. So, instead, I started writing a story for the first half of Pandemonium, including the True Gallery, to be told before the story I had previously planned for that segment. There’s a bit of trickiness here, though, since this is an area where there are 7 challenges which can be solved in any order, so handling the continuity of the story is a bit tricky.

The solution, I decided, was to write a story that can be told in any order. I’ve started writing a story that follows a small cast of characters who each go on their own adventure: Since I know which area holds the beginning and which holds the end, I can start and end the story in the same place, and just write each in-between segment as appropriate.

That’s this week. By next week, I plan to have all of the writing mentioned above complete, and to have started collating all of this stuff into one master design document. However, I’m going to be leaving town to attend the TIGSource TIGJam in Mountainview for a while this week: While I think this will only be good for the progress of the project as a whole, and I hope to make a ton of good progress there, it means I may find it a bit more difficult to keep up with updates for a bit.

EveLogo2

His eyes were locked in place as the paralysis set in

And he could no longer distinguish near from far

far from near

the shards of glass and the stars became indistinct from one another

Some twinkled with the passing of stellar dust

Some twinkled with the passing of headlights

Sirens wailed

Though from here, lying on the pavement, maybe it was birds

Or weeping women or whalesong or yowling cats

With each ticking, numb, dripping moment

Things became more the same

And he thought, well, this is nothing new

I have always been tiny

Insignificant

I have always been ground bound

Ignorant

The only thing that is different is right now I see something amiss

Later, looking at the photos of his wife

Who was now among the stars

He wished he could fly

And finally have the height to see the difference

Between what is mundane and what is meaningful

And fly up to her

And let her know

EveLogo1

Leave a Reply

Your email address will not be published. Required fields are marked *