EveHeader

Since I’ve been kind of in-between major components of the game, I’ve been spending time just looking through my code, figuring out things that need doing, pursuing components which are, perhaps, not particularly vital to the project but are personally interesting, and just generally dicking about. Somewhere in between procrastination and vital work, smooshing bugs where I find them, noting down things to pursue when I get a chance, and thinking probably way more than is actually practical about fancy expansions to my color class.

I’m about ready to settle down to my task list, though.

By far the most pressing thing on the list is getting melee attack registration working. It’s a bit odd that I’ve put it off for this long, but I kept being unsure exactly how I wanted to proceed and tabling it for later. Given the experience I’ve had over the past week looking through the byzantine horror show that is some of my old code, I suspect I may in fact be better off for this delay. The two big questions that have stalled me are a) how do I make a system for precise collisions that aren’t tedious pixel-by-pixel affairs that bog down the code, and b) how do these collisions interact with entities?

Today I think I’ve arrived at some satisfactory answers.

To the first, It occurs to me that rather than going through pixel-by-pixel, I can easily skip through and, in the case of any objects that aren’t weird lattices or anything, have detection that’s still pretty accurate while expending 1/16th or less the processing time. Since only a few of these are likely to be processed per frame, that should be entirely satisfactory. To the second, I think it makes sense for each attack to be its own entity, even if it only exists for one frame, and to then apply its damage to any enemy entities that it can detect collision against. This is a particularly appealing approach because it means that projectile attacks should be able to be implemented in a fundamentally similar way, just replacing an instantly-disappearing attack entity that collides with everything in its range with a fast-moving attack entity that destroys itself after the first object it collides with.

I’ll be working on these behaviors over the next week, as well as keeping an eye on what modifications will need to be done for other kinds of entity collisions such as for moving platforms and destructable walls. Once I have that stuff working, I can see about building a test level with enemies and tuning up the basic gameplay, as well as adding any additional animations that will need to be created for the new interactions. I’ll probably be bouncing back and forth between that stuff and adding the remaining features to the code base for at least the rest of the the year, but once I hit that point I should have a rock-solid base to expand upon.

 

 

EveHeader

The first thing I did this week was throw together a rough list of the programming tasks remaining to be done:

  • Game-state changes (recording defeated enemies, found items, triggered events, etc)
  • Attack registration and collision with entities
  • Dialogue management
    • Text captions
  • Animation registration points and derived effects
  • Improvements to Tile Editor:
    • Option to automatically link tile appearance to tile shape
    • Fix alignment issues w/ menus and dropper
    • Add ability to invert collision mesh within selected area
  • Manage loading levels better (consistent & simple) – currently is inconsistent and unreliable
  • Manage loaded level assets (particles etc) better – figure out when the best time to pre-load is
  • Main menu
    • Load game
    • Multiple profiles
  • Improvements to Particle System
    • Can be spawned by entity events
    • Can play sound
    • Collision with defined shapes (must be efficient)
    • Spawn masking
  • Dynamic zoom?
  • Graphics post-processing? (offload to C++ sub-program?)
  • Special effects
    • Reflective floors
    • Water reflections/rippling
    • Screen shake
    • Basic lighting
      • Lighting editor?

The second thing I did this week was tenuously start working on one of these and get completely sidetracked onto something else that I thought was interesting. I ended up spending several days in a row developing a class for working with colors, one which I kept coming up with ideas for, new features and optimizations and improved interface tweaks and so forth. I actually still have several ideas for additions which I may revisit at some point, but for now I’m moving on.

So, first up I’m going to be tidying up and adding a couple of features to my tile editor, then I’m probably going to start figuring out attack registration since that’s the only missing component of the core gameplay. Maybe it’s kind of weird to get sidetracked for a week on making a fancy color class, and it may be a long time before that work ends up paying dividends if ever, but I’m still happy I spent that time on it. It was good practice, and it added another tool to my growing toolbox – one I will probably find many uses for in the future.

EveHeader

Detail editor is done. Finally.

EveDetailEditor12

it’s not perfect, but it works reasonably well. I’m sure that when it comes time to actually build levels and stuff using it I’ll find tons of issues that need fixing, both in the editor and in the particle systems themselves, but there’s no point in investing a bunch of work now in uncovering problems that will make themselves obvious later.

So what’s next?

I’m going to spend a day or two going through and building a task list of improvements and polish to make on all of the other editors, and then go back to the overall programming task list I made so long ago and flesh it out with what still needs to be done and cross off what no longer needs to be done. The biggest thing left is attacking and hit detection, which I’m going to have to start seriously pondering how I’m going to implement.

