Archive

Personal

I’m uncomfortable with the passage of time. I dislike it, and because time flies when you’re having fun I retain a slight antipathy for having fun as well. I usually try to have fun anyway, but a bit begrudgingly, acutely aware of the cost. I suspect that this awareness makes my fun less fun.

At the end of the day I feel caught between two unpleasant sensations: One, the sensation of having not done enough, of having lived another day without achieving enough of a change in the state of the world to justify losing that day; two, the sensation of having not had any time, of the day ending prematurely before I had any chance to note its passing. The more I fight the first the more I feel the second: Time, of course, does not only fly when you’re having fun, but when you’re fully engrossed in any task. The inverse is also true: If I try to relax a little, take things slowly and enjoy them, I get to the end of the day and wonder how I got so little done.

This, probably, is part of the reason I persist in what I generously refer to as ‘self-employment’, which means that I don’t have a job but I still pay rent. A job would make things a lot easier, but the last time I had one time passed so quickly, and at the end of the year I felt like I could remember very little of it – and, as well, that everything I had achieved within it was for someone else’s benefit. Thus, I decided to pursue my own projects and work to my own schedule, and now I maybe don’t get as much done but all of what I get done belongs to me. I keep trying to push myself to be more productive and effective, but whenever I make strides forward I feel like time starts passing faster and I pull back. I frequently remind myself of the character Dunbar in Catch-22, who is constantly doing things he hates because it makes time go slower, since the more time passes the more missions he has to fly, since the more missions he has to fly the more likely he is to die.

There’s no real resolution to this conflict. The conflict is simply that a limited amount of things can happen in a given amount of time: I can try to do more of those things, but that doesn’t make more time, it just makes me busier, and the busier I get the less I’ll be able to perceive time that passes, the less I’ll feel like I can keep up. It’s perverse, the parts of my brain which keep me from working point to the longer days made by less work and say “see, isn’t this nicer? So much more time to work on important things”, and hide from me the fact that I only created that time by not doing those things.

What can I do? Do I go slow and enjoy the illusion of creating time? Do I push myself to work more and feel like the world is passing me by while I’m not paying attention? Am I capable of even making a decision here and sticking to it, or am I incapable of seeing past my subjective sense of more or less time, more or less productivity, to actually negotiate a path through the day that doesn’t make me feel like I’m living half of a life?

Advertisements

This might not be the best time to write a DevBlog, but it’s also way overdue and having not done it is stressing me out, so I may as well get it out there. After a short vacation followed by a short cold, I finally managed to get the scripting system more or less up and running. However, whether it’s left over from the cold or because of my mood, finishing the scripting system didn’t leave me with a sense of relief or of completion, but just a sense of having reached a dead end. Now I have a potentially powerful and interesting tool at my disposal, but in order to actually use it I need to restructure my project to accommodate it, and I still don’t really know what that project is or is going to be.

In and of itself, that’s not a problem. I didn’t know what the project was before, and I have one more tool for tackling the project than I did before, so no problem, right? At worst I have a month or so of wasted time, which isn’t great but it’s hardly worse than some of the other setbacks I’ve dealt with – and, as wasted time goes, creating a parser for a scripting language is far more educational than most time wastes. The issue is more that, at the moment, I have no real drive to pursue the project, or really to pursue any project.

This happens sometimes, and maybe I just need to wait it out. Or maybe I need to do something different, or maybe I just need to figure out a new approach. I don’t know. I’ve just been very tired, and not knowing where I’m going or how I’m getting there is making me more so. The world seems exceedingly broken at the moment, and putting long-term work into a project when I can’t feel confident that anything about the world I’d be making it for is will still be the same when it is complete just feels like a waste of time. Games are generally what I’ve been passionate about, but at the moment games feel like a bit of a dead end.

In all likelihood, I’ll feel better soon enough. I’ll feel more alert, some aspect of the project will catch my interest again, and I’ll build an idea and purpose around that. In the meanwhile, I think I need to take a moment and look around. Maybe something else will catch my interest, maybe something a bit more solid. Maybe I’ll get back to work on EverEnding. I don’t know. I’m just waiting right now, and trying to rest, and trying to figure out a direction to go in. I don’t think that we really need any sort of grand calling in life, but we do need something to pursue, and right now I’m not sure what that is for me.

