Archive

Life in the Machine

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.

Advertisements

The relationship between power, success, and ethics is a tricky one. We’re all expected to try to achieve success in our chosen fields and, though to some degree we define it differently from field to field, in large part ‘success’ always boils down to earning money and/or the respect of one’s peers. Both money and respect, though, come with power and influence, frequently influence which we cannot choose not to wield – at least not without also yielding our hold on success, and who knows if we can ever get that back? So, then, to become successful is to take on a moral burden, that when we exercise this power – which we cannot help but do – that we be mindful of the help and harm we might deal.

It is strange, to me, that we expect everyone to attempt ‘success’ when it has so much potential for harm, that we think less of those who do not. I’m personally not wild about this dangerous potential that fame and fortune harbor, but I’m not thrilled about the rewards of obscurity and poverty either.

We don’t talk much about the responsibilities that come with the power of achievement, which is probably why so many seem to fail to notice those responsibilities exist. There are many out there now trying to become ‘influencers’ without considering what they might do with this influence. This myopia is beneficial to those who would utilize these influencers, for advertisements or propaganda of one stripe or another, and detrimental for everyone else, since an influencer who fails to in any way account for the content of his or her influence tends to vent a lot of humanity’s worst brain garbage on those they influence. And, of course, those they influence tend to be those most vulnerable to outside influence, which boils down basically to those people who already inclined to agree with what they’re saying and children – who mostly agree with anything that they hear early and persistently enough.

If there was a college curriculum for this sort of career path it would be high time to integrate ethics classes into it, the same way ethical engineering classes became a priority after the invention of the nuclear bomb. More traditional creative educational programs would probably also benefit, except that the arts and humanities tend to already contain various morals and parables. You cannot learn about fiction or history without learning about action and consequence, without learning about butterfly effects and wars lost for want of a nail.

This is not an especially fixable problem at the moment. The problem rests in how we’ve defined success as influence, and then made each individual’s survival and prosperity contingent on realizing that form of success. This isn’t even entirely a problem with capitalism, although the close ties between artistic success and financial survival aggravate the situation: As long as we have an economy of attention and respect that only recognizes artists with wide reach as successful, we’ve created a scenario where everyone who is successful will have wide reach, whether they wanted that reach or not, whether they can use it responsibly or not.

We’ve decoupled the desire to become a leader from the skills and responsibilities of leading. Perhaps all we can do for now is convince as many as possible to stop following – or, as it were, unfollow.

Games are about progress – I can state this with some confidence since it’s a natural outgrowth of games both as narrative works and games as systems which generate results from input. Even games that are technically endless are built on this idea of time passing and things changing and of dealing with whatever emerges afterwards. However, let’s disregard narrative progress for the moment – after all, moving the plot forward is in no way a concern unique to games, and most of the techniques used to do so were established elsewhere. Let’s also disregard the progression of player skill, since all the game designer can do to affect player skill progression is to give that player an interesting space in which to develop those skills, and tools to understand the necessary steps in doing so.

With those two safely out of mind for the moment, let’s talk about Power Progression: Leveling up, finding sweet loot, going to a skill trainer, whatever. There’s a lot of it in games now, much more so than there used to be: Early arcade games were mostly about player skill progression, though they did have a few levels and some nominal narrative which also were progressed. Still, the future that the player imagined when they played those games was not that of a thrilling conclusion or a cool super ability, but becoming better at the skill of playing the game. Power progression really started taking off, though, when it became possible to save a game in progress. Buying items and leveling up became a lot more appealing when those items and levels didn’t disappear whenever you took a break or had a power outage. Players loved it, because it gave them an extra reason to come back, a sense of having invested something into the game which they could recoup later. Designers loved it because it gave them a long-term design space to work with, where the way the system interacted evolved over time.

The Problem emerged when the suits started to love it. Capitalists love power progression because it makes games addictive, incentivizes players to drop extra money in, and incidentally serves to reinforce the propaganda of capitalism: Stick with the system, work hard for the system, and eventually you will be rewarded. It turns out that, like adding a nauseating amount of salt, almost any game can be cheaply made more compelling just by adding some sort of long-term progression on top of whatever game is already there. A sense of progress is an easy emotion to exploit, because it makes even activities that are soulless and unappealing feel worthwhile: Most of the tech sector is founded on selling a sense of progress, even though the objects that are supposedly emblematic of this progress are trinkets of questionable utility at best and Looney-Tunes-esque smart house paranoia fuel at worst.

So we add upgrades and levels and purchasable boosts to upgrades and levels and we add prestige and unlockable skins and so on and so forth, just to make the player feel that their time-wasters aren’t wasting their time. That this time is an investment.

With this all in mind, the sort of power progression you want to put in your game becomes quite a pressing question, one that interrogates both what experience you want to impart to the player and what is an ethically sound way of offering that experience. Even if not quite as dystopian as some of the free-to-play scenarios we’ve already seen play out, the tendency of RPGs to sub in progression of the player character for any meaningful player skill progression and, in the case of MMORPGs, any meaningful plot progression as well, also raises questions of how many of these empty calories can we feel okay about feeding to players.

This sort of player progression faked through creating a more powerful player avatar could be taken so much further, to an extent that’s creepy to think about. Like an inversion of the adaptive difficulty systems that were trendy in games a while back, you could design a game that quietly became easier and easier the more it was played be the same person, perfectly faking the experience of them improving. With thumbprint and facial recognition and constant internet connections, you could even make it so the game matches difficulty with its player across devices – you could make it profile the player’s play style to sense discrepancies in case you tried to spoof it. Imagine a version of Super Hexagon that slowly went slower and slower the more you played it, like Mrs. Twit in the Roald Dahl book The Twits, who is fooled by her husband into believing she is shrinking when he gradually elongates her cane and the legs of her chair with little slivers of wood. Once there’s one such game, there will be many such games, making the sense of progression we feel from experience points feel negligible in comparison. We’d be fooled into thinking we were giants. Everyone would be an expert, regardless of expertise.

The scariest thing about this future is in some capacity I feel it has already come to pass.

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’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.