The TLDR: The project reached a milestone, there is a sneak peek video, and the game will be released ASAP. If interested, find out more below.
(Link if video broken: https://youtu.be/Zz6rjqN9EMs)
You can whislist the game here
To recap
Seven-long-months have passed since the introduction of the project (under the) codename Debrii (see previous video: https://www.youtube.com/watch?v=DdRjHRwnW8w, and previous blog: https://www.gamedev.net/manage/blogs/5714/edit/2272005/). The initial idea was to share more of the process–partially–as a way to gauge interest, however, that notion quickly got thrown out the window, for numerous (unfortunately more pressing) reasons; and simply there were no capacity left for "promotion". Some of these matters may or may not be called out (for my own sake), and mostly the entry will try to tap into some of the technical and soft "variables" of this production.
The hardware
As the project was born out of necessity, after ousting a scammer investor (from the last project, which got cancelled), there was little to do or think on what-to-do-next; had to be quick and use what was available at the time. Thus once again was immediately hit by the harsh realities of life, and having to be a laughing matter for all. Having to use an under-powered, old and limping development kit was just icing on the cake, which personally doesn't concerns me much. However! Realistically, chances are that your art will be tossed away as soon as it lands on social media; for not having to meet a certain level of aesthetics.
This time was yet another defeat that somehow needed to be digested, in a(n ongoing) climate where nobody believed in my person, and all that was around me was pure hatred . . . But that's beside the point, and matters not. What mattered that everything went back to square one. Which was a familiar blessing in disguise–supposedly-as it kept the project tight, and somewhat manageable–or so I thought, in regards of technical problem-solving. Albeit, this time things got out of hand–the opposite way–and the initial design suffered from such heavy feature reduction that midway through some had to be made up in compensation; as fears were that there weren't enough content to begin with (which worry still persist).
The then unfamiliar mobile environment meant that major (crucial) engine features had to be axed (such as proper dynamic lighting, especially for environments) and mechanics had to be kept to even more of a minimum (to avoid the overhead of scripting, which is still incapable of replacing C++, and most of its features, thus cannot be used in production; well . . . shouldn't be used for heavy game logic). This was more of an issue, despite pulling off some tricks before (like generating massive hexagon grids), as technically the tools dictated what type of game can be done (and not what could be done): To somewhat counter the pale/flat looks of the 1990-2000s, some old tricks had to be used sparingly. Last but not least, there was the device itself–the one that the game was developed on–that had its own, even more limiting arsenal.
The engine
There were some major (almost project-ending) roadblocks along the way, in the form of restrictions and unresolved bugs of the mobile branch and the editor itself. The prior meant that a lot more research, head-scratching, and panic had to be done, to circumvent the insurmountable. To give you a few examples:
- The omission of particles systems required manual animating (which required a separate pipeline)
- As shader animations/complexity had to be kept to a minimum not even static grids could be used (to fill in the background) otherwise risk tanking the frames (with one exception that's been left in)
- All lighting had to be done in textures only to mimic somewhat of the rays of the Sun, transparency had to be cut to a minimum and be used mostly on static objects (or replaced by opacity masks)
- Not owning an Iphone meant that there isn't any official testing platform to begin with (which is mind-blowing in its own)
- Code had to be even more optimized than before, despite having less time to do so.
- Not being able to use structures!
- And so on . . .
Some, if not most, were obvious beforehand (having read some articles on the subject), but some weren't included in the briefings, and by far the biggest of all, which initially took a solid month and some change to come up with and fix (and way-more after), And-And-And single-handedly almost derailed the entire project was: Fixing the issues with scroll boxes (they consume the cursor no matter where they are-if its above the object-in matters of layering), buttons (sticky ones), and rotation/scaling of UI elements (rotating and scaling an element doesn't work together, as in it cannot scale proper), and having to faff with UI tick geometry (which most of the time never seemed to work, but now have a general understanding of). Discovering all this quadrupled the scale of the project (coding) and ultimately meant that mostly, apart from a tiny bit of C++ (for the quaternions), almost all objects/features seen in the game had to be painstakingly-remade-by-hand (e.g.,: touch functions/routines, camera blending, custom saving/loading/cleaning routines, UI animating (interpolated transitions), scroll boxes, etc.)
The most noticeable "feature" is that the game had to be chopped up into two separate pieces: One for the landscape (main menu) and the other for the portrait mode; they all have separate architectures. In many others cases, time was spent (two or three days, often a week or more) to implement simple functions, because of the scope and the complexity (which has never reached such heights in previous projects, and needed to be understood fully almost each time they've been modified). Coming to now, the game, which meant to be somewhat a tactical one, now solely feels like a UI only experience (of which work has solely been done on, for the last two to three months); and might call it simply UI Simulator 2000 (on a more serious note tho', had no idea that most of the time will be spent on coding the UX, and not adding “useful”features).
Furthermore, oftentimes previous systems that thought to be rock-solid, broke down unexpectedly (especially at critical development junctions/testings), causing great anxiety and disturbance. My limited programming knowledge didn't help either, on top of random glitches in operation and compiling (e.g., ghosting, where the game would run, with wrong or no code or from the previous iteration, for some reason). At times it felt like a pig fight, in deep-dark mud.
The idea, the scope
As mentioned before–a lifetime ago, in a previous entry–codename Debrii was inspired by the original UFO defense (X-COM), and some other old-school 4x games, which seemed like a fitting idea for a one-person job . . . Have to admit that despite working on various projects before, and actively using the engine prior for over two years, the sheer scale of (hair-tearing) issues were something that even my seasoned soul wasn't fully prepared for; the latter further reinforced my notions of keeping it simple (of which had to be altered pretty quickly, again due to outside pressure).
Nevertheless, the idea was to save the planet, from an oncoming threat, but with a somewhat different approach. That's when the idea of hunting asteroids came to be (but not just a full-on shooter/arcade style that you'd be otherwise expect). Not because it wasn't explored a million times before, or ran to the ground, but for reasons (hopefully) people will understand.
[Side note: Was especially interested to find out, how a touch-based defender would work out, and to see how new approaches could be implemented to create a semi-tactical experience.]
The design: The perpetual crunch
Some–if not most–of the development experience goes beyond the scope of this entry. And in all earnest–it's probably for the better–as this isn't the time, nor this isn't the platform to discuss such personal matters. However, felt compelled to share some aspects of it, as the design–generally–stemmed from my current and ongoing situation.
First and foremost, there was no design document, nothing at all (apart from the initial "would be cool to point at rocks, and send a rocket to destroy them" sort of thing). The issue with this was that when the project started, it was initially proposed to be a four to five months long project (with possible extensions, depending on how things went; as always the limits were the stars), thus having a blueprint of where to go would've been nice to have–well . . . essential. This meant that everything had to be improvised, made up on the spot, which inadvertently introduced a spiraling psychological pressure that went against my core beliefs as a creative, and highlighted the realities of nowadays'. Point is that, as mentioned above, it being born out of pure necessity (being in a continuous crisis: having one foot out the door that is; so-to-speak), on top of an extremely difficult and already demanding life (what gives me strength to create, is deemed non-existent, yet be used instinctively against me) gave a rather grim and dark tone to the game and design; it might be too difficult to play even (without not cheating that is).
From day one (and at least two years before that, while I was hoping to join the industry; and others before), the project "inherited" my grueling working hours (from dawn to dusk), or often more work per day schedule (in hopes to circumvent the loss of progress). Each-and-every-day, only to be reinforced by weekly/daily reminders of threats and unrealistic demands. Which all-in-all made their imprint on the story, the difficulty (as mentioned before), and contributed to the paleness of all.
There was never time for art to be designed, which arguably butchered some of the aesthetics of the game (in my opinion), as the anxiety of a perpetual nightmare was always present: Where you have–literally–five to ten minutes to come up with an idea/feature/etc. (e.g., coming up with a simple art for a UI button, or code a "simple" maze generator), as you've then have to spend hours/days to create and implement said items, and once done, there's no going back (only in the rarest of cases); just to have something to show, to keep the production going . . . All the while, making sure that there's some level of quality control, and things doesn't look as it were designed by a toddler. This all gave me that continuous feeling of having to fear from Damocles' sword.
Closing thoughts
It's demoralizing to say, but none of this was new, in fact were expected; but not to this extent; not in this shape it should be said (despite participating in personal game-jams that caused temporary damage, or the directing of a video where a team had to be pulled together from nothing with nothing, and other often more challenging projects that pushed my limits and my art, and so forth). Yet, in a twisted way, this whole exercise managed to present me with something unexpected and unremarkable: Managed to erode more of my person, which lead to new discoveries for some reason . . . In a way, there's little to no expectations as to what will happen when the release day finally arrives. Any form of due diligence (e.g.; personal experiences of the industry, insights of news articles, trends, etc.) has lost its meaning to me as this-one-unknown person cannot influence the tides of the sea. Furthermore, the question is: Will it be immediately disregarded and ghosted, as per usual, or by chance not?
Until next time,
Take care,