Oh well, this one was kind of a downer. Hopefully I’ll figure something out and next month’s DevBlog, if that’s even an appropriate title any more, will be less bleak.

Well, I keep on getting distracted, but the distractions are all part of the project itself. There’s a distinction between the process of making a game and the process of making the game engine, the game editor, the game tools, even though these are a prerequisite – and, clearly, I’m more willing and able to focus on those right now than I am on making the game itself. I think this is okay for the time being: Part of what I wanted to do with project is to let myself go where my enthusiasm guided me to go, and clearly right now that’s in working on the tools. Now, whether that’s just because I’m more intimidated by the idea of working on content stuff, well that’s an open question. Eventually I’m going to run out of tools to work on, so I’m not stressing out about it. Yet.

Anyway. What are these tools he keeps talking about?

Well, first, I’ve got a somewhat working version of the room creator I was talking about last time. I got the solution to the point where it did maybe 80% of what it was supposed to and then tabled it, since I didn’t want to get sidetracked for too long with nothing to show for it.

You can see that some of the logic is there, with it placing the walls and some of the tiles connecting the angles correctly, but there’s a couple of tiles that are incorrect and some that just aren’t getting placed. Part of this is just the order tiles are getting placed in right now: Since each tile has to fit with each other tile, the tiles that get placed first don’t have to meet as many constraints as the ones that get placed last, and often end up being incorrect. Obviously I have to iterate through the placement more than once, but how do I know when I’m done? How do I know which tiles I still need to match with and which are now outdated by the new placements on the second loop? This is probably a problem that’s been solved, so maybe I can look it up. That may be another reason why I set the problem aside – it didn’t seem urgent to solve any more, now that the remaining issues were relatively small and easy to describe. Most of the time, at least when it comes to programming, a sufficiently detailed description of the problem contains a solution.

After getting that sort of working-ish, I focused on creating the entity editor. Once I can build levels and place entities, I basically have everything I need to create a game. However, there’s a huge range in what constitutes a level and what constitutes an entity, and some big decisions need to be made in order to meet those simple requirements. Up front, though, I had a pretty good idea what an entity was supposed to be: I want an entity to be an object with, most of the time, a position, dimensions, and behaviors in the game world. With a bit of shuffling UI around, I came up with this entity editor:

The top bar is a toolbar where I can drop any entity I want to use more than once and save it for later. The top-right is an editing window where I can rewrite any of the entity’s scripts, and the bottom right a selection window that I can use to look at and edit any of the entity’s properties. What is going to be interesting as this progresses, I think, is that any one of the entity’s properties could be a script, could be a script that rewrites another property to be a script, could be a script that copies another entity into a variable which gets used by another script to spawn versions of that entity, and so forth. What I want here is a system that eradicates as many barriers as possible between creating, editing, and scripting entities. To begin with, I used an XML-based scripting language since that saved me a lot of the trouble of parsing the scripts, since I could just use Haxe’s built-in XML parser. However, I’ve decided instead to roll my own scripting language – after some misadventures in using a very full-featured Haxe parser, which I guess we’ll just consider research now, I decided that my needs were simple and specific enough that I should really just make my own.

While I initially considered making a new simple animation system, I decided that too much good work had gone into the EverEnding animation system to discard it completely. However, the rendering paradigm I used for that project was completely incompatible with the standards used in OpenFL – one of the big reasons I wanted to step away from that project for a while, since bringing it up to those standards was a huge logistical pain in the ass. This was, therefore, an excellent opportunity to work on something that could benefit both projects. The necessary approach was so different that, in the end, I had to fork the class, but when it comes time to work on EverEnding again I can work on integrating both versions together in a way that captures the strengths of both. For now, I have a fast and efficient way to render every entity I want to the screen.

