Eve DevBlog 9: The Devil’s in the Details

It hardly bears mentioning at this point that things are crazy, chaotic, and depressing, so let’s just bypass that phase of the update and move on to the good stuff this week shall we?

I’ve got the interface for the special map nodes roughed in which should make it totally feasible to get those up and operational next week, which is swell. However, what is much sweller is that after a few good hours of work I got a basic version of the Detail class I’m going to be using up and running. BEHOLD!

So if nothing else I now have the option of, if the rest of the game doesn’t pan out, busting out a quick platformer wherein geometric shapes jump around in a confetti/disco ball factory made out of cardboard boxes. GOTY 2013.

Gotta say, it’s nice to finally have something that makes a half-decent screenshot, even if it’s total programmer art.

Anyway, plans for next week involve coming up with an interface for placing these detail elements and implementing the special nodes for the map editor, though who knows how much other responsibilities will interfere this time.

So, let’s see. There’s something I thought might be interesting to discuss here. Let me start off by quoting a line I wrote in my Critical Analysis of Hotline Miami:

…in order to make a unified game, one must either implement non-violent gameplay, and create a narrative context suitable to that gameplay, or address the violence somehow.

Which then raises the question, how do I handle violence in Eve?

This is actually pretty interesting I think, all the more because I didn’t consciously solve this problem but more or less stumbled into a solution, perhaps subliminally. Eve uses a lot of tried and true action-platformer tropes (my biggest influence here is probably Castlevania: Symphony of the Night). Over the course of the game you’re going to be cutting up a lot of enemies, which sure sounds pretty violent. However, due to the surreal setting of the game and the symbolic role of the main character, this violence is recontextualized.

The most appropriate symbol I can think of for the character Eve is the Death tarot card. She scours the afterlife for souls and cuts them free, because without her that world has gone stagnant and worse-than-dead, stuck in an eternal stasis. Many struggle against her, but this is because they don’t recognize her: In the end, all are glad to accompany her. So, like the death card, she represents not so much an ending as a transition.

It’s an approach which I haven’t really seen used before, as best as I can recall. Just another reason why I find this project so exciting to work on!

  1. Smurfton said:

    I saw your devblog linked on the Idle Thumbs Forums, and I’ve been reading these from the start.
    What angles are those slopes at? I’ve seen a released game with the minor bug that it had 30 degree, 45 degree and 60 degree slopes. This sounds right on the face of it, but what you want is actually arctan(1/2), arctan(1) and arctan (2), respecitvely (That’s about 27 degrees, 45 degrees, 63 degrees)

    • Hey thanks for checking the project out!
      Internal calculations aren’t expressed in terms of degrees but in the slope-intercept line equation format. Theoretically I could make tiles use any slope and intercept, but only a few angles are used in game: 2:1, 1:1, 0:1 (flat), 1:2, and 1:3. Also, obviously, the negatives of these for slopes in the other direction. So, rather than having to calculate the atan, I’m just working with the tangent directly, since the slope in the slope-intercept formula is pretty much the same as opposite/adjacent.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: