Where We Were
A little bit more than a year ago – actually, almost a year and a half ago – I decided to put EverEnding on hiatus in favor of working on a series of monthly projects. This worked out for a while, but before too long I was having a harder and harder time building anything significant up by the end of the month, a harder and harder time staying motivated when it seemed like I just kept finding new ways to not make anything substantial. I quietly dropped the monthly project component of the Patreon shortly after completing the album last year – I figured it was better to not promise than to be unable to deliver.
I quietly picked EverEnding back up and started working on it around six months ago, but this time rebuilding the project in Unity. I resisted this change for a long time, mostly because when I started this project Unity’s support for 2d graphics and flexibility seemed to be insufficient for what I had in mind, seemed to present obstacles that I would struggle with and be distracted from the main work of completing the project. This was, in retrospect, the wrong choice – though I certainly would have had to struggle with Unity, the fact was I had to struggle with Flash/AIR a lot too, probably a lot more, and for less impressive results.
I’m not sure why I felt so strongly about these bad decisions, why I didn’t take a week long ago to explore what I could do in Unity and how it would compare to what I was doing already. Perhaps it was fear of having wasted my time – the result of which being, naturally, that I’ve wasted far more time. The fact is, though, that the Flash/AIR version was never what I wanted the game to be. Even before making significant progress, I had dreams of an HD version that used sprites much nicer than the inept pixel art I was forced into due to the limitations of Flash/AIR – or perhaps the limitations of my understanding, but limitations in either case.
So it’s happened. I’m remaking the game, redoing massive amounts of work, throwing away even more. It’s somewhat upsetting. It still feels like I’m stuck in slow motion, and that the shape of the project barely changes from week to week because there’s still so much work to do, but there’s one crucial difference: The game that is getting made now actually looks like what I imagined when I envisioned it.
I also walked away from the monthly project experience knowing that, though I may struggle much of the time, I can sometimes create substantial works within a month-long window. While I’d always broken the game up into chapters, I’m now considering each chapter to be a month-long (or, in some cases, 2-month or 3-month-long) project – eventually. Right now I’m still working on getting basic functionality and character animations into place, working on constructing a foundation to build off of.
If I were a stranger reading what I was writing now, I’d be rolling my eyes a bit. Of course – this time it will be different! It won’t be like last time I said I had a plan, last time I said I had deadlines to hit and last time I said I would work to have chapter 1 finished by the end of the year. I can’t help but notice, putting together the samples for this post, the long line of old samples, old components and demos, stretching all the way back to 2012 when I started it. Almost 8 years ago, now, that I’ve been working on this project. What the fuck? There’s clearly something wrong with my approach. Each year passes and I get no closer, and I repeat myself, and I repeat myself repeating myself. What can I do? How do I know this time will be different? How do I know I’ll do better, get closer, move faster?
I don’t. I can’t. I’m just doing my best, trying different angles, testing approaches, seeing what works, and hopefully getting a bit better every time. I want to finish this project – not merely to have it done, but also to feel okay about moving on to other projects. The only way to do that is to move forward, one step at a time.
Where We Are
Rather than dwell on all the things I haven’t done, or the things I’ve done incompletely or still need to do, let’s talk about some of the things I’ve done since I restarted the project. I’ve been focusing on getting foundations and special effects done so I don’t have to worry about them later: Foundations I’ve completed include collision, which I had to basically redo from the ground up because Unity’s default colliders weren’t suitable and I was no longer working off of the tile system that a lot of the old collision system was premised on, player movement which I could mostly copy from the previous project with minor tweaks, and the camera system which I was able to quickly use Unity’s Cinemachine package to make a decent version of.
Additionally, and this was the most significant challenge, I found Unity’s default animation tool MecAnim to be unsuitable for 2d animations, since the tools that provide smooth transition between different 3d animations were useless and the transitions didn’t provide a lot of the tools I was used to having from my custom animation tools from the earlier version of the project – so I built a new animation system. That is to say, I built a new system on top of Unity’s system to handle the conditional logic for playing 2d animations. The difficult part of this was learning how to modify editor windows in Unity, which uses a completely different paradigm than I was used to from working in Flash and which I had to learn a more complicated approach to than most available sample projects online use. There’s still some bugs in this tool, and probably a few features to be added, but once I complete it I will probably add it to the Unity asset store, since I expect it to be useful to others as well – though I’m not really sure yet how to make it discoverable to those who might make use of it.
These are all things that needed to be done before any significant progress in developing the game can happen. In addition, I’m still working on creating the fundamental movement animation set – those animations which will let me see the character move around in the environment and play-test in a somewhat finished way. These probably don’t technically need to be done before I can start building out the in-game environments, but if I want to pursue this series-of-vertical-slices approach to building the game they are an obvious starting point.
In addition, I’ve built a couple of special effects that are probably going to feature heavily in the project, especially early on. I’ve created a particle effect for grass blowing in the wind and a special set of shaders for a 2d water effect that will be necessary for developing the first areas of the game (examples of both of these are viewable if you click the preceding text).
Where We’re Going
In the immediate future, for the first vertical slice, I’ll need to:
-
Player Animations:
- Crouching left/right
- Standing left/right
- Stopping (after run) left/right
- Turning left/right
- Rolling left/right (maybe)
-
Version of the first area (visible in the screenshot at the top of this post) that’s not a single background image and actually contains multiple elements that can move independently of one another.
-
Chop up the tree component and rig the branches up as kinematic springs, so that they can sway to breeze or other movement
-
Particle effect for the surrounding chunks of stone during the intro
-
Sound Effects:
-
Grass footsteps
-
Grass landing/jump
-
Earthquake
-
-
Basic menu system
- Volume settings music/sound
-
Rendering settings template
-
Control rebinding placeholder
-
Quit game
-
Simple music playback behavior
-
System for displaying timed text during the intro
-
Intro text
-
Record VO to accompany text (maybe?)
I was going to follow this up by including a breakdown of what’s necessary for the next vertical slice of the game, being approximately 1/3rd of the first chapters of the game, but it ended up being far too much information to conveniently include here. Suffice to say the second of these vertical slices is going to be the real obstacle, and is probably best approached as a three-month project in itself – and even that’s optimistic. That being said, it’s probably the biggest hurdle and the single biggest component of the project, so future vertical slices should go faster if I can get it done. I may end up attempting to vertically slice this vertical slice to try to get it down to one or two months.
In the meanwhile, I’m going to be trying to get this list complete by the end of the month, and hope it all adds up to something close to what I’m imagining. I haven’t decided yet if I’ll release these as playable builds to patrons or just make gameplay videos or perhaps some staggered deployment of both – still considering how to actually put this project out into the world. This is all daunting to keep in mind, but I’ve at least caught the tail of what I’m trying to achieve.