Aside from this stuff has been some minor progress in other areas, like making decisions on what the tileset should look like, fixing bugs in the collision code, and making a rough character sprite for use in testing. However, if you’ve been following the project, you might have noticed streams abruptly ceased a couple of weeks ago, which is rather contrary to my original concept of the project as something which I worked on entirely on-stream. Unfortunately, I came to a point where a few aspects of my life and this project came into conflict with one another: As I alluded to in my Problem Machine blog post a couple of weeks ago, I tend to have sleep patterns which could be generously described as ‘erratic’. I’ve been trying out ways to restructure the way I live and work in order to help address this issue, and one of the biggest changes I’ve made is to try to get a few hours of work done immediately after waking up, before taking a shower or eating breakfast or anything. So far I find this approach tremendously beneficial, starting my day off on a good precedent and ensuring that even if later on I do end up feeling fatigued or depressed I still have a few good hours of work done, relieving much of the pressure to do work that was keeping me up later and later at night. Unfortunately, while it’s a bit stressful to stream myself work, and it’s a bit difficult to get used to waking up and working right away, the idea of waking up and streaming working right away is just too much to countenance at the moment. With time, this may be something I can approach – it may be helpful to get away from my conception of streaming as something where I need to have a constant running commentary, for instance. Or maybe I can just eventually get to the point where I’m more comfortable vocalizing my thoughts immediately after waking up. At the moment, though, trying to do two things which aren’t readily in my nature at the same time just felt like too much. Hopefully, in time, the dev streams will return. In the meanwhile I’ll probably continue streaming gameplay a few nights a week, though this past week I have been remiss due to fatigue.

That just about does it for this month’s update. Next, I plan to finish this scripting system, fix the remaining issues in the room generation code, and probably start building out the first few rooms and entities and some more finished looking art. I think by next update we may be able to start getting into actual content, rather than tools – but who knows what rabbit holes I have left to fall down?

The term role-playing is applied very loosely to games. Not only has it come to mean something completely different when used to describe video games than the pen-and-paper games that originated it, but it has drifted away from its obvious meaning in those games as well. Every game is about playing some sort of role – even when there’s no explicit narrative role (which there usually is), we still take on a role defined by the rules of the game – the role of the intelligence who places the pieces in a jigsaw or who builds the Tetris to eliminate four lines of blocks, the role of pitcher or quarterback or referee. This sort of role-playing is in many ways closer to the sort of play that which early RPGs were meant to capture, tactical miniature play inspired by the battles in the Lord of the Rings books, than what modern enthusiasts of the genre mean by the term, which is more akin to playing a part in a play – and, crucially, a part that one writes for oneself.

This is a topic we could dig deeper into, what role-playing has come to mean in different contexts, but at the moment I’m more interested in the way that playing a role, or choosing not to play a role, appeals to us. One of the core conflicts of my life is my simultaneous desires to have a place in the world and to not be constrained to do any single thing: These desires are flagrantly contradictory, and yet I feel them both frequently. At one moment I wish people would just tell me what they want from me, at one moment I wish I could pursue interests with no regard for what anyone’s expectations of me are. I can even feel both of these at the same time. It’s a sort of talent, I suppose.

Both of these, finding a niche in which we excel or choosing any path for ourselves and having it work out, are sorts of power fantasies, and different sorts of games like to cater to both of them. Whether these games are called “Role-Playing Games” or not has very little bearing on this. Most MMORPGs favor casting the player fairly narrowly, where they pick a class and have to play to the strengths of this class in a very specific way, while games like Skyrim are built to allow the player to do basically anything they want to with no negative consequence of any sort.

If you don’t like the role the game casts you in, you probably won’t like the game. If you don’t feel like the game gives you enough room to perform your role in your own way, you probably won’t like the game – in much the same reason people don’t like jobs that don’t give them any freedom to tackle tasks with their own methods. For a few days I went back to playing Team Fortress 2, and somehow there I have the best of both worlds – probably one reason I played so much of it. I have a list of 9 roles (or perhaps more, with all the ways equipment can change a class’s role) which I can pick at a whim. Maybe today I feel like getting into the thick of things and causing a lot of trouble, so I play Soldier, or I feel like moving around and harrying, so I take Scout, or I feel like being an asshole, in which case I roll Spy.