This is a bit of an awkward time. A moment of reflection. Getting close to two years of regular updates, I feel simultaneously like I’ve come incredibly far and done nothing at all, and I think those are both justifiable impressions. I think I’m getting closer, though… even if slowly, I’m getting closer.

 

Jack-o'-Lantern

It’s Halloween now. I am not a child or a person who has children, nor even someone who turns on a porch light and hands out candy, so the trick-or-treating doesn’t matter to me. I don’t know anyone here to invite me to a party, so I don’t get drunk with a bunch of people in costumes. By all obvious measures, to me personally this night should be the same as any other night.

And yet…

There’s something. This is the time when our idea of who we are and what we are seems at its most malleable. As a creator, I tend to project my various subtle social dysphorias out through characters and ideas, devil’s advocates and shapeless horrors and harmless hypotheticals. The costume seems unnecessary to me. But I still look at everyone else, at the work and love that they put into their costumes, and I wonder what their choices mean. I look at a list of the most popular costumes of the last few years and find myself unexpectedly overwhelmed by emotion, imagining the connection between these concepts and the people who wear them, wondering what it means when these trends emerged and receded. What does it mean that witch is always the most popular costume? What does it mean that police showed up once on the list a few years ago and then immediately disappeared? What drives the appearance and disappearance of Batman, of Dracula, of zombies and of devils?

It may seem trivial, and maybe it is. But each costume was a decision made by a human being, an expression of something that they felt. It’s impossible that it doesn’t mean something. And, looking at it, I get the feeling of some profound truth about who we are and who we want to be, but I just don’t know what it is.

It’s strange.


 

Reading some of the responses to Neverending Nightmares, and listening to some of the things that people say about horror games in general, I hear some people say that they don’t find any horror games or movies scary. I’ve started wondering what this means, exactly. Fear is a learned response to things that we understand are threatening: If we don’t find something scary, does that just mean that we haven’t learned what it means to be frightened?

I wonder. I wonder if horror starts to take tighter hold on us as we grow older and grow to understand the extent of our vulnerability to loss and injury. I wonder if fearlessness is merely ignorance.

For my first play-through of Neverending Nightmares I didn’t really find it scary. I found it interesting and evocative, but it didn’t really disturb me in any fundamental way. However, as I spent more time with it, as I tried to understand everything about it, as I got tired and sat around thinking about it and interpreting it, it started to find its way into my mind. I learned something about the mechanisms of fear, then: That which we refuse to look at or engage with cannot frighten us. A lack of fear when consuming horror means that you don’t believe it, that you haven’t let it in, that your defenses are still up. As long as your defenses are up, you are safe, and that sensation of safety is exactly what you wish to abandon.

As long as you are safe, you will not be scared.

If you want to be scared by a game, learn how much you have to fear each moment of each day, and then let it prey on those fears. Then you’ll feel it. Then you’ll see it when you close your eyes. Because it won’t just be the game: It will be you.


 

There’s a lyric that keeps running through my head, and has for the past decade:

“It’s not forbidden to be what you are”

It’s from a song called Boo Time, by the band Moxy Früvous. It particularly tends to run through my head around Halloween, for obvious reasons, but it also tends to shape the way I think about identity in general. I feel like we should all be able to be the person we feel ourselves to be. I think there’s a whole lot of cultural baggage built around the idea of what a particular kind of person is, what it means to be a man or a woman, what it means to be a jock or a nerd, what it means to be Republican or Democrat, and I think it’s all garbage. Cruft. Vague bulwarks of tradition set up against the natural human desire to be fluid and natural and true.

This week I and many other people found out that former Moxy Früvous member Jian Ghomeshi beats women. The allegations are numerous, and more seem to have sprung up since. He has, as it were, a history. It’s sad and disturbing, but this also puts such a fine point on the apparent contradiction of the lyric that keeps going through my head: You cannot use your identity to hurt other people.

It’s not forbidden to be what you are, but it may be forbidden to do what you do.


It’s Halloween. We are what we pretend to be, so take care in what you pretend to be.

 

Lone Survivor

I didn’t finish it.

I guess that’s a good place to start. I dunno, I generally feel like I should finish these games if I’m going to write about them, but if I’m not that into playing it it can take me a really long time to make any progress and I end up just falling further and further behind – so, rather than go through that whole process I think I’m going to cut my losses here.

Fortunately, I can still discuss why I think the experience didn’t work for me, which I think is actually a rather interesting case study.

My initial impression upon playing Lone Survivor was that it was confusing, both in ways that were obviously intentional and ways that were less so. I was willing to give it the benefit of the doubt to a certain degree, since uncertainty is an important element of horror storytelling, but the more I played the more I kept seeing inherent conflicts in the foundational design choices of the game.

