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?

Advertisements

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.

I want to be good at things. Obviously I would like to be good at art and music and such in order to make good art and to make money to support myself – and, yes, there’s the darker aspect to it, that I described before, where sometimes we improve ourselves just so we can consider ourselves better than other people – but I also just have a need to be good, or to keep becoming better until I find out what good actually is. I want to be an expert. I want to be a pro. I think expertise might be a carrot that’s dangling from a stick that’s tied to the back of our heads, that keeps step with us no matter how fast we move forward – and yet, once you have it in your sights, it’s hard to back down.

I’m not sure where this need actually comes from. Perhaps it’s part of how we’re wired, a need to feel useful, a need to feel that we are contributing to something. Perhaps it’s part of our capitalistic culture, demanding that at any moment we prove our value, prove our worth as an asset. Or, I guess, maybe we just feel a need for a purpose, some sort of guiding premise to our lives, some sort of narrative thread, and being an expert in something seems like the most approachable way to manage that. I don’t know. Whatever.

So, for a certain period of time, a decade or so ago, video games were constructed as primarily a way to feed this need for expertise and mastery with empty calories. For a certain period of time, we decided that all games had to be fun, and that ‘fun’ meant that they made you feel like you were amazing. The standard format of the video game was a simple, easily learned and mastered challenge, presented with a layer of fiction that portrayed it as some amazing and rare skill. Most games are still like this to one degree or another – even a difficult game like Dark Souls is still much easier to complete than it would actually be, presumably, to go on a quest to beat the shit out of an aging deity.

I am very glad that video games aren’t made to this specification any more. If they were I probably wouldn’t be playing them, and possibly wouldn’t be making them. If I was still writing about them, my already-notably-grouchy writing would be far grouchier.

Once you know what empty calories taste like, in terms of expertise, it’s hard to be satisfied with them. You want to become actually good at something, which is much harder than just buying a machine to tell you you’re good at something. Perhaps the most difficult part is that, in order to improve at a skill, you have to accept that you have room for improvement. In order to learn, you must accept that you are not all-knowing. In other words, in order to obtain expertise, you must abandon the idea that you’re an expert.

This remains the case even if you are, in fact, an expert. This part of the process doesn’t change. As Socrates suggested, you must be wise enough to admit that you know nothing – at least, nothing relative to what there is to learn, which is an awful lot.

So we say humility is a virtue. There’s nothing wrong with being proud of what you’ve accomplished – actually, it’s also an important part of the process, because pride is what drives you to define a ‘better’ to strive towards – but being humble enough to know that you are imperfect and can still improve is necessary as well. Know that you can do things others cannot. Know that others can do that which you cannot.

If you refuse to do that, you are trapped, and will never find a place beyond the one you’re at right now.

The new project is underway. I frequently miss working on EverEnding, and so far I haven’t gotten to do the sorts of things I really came to this project for, but I’m also getting really excited about some of the ideas I have for the future while I lay the necessary groundwork to proceed.

So, what have I been working on? There’s a lot, really. I got the basic collision system up and running, though that part is still glitchy as hell. I’ve created a simple but potentially very flexible scripting system which I’m going to use for all entity behavior in the game, which is going to make modifying entities in the editor largely a matter of literally copying and pasting the behaviors I want between entities and should make saving and loading pretty straightforward. However, the bulk of my time so far has been taking up on developing tiles, tools and editors for using them, and an understanding of how they’re going to be implemented in the game.

This is the tileset I’m testing with right now. It’s pretty ugly and rough around the edges, but right now I’m just trying to figure out a way to make all the tiles that I need for the game world fit into the minimum possible amount of space in a format that makes some degree of visual sense. If you do any art yourself, you may have noticed that the perspective here is, to put it mildly, kind of messed up. I’m working off the model established in the tilesets of the early Legend of Zelda games, particularly Link to the Past. The angles don’t really fit together or make sense, but it still creates a cohesive space for the player to navigate without obscuring anything the player needs to see. In the long run, the Escher-esque nightmare presented by this kind of world design may work in my favor, since I want the world to seem kind of surreal – but more on that later.

The big issue I’m facing at the moment is creating a tool to automatically fit these tiles together. There’s a small immediate and a big future reason I want to do this: The small reason is that figuring this out will allow me to build tools into the level editor that let me really quickly make rooms and connect them in a way that looks natural without having to individually place a bunch of tiles. The big future reason is that eventually I want to be able to generate rooms entirely using code using the same algorithm, and create procedural environments for the player to navigate.

That segues nicely into what my plans are for the project. Actually, none of these are plans yet, these are just ideas for now – plans will mostly wait until I have a playable chunk of game and can begin making hard decisions about what works and what doesn’t, what’s feasible and what isn’t. The setup I want to explore, here, is being trapped in a big creepy house – there are other people here, and it’s a bit up in the air how long they’ve been here. Some of them talk like they’ve been here a few days, some of them seem like they might have been here for centuries. Everything is blocked off in different ways though, bricked and boarded up, papered over, hidden behind secret passageways, and in order to begin to find your way out you need to explore and find tools both to open up passageways and to fight off the creatures that have taken over parts of the house.

That’s the basic idea. Let’s call that tier 1, where I just make a little Zelda clone and call it a day.

Here’s a more interesting version of that idea that I’ve been playing with. There aren’t monsters in the house, but in order to actually make progress you find different beds to rest in. Each bed you rest in puts you into a dream where you play as whoever the bed belonged to, and in reliving their story you can perhaps change it, and by so doing change the state of the house. Or maybe you just find the tool you need in the dream and bring it back directly, or perhaps you are able to recruit an NPC by telling them something they’d forgotten a long time ago. The dreams, of course, are infested with weird nightmare monsters, and you need to be able to defend yourself in the dream, so procuring equipment is still necessary.

That’s tier 2. This would be a much more substantial project, but I think there’s room to do some interesting things here.

I have an even bigger idea, though, and this is one that could get really out of hand. Take tier 2, but each dream world contains other beds, and you can keep pursuing nested dreams deeper. Past one or two levels, dreams begin to be procedurally generated, but the resources you get in each dream can be brought out of them and used to progress through the next. The game becomes an adventure game containing a roguelite, where progressing through the roguelite sub-game allows you to progress naturally through the world of the main game. Eventually, perhaps, getting lost in these many nested dreams could become a genuine danger.

Tier 3 is fun to think about, but for now I have to focus on tier 1 – or, really, tier 0, which is building the toolset that will allow me to build tier 1. That’s where I’m at right now, but if progress continues at this rate I should be able to have my toolset done by the time of the next devblog and can really start building out the most basic version of the game.