I usually play Spy.

Out in the world, though, we seldom are afforded the opportunity not to be defined by the roles we are cast in. Usually, in order to survive, we are forced to live the role we are given. Others of us, bereft of such a role, struggle to define ourselves in terms that are understandable to others, socially approachable, economically viable. In the end, we have to either accept a pre-made role, or learn to make our own – and, to make our own, first we have to have some idea of what sort of role could be both desirable and viable.

It’s easy to be led astray. I generally want to be an artist and thinking person, and what are the traits that we have used to define these sorts of people? Lonely. Mentally unstable. Self-destructive. We paint doom on our thinkers and artists, even though there’s no particular reason to believe in any real correlation outside of the feedback loop caused by this stereotype. How have these cues affected the way I live my life? How can I learn to define myself as a creator outside of this toxic worldview?

I can’t help but stand back and look at the motivations behind this toxicity. Who stands to profit from making artists believe they are worth more dead than alive? Who stands to profit when inventors are forced to sell their inventions for pocket change?

Those who have written the roles we are cast in may not have our best interests at heart.

I have been trying to fix the way I sleep. My general habit, over the last decade or so, has been to stay awake until I get tired, then go to sleep until I wake up. This is nice in that I sleep well and usually wake up feeling okay, but sucks in every other way – you know, employment, access to services, respect in the eyes of the world, that stuff. Left to my own devices, I tend to gravitate towards days that are a bit longer than 24 hours, and slowly cycle around the clock, bit by bit. It’s difficult to schedule this way, particularly more than a week away, so the first casualty of this approach is any sort of temporal work discipline. When I was younger, if anything I actually wanted to do was happening at the other end of the clock, I would just stay up later or wake up after a few hours of sleep and still be basically fine. Now, I’m tired for a few days afterwards when I try to do that. It’s become clear that, as long as I have to interface with the outside world in any way, drifting carefree across the clock won’t work out.

I’m trying to diagnose how this happens. It’s not insomnia the way people normally talk about insomnia, because I don’t usually have difficulty getting to sleep – I have difficulty wanting to go to sleep. Sleep is like physical exercise, in that I expect I’ll enjoy it know that it will be good for me but, still, when I think about actually doing it, I tend to reject that thought, to avoid and procrastinate as much as possible. Once I procrastinate on going to sleep once, though, it takes me longer to fully wake up the next day, which means it takes longer to get work done, which means I have to stay up later, and so on and on, a vicious cycle.

However, I’ve begun to suspect that, more than I am avoiding sleep, I am chasing the sensation of sleepiness. The sensation of being awake past tiredness, being just a bit frayed around the edges but still aware, gives everything a heightened sense of importance, of significance. Waking up sleepy, too, slowly coming up to speed while sipping at coffee, has its own appeal, such a time of gentle rest. Even aside from these pleasant states of tiredness, I also tend to have an adrenaline reaction to being tired, so at the same time as it can be fun and exciting to make myself tired, it can also be difficult to tell when and how I’m actually getting worn out. Tiredness has become a set of sensations I am hooked on, but also a set of situations and behaviors I identify with so strongly that it only recently occurred to me that this might be something I was doing to myself intentionally.

Even when it started to seem less than healthy, I still resisted the idea of fixing my schedule. It felt like a capitulation to a world not really set up to handle people being awake at night. The idea of day and night as times being specifically set out for work and not-work seems very old-fashioned to me, still, and I don’t really like playing into it. Realistically I know everyone has their own schedule, and we’re all just trying to work together and put together a system that mostly works, but I still resent being the one who has to change. This is one reason I like living in cities: They’re actually set up to handle people who are awake at 4am and want to get order a pizza or get some grocery shopping done.