First, the game has a strong element of survival: You scavenge food and other resources from the apartment complex to survive, and as time goes on your character becomes hungrier and more tired so you have to regularly return to your apartment to sleep and eat. So far so good, right? However, the game has a strong narrative element of uncertainty, of not knowing what exactly is going on, what caused it, or what your role in the proceedings is. These two elements are both good and interesting, but the combination of them is conflicted. You get a lot of items where you don’t know what they do, and the survival element strongly suggests the idea that you should save them for later, which means you’re unlikely to find out. It’s implied very early on to be possible to bypass enemies, but you can only discover how that works by experimenting and finding that flares stun enemies, which seems completely unintuitive given how little of a shit they give about the flashlight you carry around all the time, which seemingly casts much brighter light. Perhaps there’s a justification somewhere – I never found it.

Not only are you implicitly discouraged from experimentation, but it can easily become apparently impossible to proceed, if you find yourself low on ammunition and flares enemies are insurmountable barriers, completely blocking you from progressing further. I discovered after reading some information on the game that actually you can take one of the mystery pills you find to meet a guy in a dream who will give you more ammunition, but taking these pills will reduce a hidden mental health stat which apparently affects the ending you get. Once more experimentation is discouraged, and counter-intuitive mechanics go unexplored. Even if it is possible to acquire more resources, if you don’t know it’s possible and it can only happen once you’ve completely run out, the constraints on your play are exactly the same.

Are these two driving aesthetic choices inherently unresolvable? Within this format, and not making any concessions, I suspect they may be. If Lone Survivor was developed as a roguelike style game, where each run could end in failure and demanded experimentation as a survival strategy, the tension between these ideas could have been brought to the surface and played with as a gameplay trope instead of merely confusing and derailing the player. Or, if more concessions were made on the uncertainty aspect, such as making it intuitively obvious what all the game-objects did but mysterious how that function fit into a larger narrative, that could have worked as well  Something needs to give, though, since these two driving concepts, within this framework, would inevitably come into conflict and undermine the expressive intent of the author.

All in all, I think the game has strong aesthetics and a lot of love put into it, but it is hampered by a poorly thought out combination of ideas. I may try playing it again someday with a walkthrough, since the world is intriguing but the process of exploring it is so tedious and frustrating, but for the time being I’d like to move on to something else.

[Next time: Revisiting The Binding of Isaac and playing the remake]

EveHeader

Um, you might have noticed that the last two updates had the same name and number. I copy old posts as a template so I don’t have to dig up the header image every time, and once in a while I forget to change the title. Basically, I am a big dumb. Sorry if it gets confusing or something. In all honesty, it’s probably about time I came up with a new header image, since that’s not even the name of the game any more. I’ll think about doing that sometime here.

Anyway.

I guess this is probably like the third straight week where I’m going to say I’m almost done with the detail editor. I’m now even almoster done with it. I keep thinking of a new thing that needs to be added every time I use it, and some days I end up with a longer to-do list than the one I started with, but I think I’m down to the last few nails in this coffin.

Here’s what it looks like now:

EveDetailEditor11

Mostly the same as before, but there’s a list of details on the left side, export and load type buttons, a field to set how far particle systems are pre-advanced when the screen is loaded (so that, say, a fountain looks like it’s something in progress, rather than just turning on when you walk in the room), there’s a menu to select blend modes for particle facets… little changes, but they add up. Also, more than one of these has lead me to discover a bug that needed fixing in connected components, so even though the editor looks substantially the same it was a pretty good week of progress.

At this point I’m down to just a couple of things left to add. Once I do, I think I’m probably going to give all of the other editors a once over and make sure that they’re as polished and full-featured as I’ve been ensuring that this one is. Once that’s achieved, I’ll start building the final task list of things to hit to wrap up the foundational programming for the game.

EveHeader

Another one way behind schedule. It took a bit of finagling, but I think the new name system for particles is working correctly. I’ve added a field to edit the particle name into the editor, but it still needs to be integrated into the behavior editor in a way that makes sense, which is a surprisingly non-trivial task. I’ve made a task-list of things that still need to be done for the detail editor, and I’m working through it bit-by-bit. In addition to the new name field, I just added buttons to delete extra facets, a field to change the update rate of a behavior, and a bunch of other slight improvements. Here’s what it looks like now:

EveDetailEditor10

I lost a couple of days of work this weekend due to getting really really tired for no apparent reason. It may have been a delayed reaction from writing the Neverending Nightmares piece, which I put a whole lot of work into (I hope it shows!)  Hopefully I’ve recovered from that nonsense tiredness spell, and can wrap up this damn editor this week and get on to more interesting stuff.

Follow

Get every new post delivered to your Inbox.

Join 4,768 other followers