An update is quite a bit overdue, eh? Hoo boy, do I have things to tell you. Where do I even start?
The new title would be a good intro I guess! The game no longer goes by the working title and it's now officially called Way Beyond!
New title: Way Beyond I have to say it was a really tough decision to make, but for a reason I will get to in a bit I had to come up with a new title fairly fast so there was no longer room for procrastination. I knew from the start that the old one was temporary but it became an urgent matter very fast and the possibility space was just too big to work with.
I decided to make a spreadsheet to help nudge me in the right direction. I fed it a set of a few dozen words I thought fit the atmosphere I was going for, and the spreadsheet spat out random combinations for me. I forgot whether "Way Beyond" actually was generated this way, but it was certainly at least inspired by some of the output! You know you went overboard when even the name of your procedural game is generated procedurally.
The pixel work itself was a pain in the butt. I have very little experience working with pixel art, but luckily I'm fairly adept at digital lettering and typography, so it balanced out a little bit. Even then it took me most of a Sunday to arrive at a version that really clicked. Both typography and pixelling are such fragile artforms. You nudge one tiny thing a barely visible amount and it leaves its mark on the whole piece. It's SO satisfying when you finally get there though.
While the title was a good topic to start this update with, it was a fairly recent development. Let's backtrack a bit to June and I'll walk you through all the new stuff!
RefactoringJune
Don't see anything new on the above image?
Good, that's exactly the point of refactoring. It took me waaaay too long but I actually rewrote a significant chunk of my code from last year. Since I practically rolled my own little naive tile grid system, map chunker, and object pool, it contained all sorts of issues that prevented me from adding NPCs in a way that didn't make me pull all my hair out. The new system is not only more performant but it laid the groundwork for relatively flexible off-grid entities that I could plug AI into.
DashingAugust
In the summer I had pretty long breaks between dev sessions due to Real Life™ reasons, so most of the things I've done were either tweaks or quickies like a dashing move. I actually ended up disabling it for now, but I'm fairly certain it'll find its way back into the mechanics one way or another as it's quite fun to use.
NPCs & AISeptember–October
This was a big one for me as I've never programmed anything even remotely close to it. As a baby first step I added the random roaming you see in the above GIF. It was a lot easier to do after my refactoring than I had feared, so I felt good about it. But as soon as I wanted to add another kind of behavior (for example attacking the player when they're close) it all fell apart again. I needed some sort of state machine, and I found the one in Unity's animation system clunky to use so I wanted a different solution.
Then came my good buddy
Máté Cziner to the rescue! He had experience with writing AI in Unity before and actually sat down to write me a framework for the AI. It was
incredibly helpful and it made me understand a bunch of concepts I was really hazy on.
I make an effort not to copy and paste other people's code – I'm sure that partly has to do with my ego, but it also forces me to
really think about what I'm doing, and what functionality in the other person's code I really want. I pretty much used Máté's work as a tutorial and changed it a bit here and there. What I ended up with was slightly less flexible and harder to maintain, but at least I understood it 100% and I knew exactly where to look if I needed to change something.
The result is, like the rest of my code, okay
ish for what I'm doing right now. The snakes live, they attack, and now I have a flexible framework that allows me to spend no more than an hour or two to add a new kind of enemy, complete with sprites and parametric behaviors for morement and attacks!
And so…BEES!
Sometime in October Máté introduced me to an event in town called PixelCon. It's an annual gamer con with a focus on retro gaming. The event also hosts an indie game competition called Grand Pix – last year's winners were none other than Máté and his team with
Totemori (go play it with a friend, it's nuts). He persuaded me to submit Way Beyond (then still going by its working title, Exploro) as they were also accepting works in progress.
I actually had no public build at that point, and even my private build was a buggy, unoptimized mess, but as it turned out the GIFs I've sent were enough to convince the judges! I was one of the finalists who got to exhibit at the show and participate in a popular vote to pick the Grand Pix winner. I wasn't really interested in the competition, but I was really looking forward to observing people play the game and to gather some feedback about how it feels and what people like and dislike.
But maybe most importantly, it gave me a deadline: the show was November 11th. I had less than four weeks to prepare something I could show publicly. No turning back!
Hitflash & attack telegraphingOctober
Real life was getting in the way of development once more, but I had to push on to meet my newly found deadline. I only had time and energy for some basic gamefeel things like the above effects, and some much needed tweaking to the player controls to make them feel more responsive.
PickupsNovember
With the con coming up in less than two weeks, I had very little time to spend on each new feature, but thanks to my refactoring efforts it was relatively painless to introduce simple things like entities the player can pick up. I added player HP, and scattered little health/heart entities throughout the biomes that add to said HP, with no maximum for now because fuck it.
I also spent a night adding another kind of pickup, gems, that serves as a sort of high score counter for now. That tiny pixel font was fun to make!
Last minute content update, optimizations & Xbox360 controller supportNovember
Mere days before PixelCon I managed to set some time aside for some much needed optimization work, resulting in a 60% performance boost. Smooth as if it was butter *cough* with some sand in it, but you only find out once every few seconds when you can hear it crackle between your teeth. That map chunker I wrote is still hella inefficient.
The last night before the event I was up til 4am adding & tweaking content (enemies & biomes), and fixing bugs. REMEMBER, KIDS: CRUNCH IS NOT HEROIC OR ROMANTIC. CRUNCH IS BAD TIME MANAGEMENT. THE NECESSITY OF CRUNCH IS A MYTH.
PixelConNovember
And that's my booth at PixelCon! It was my first ever gaming con, and I was exhibiting even. If you told me this a few months ago I would've laughed. It's just a bedroom project! NOT ANYMORE.
Before the show floor opened and people started trying my game I was convinced 100% that in its current state, it's a shallow concept, a mere shell of a game that gets boring after 2 minutes. I could only hope that people are able to see the potential behind the catchy visuals and the barebones mechanics.
And they did. I had people playing the game almost non-stop, and they stuck around much,
much longer than I had anticipated. I'd say average session length was about 10–15 minutes, with some people (especially young kids) sitting there for 30 minutes to an hour collecting gems and whacking creatures with the sword. I got some incredibly valuable feedback that allows me to prioritise the next few months of work.
Oh and remember Grand Pix, the gamedev competition? It turns out during the day of the con I got the most votes from visitors and won it! How did this even happen?
*PHEW*
So here I am a week after PixelCon, and as it turns out besides the (working!) C64 trophy with a golden spray finish, I'm also getting more opportunities to exhibit Way Beyond soon, and I could not be more excited. I wish I had more time to iron out bugs and add some more content but the next event is literally days from now. Yikes!
Until the next mega update…see you around!
The below image has nothing to do with anything but I felt that it was necessary to include. …Enjoy?