I think the reason why I avoided sleep, though, is because I resent the idea of time where I can’t do anything – can’t work, can’t create or learn or play. It’s a hard mindset to get away from, but it’s also entirely backwards: If you want to work in a way that is effective and enjoyable, the way to do that isn’t to sacrifice as much time as possible at the altar of Getting Shit Done, it’s to shape yourself into the sort of person who that work flows out of with the minimum possible lost effort, establishing a mode of existence that is satisfying and sustainable with the work you do flowing out of that, as much byproduct as product. We like to position what we want and what the world wants of us as in opposition, as a relationship of give and take, but there’s no reason for that to be the case.

Still, it’s a work in progress. I try to get more done earlier so I don’t need to stay up late to do the same amount, I set deadlines past which I don’t allow myself to work more for the day, I take melatonin to try to help myself get to sleep and set up lots of bright lights in my room to try to help myself stay awake. It feels like it’s getting better.

And yet, sometimes, I want to stay up late, later, latest, early. It feels like time travel. It feels like magic.

I don’t consider myself exceptionally awkward in social situations, but I don’t think I’m particularly comfortable in them either. Much of the time, particularly in emotionally loaded moments, I have no idea what to say – no idea what an appropriate sentiment is for the occasion, no idea how to express something that isn’t hollow or tone-deaf. My usual tendency when I don’t know what to say is to say nothing, but sometimes nothing is just not an okay thing to say, and that tends to be when I run into issues.

These sorts of ambiguous situations, where anything could be expressed and all expressions seem insufficient, exist everywhere in life. However, when we make games, even when we try to simulate some aspect of life, this ambiguity is flattened. Dialogue is expressed through branching trees of pre-written choices, or in more ambitious attempts through some text parser or abstract sentiment generator – in the long run, no matter how the player expresses the sentiment, it is interpreted by a machine, chopped up into something quantifiable for the game’s systems to react to. There is inevitably a Right Choice, a correct thing to say in that circumstance to progress the game, to get the ‘good’ ending, to see the bonus cutscene.

Dialogue, in a game, is a control mechanism, not communication – or, if it’s communication, it’s the game’s designer speaking to you rather than you speaking to the game. You don’t care if the game understands, you don’t care how the game feels, you just care about how it responds to your input. It really isn’t much like speech at all – which is fine, it doesn’t really need to be, but having it constantly presented as speech, being treated as though the player is genuinely expressing something in the way they would to another person, probably has some strange effects on how we understand speech to actually work.

This, though, is just a specific instance of the process of disambiguation that happens when we try to emulate the vast mess that is reality in our goofy little electronic worlds. To play, as a child, is to imagine scenario after scenario with no logical connection or overriding ruleset – you have been shot, but you are bulletproof, but the bullets are armor-piercing, but you’re actually bulletproof times infinity plus one. To play in a video game, though, even an open-ended one, means that there must be a logical connection from one moment to the next, since the game, being a computer program, has to operate on logic. There’s still lots of room for self-expression in a well-made and open-ended game, but the fidelity of that expression is mediated by the granularity of that simulation. Or, at least, the fidelity of the part of that expression that exists within the game – because there’s also the part of that expression that exists within the minds of the players, and that could be as unbounded as ever. In theory, at least – do kids pretend they’re pirates in games that aren’t about pirates? Ninjas in games about vikings? Wizards in games about soldiers?

Maybe that’s why we like to play games, though. The infinite possibility and ambiguity of life and human interrelation is incredibly overwhelming. How relaxing it is to be provided an environment where only a few choices can be made – and, even if those particular choices end up being wrong, they are wrong for reasons which are explainable and quantifiable, albeit sometimes quite complex. The games industry keeps trying to make games look more and more realistic, though, while maintaining this simplicity of input and response, and it builds a myth – a myth of a world where each action and consequence is mapped directly and predictably, and anyone who’s clever can find the action and the consequence. The ‘Just-world hypothesis‘, the belief that everyone gets what they deserve based on the actions they have taken, is much easier to convince yourself of if you can build it on a belief that every action and reaction are directly mapped, straightforward, and quantifiable.

If the causal relationship between action and reaction is completely predictable, any suboptimal outcome can be blamed 100% on poor decision-making. Every tragedy becomes a justification that bad things happen to bad people, where in this case ‘bad people’ means people who have made any choice that is subsequently followed by a bad outcome. In this way, games as they have traditionally been structured have a radical conservative bias.

Maybe there’s some other way for them to be structured – but without some huge leap forward in technology that creates worlds too complex for predictable causality, or some sort of ongoing responsive content created by another person (as in a tabletop RPG), this is always going to be a sytemic bias of the technology. The only way to push back against that is explicitly through the content of the game, and that’s going to be difficult to do without alienating players, since rewarding ‘optimal play’ is a foundation of game design.

I’ve been having a rough week or so, in terms of motivation. It’s been difficult for me to get much done. The silver lining to this, as much as there is one, is that it’s an opportunity for introspection: A life, lived day to day, has a mechanical aspect, where each activity leads one to other activities, each pursuit fuels other pursuits. Any time the machine of a life fails to produce the desired results (such as a happy and satisfied body and mind), it provides a glimpse into the machine. Something that’s running perfectly provides no data to diagnose, and thus difficult to improve: Something that runs unreliably, and provides interesting problems when it fails, provides a wealth of data with which to foster its improvement.

This isn’t particularly encouraging, when one is otherwise feeling like crap, but at least provides something to think about.

One brain malfunction, which I think everyone has some degree of familiarity with, is not doing things which you know will make you feel better, and which you even will probably enjoy while doing them. The longer you put them off the worse you feel about not doing them, until every positive association shifts towards a negative association. The importance of habit and routine is the ability to keep this destructive feedback loop from forming in the first place. Habit and routine, though, will always eventually be interrupted by circumstances. By themselves, they can only carry you so far.

The problem is, any positive association, any joy you take from an activity, can become inverted incredibly easily. For a long while I was walking a couple of miles a day just to keep from becoming too inert and to give my mind some space to work. I enjoyed these walks – and yet, once the habit was broken, I didn’t pick it back up. Examining it now, I think that it was partially the enjoyment that made it a difficult habit to keep – because how can I do something I enjoy, that takes a significant amount of time and effort, when there’s so much else around that I need to do and that seems so important?

And yet, without the momentum of pursuing enjoyable activities, what do I actually do with my time? Mostly sit around and do even less active things while picking away, bit by bit, at the tasks I actually need to do. The enjoyment of the task, which should have made it easier to perform, has been turned around against me, made it something that is in between a guilty pleasure and and empty chore, at times taking on properties of either.

Aside from the feedback loop that can sour my relationship with activities I enjoy, there’s the feedback loop that can sour my relationship with myself. Say there’s an activity which I still enjoy, without any weird guilty overtones or counterproductive reward mechanism. When I start feeling really shitty, it’s hard for me to reconcile the image of an enjoyable task with the image I have of myself. I don’t think it’s accurate to say that that I feel I don’t deserve to do things I like – more that the version of me who feels this way doesn’t have much in common with the version of me who would be doing those things. This disconnect seems wider and wider the longer it goes on, and again can feed upon itself, pushing me further and further from doing the things I think would make me feel better.

As each of these mechanisms progresses to make me feel more isolated and unmotivated, I start feeling worse and worse about not getting things done, and about the rapid pace I’m not achieving. I start thinking about how much great work other people have gotten done at this point in their life or about how much better at some particular skill someone else is and I get utterly frustrated with being so imperfect. This, too, is an impulse which, when properly controlled, can be very beneficial – I think I’ve learned a great deal from the mindset that I can always improve, and to always be able to respect and learn from the accomplishments of others – but when it gets out of control, nothing I can ever do will ever be good enough to satisfy me. This is probably exacerbated by the lack of recognition I generally get from elsewhere, but I think even if I were some sort of famous and respected genius I would still feel the same way… Sometimes, at least.

There may be other mechanisms at play as well, which I haven’t noticed enough to comment on. I feel better already, actually – perhaps writing this helped, or perhaps having the clarity to write this is merely a symptom of the natural ebb and flow of emotion finally going my way. Either way is fine. Hopefully the insight I’ve gleaned into my own inner workings by the trip will be helpful – sometime in the future, maybe, maybe for you, maybe for me.