I'm finally getting around to doing a proper pixel logo to replace the old placeholder. It could still use a bit of clean up and perhaps a bit more "flare" but I think it's a step in the right direction:
Old vs new splash screen mockup:
I've also got a whole whack of other things in progress, most of which can be seen in the GIF below:
Death animation improvements (improved SFX, flaming debris, slow time, more screen shake)
Scrolling background clouds in Earth levels
Placeholder props (bushes, rocks)
Spinning coin animation
Impact SFX for rocket (i.e. when landing)
Felix has also put together a couple new levels which I'll be integrating into the main game flow soon. My hope is to prepare a nice, concise version to be used as the basis for play testing, and eventually early access (via Itch).
I also want to push myself to do more visual work, as this is pretty much a must-have for any kind of marketing efforts. (... the eternal struggle!)
Progression So one thing Felix and I have been kicking around for a while now is how we want to approach progression. Originally, it was very much linear in that you needed to play all levels in order, beating all of them to progress to the next world.
Unfortunately, this doesn't give players very much freedom, and it also runs the risk of players getting stuck (and perhaps giving up) on the more difficult levels.
Our solution to this is to--as I'm sure many others do--take a page from the book of Mario We'll be going with the classic "collect X items to progress". (for now, X = coins, though this may end up being replaced with something more space-ish).
To that end, we're adding 3 coins per level. In most cases, a couple easy ones, and one more difficult one.
This will also double as an opportunity to add some achievements (i.e. collect all coins for a world, collect all coins in the game), and open up the possibility of some extra content (i.e. unlock a bonus world by collecting all coins).
Level Completion Status As part of the above I've also added a level completion badge to the stage select screen. This gives the player a way to tell which levels they should revisit in search of more coins.
Mystery Planet As I alluded to in a previous post, we've been working at rejigging the star (world) map. I've now completely eliminated the old UI lock icon and have implemented support for a mystery planet texture (placeholder only, subject to change one Felix gets in there):
As you can see, I'm also displaying the required number of coins (again, somewhat crude placeholder).
3D Star Map We weren't entirely happy with the lack of curvature in the "simple" approach, i.e.
So we've decided to go 3D (sort of): the 3D planets are rendered to a texture, then scaled down and rendered with the rest of the 2D scene and UI. In the process of doing so, we also added support for more winding paths.
As you can see, there are still some loose ends left to tie up (i.e. the lock icon that moves vertically/out of sync with the path--we'll likely end up creating a "mystery" planet to be shown instead of the lock icon).
Arguably, we've spent a disproportional amount of time on this (relative to new game play), but hopefully it makes a good first impression for new players!
Level Index/Iteration To aid in planning, I've created an index of levels, including their difficulty rank, which hazards they include, etc. This led to some subsequent iteration of existing levels to introduce certain hazards earlier and balance out any inconsistencies in the difficulty curve.
More Camera Improvements Nothing too exciting here but finally getting to some long overdue items:
Implementing camera bounds for the levels: basically, I take the bounding box of the tile map and clamp the camera position to ensure it never extends beyond the level.
Letterboxing: I'm experimenting with letterboxing as means to force the 16:9 game play area regardless of physical aspect ratio, and therefore allow for certain types of designs (i.e. enemies and hazards that activate when becoming visible).
Tooling Enhancements We've started setting up "rule" brushes that will allow for quicker level design by automatically handling common scenarios:
Due to limitations of the brush system, we've had to handle sloped tiles in a separate brush, and there are a few edge cases as a result of this (one of which you can see in the above GIF), but overall, it should save a bunch of time!
More Prototyping Lastly, I've been experimenting with a few additional types of hazards.
Proximity bombs/mines, swarming creatures:
(You may recognize the placeholder sprite from Operation Hardcore )
Some more progress on bigger planet textures for the star map. I'll soon be spending some time seeing if can fake a little bit of curvature via a shader or something.
Well, after careful deliberation, we've given this thing a name: Super Rocket Ride!
We wanted a name that accurately described the game, and also reflected the retro-ish visuals and difficulty. The name is admittedly a tad obvious/predictable, but it tested well with the internet folk, so that's good enough for me.
In other news, Felix has been working on some enhancements to the star map; specifically, implementing rotation for the planets. Initially this started off as 3D renders which he was pixeling by hand, but this would have been quite time-consuming to get enough frames for a smooth look. Here's an early test:
(you can also see a WIP button highlighting animation that he's working on)
In the end we went with a looping sprite/sprite mask approach, though. We lose the nice curvature that came with the former, but it's much more feasible to implement this for ~8 planets or so. (and I might see about doing some trickery to fake the curvature)
Oh yeah, last but not least, we now have a fully playable PC build! Still lots of stuff in flight, lots more content to come, etc., but it's still a pretty big milestone. My Patreon patrons get exclusive early access to this all way through development, starting now.
Looks great! The camera movement definitely feels very smooth and polished. Are you going to implement any type of damage or will the rocket die as soon as it touches a wall surface?
Thanks! I'm thinking it'll probably stay one-hit death in the interest of keeping it challenging. That said, I've pitched the idea of having a single-use shield item, and there's also the option of halfway checkpoints for longer levels, so we'll see where we land on that (pun intended?).
Heyo! So we've been at it for a couple weeks now and are making some solid headway.
Keyboard and Gamepad Input The very first thing I did was implement keyboard/gamepad support across the board, as the existing code was based entirely on touch/click. As with all of my games, I'm using Gallant's InControl asset, which is a huge time-saver for handling multi-platform input across a wide range of devices. Highly recommended!
The biggest challenge so far has been getting the star (world) map fully functional on keyboard and gamepad. A lot of the logic relied on the UI to block touch/click input, but this is obviously not something you can rely on when responding to input in code. So I had to refactor quite a bit to track state, ensure input was ignored during transitions, etc.
I also had my usual battle with Unity's UI system to ensure that a) a button is always selected by default, and b) buttons can't be deselected, but I finally won. I've picked up enough tips/tricks in the past few games that I almost have it down to a science!
Here you can see me navigating the star map using only the gamepad:
Camera I also did some work on the camera and player movement, as I found it to be a bit choppy. Firstly, camera logic was being handled in FixedUpdate, resulting in visible jerkiness, so I moved it to LateUpdate. I then implemented smooth damping so the camera trails the player ever-so-slightly. Lastly, I decreased the physics fixed timestep to 0.1, for smoother player movement (the player is moved via physics engine). It's still a tad jumpy, but almost there. (Oh yeah, and I also added some screen shake for good measure, of course.)
Prototyping Now we get to the actual fun stuff: prototyping new hazards! We have a number of ideas on the table so we're doing some rapid prototyping to see what clicks/what feels right. Here's a prototype level I built to demo/test some new concepts: falling blacks, projectile emitters, and sniper turrets. (you can also see the camera and movement tweaks in action as well)
It's quite challenging, but totally beatable (and certainly satisfying when you do).
More to come! If this looks interesting pop in to the Discord, we'll be running a closed alpha fairly soon.
I'm pleased to announce my next game: Super Rocket Ride!
For this one, I'm teaming up with Felix (Unruly Games) to develop a premium (Steam/PC, initially) version of his mobile game Thumb Rocket. (available for free on Android and iOS)
Super Rocket Ride can best be described as a cross between old school lander games and classic platformers of the SNES era: a simple control scheme, lush pixel art, and unforgiving levels fraught with obstacles and hazards.
Our goals for the premium version include:
Analog gamepad (dual trigger) and keyboard controls
More obstacles, hazards and levels
Overhaul of the music/SFX and visuals
Collectibles
Steam achievements
Improved star (world) map/level select screen
As with all my games, sound is going to be a big part of it. Despite the retro-inspired graphics, I'll be going with something contemporary, and really trying to create a sense of immersion and "life" with the sound. This will likely include a soundtrack that is mostly ambient and somewhat mysterious, rather than going the obvious route of peppy chip tunes. (though the SFX will certainly have a nod to the 8 and 16-bit eras)
If all goes to plan, this will be number three in a series of games that I've challenged myself to develop and release in under three months (the last two being Cosmic Ray and Brainmelter Deluxe). The goal with these games is to build up experience (especially on the marketing front), and perhaps make a few bucks to fund my more ambitious long-term project, TOXICANT.
If this sounds interesting feel free to stop by the Cosmocat Discord: Felix and I are in there regularly and will be posting dev shots, soliciting feedback, and running frequent play tests.
That's much better, I do think! There are some neat "metallic tearing" sounds that make for a nice edge without sounding unpleasant, to me at least--indeed, I think that you could perhaps even make greater use of them for greater player unease. ^_^
Success! I knew I could find something that would work for you!
I've been a bit silent lately as I'm finally getting around to that Android port of my last game, Brainmelter Deluxe. I'm hoping to get back to this soon, though.
That said, my video guy is currently working on an early trailer/teaser which should help to refresh the Steam store page and perhaps kick-start the marketing/promo efforts. As well, I've been percolating some ideas as to how I want to proceed. A few things that are certain:
My top priority is producing a fully playable build, something that really boils it down to the "essence" of the experience. This likely means stripping content (for now) in order to stay focused.
I want to get to a closed beta as quickly as possible, as I don't like going so long without real, concrete feedback.
This will 100% be an early access game. I've even got the "why early access" text written up and ready to go, heh.
The one thing I'm debating is whether or not I offer some kind of a public demo or open beta. I've heard/read mixed stories about this. It can be a great way to attract players and generate lots of feedback, but I'm sure it can equally push them way if it's too raw/rough.
Well, I'm taking a quick break from Undermine to finally follow through with that Android port I had planned from the get-go! (pre-register)
Because I built with this in mind, it's been a pretty painless process, mostly just:
Doing a bit of optimization: reducing pixel light count, increasing physics timestep (I was probably running it way too fast before!)
Reducing build size: there were some massive intro images not being compressed, music was being compressed at 100% quality, etc. All things that didn't really matter on PC, but could be a deterrent on mobile.
Finishing touch control implementation: I had done a crude test implementation last year, but had to ensure touch controls were appearing properly in all scenes, as well as add some more virtual buttons (skip cutscene, pause, etc.).
Finding testers: tapping into those who helped with the last beta test, plus finding a few more (if you're interested in testing, hop on the freshly-verified Discord and drop a line in #brainmelter-deluxe).
I'm going with a "premium" model for this. It seems to be the exception, not the norm, but the game wasn't built with the freemium model in mind. Really, I'm just looking to capitalize on the work I've done so far, taking as little risk as possible. I have no real expectations at this point. Whatever happens happens.
If I were to go freemium, I would either build with this in mind, or perhaps take something more content-heavy like Operation Hardcore and adapt it (i.e. first few levels are free, buy the rest).
The biggest challenge so far has been navigating Android builds, Play console, etc. I've done a little bit of this in the past, but there's a lot I don't know. It's been a really great learning opportunity, though.
Here are a couple shots, courtesy of one of the testers:
Oh yeah, I'm also testing some new logos/promotional stuff. I found the original too bright in comparison to the game itself, so I've gone with something a bit darker. I tried to coordinate with the purple accents from the game, and I also added a spiral, which I feel really captures the spirit and "flow" of the game.
(before/after)
Lastly, I've recruited someone to help with trailers. I'm perfectly capable of doing my own trailers but I tend to procrastinate about this more than anything else, so it's really good to have help here. I really appreciate the work he's done so far. Here's the latest he's done for me:
Back on the audio stream, here's a edit of the terror done with more organic "scraping" noises in place of the digital glitchy sounds, and with less frequency. I've also made the percussion a bit less "square-wavey" sounding: https://soundcloud.com/snugsound/toxicant-terror-drone-v5/s-XaIZo
Hmm... Do the names indicate anything? I daresay that I'd be very wary about having my character eat something "moldy" or "rancid", as I'd likely expect it to incur some negative effect...
At the moment they're purely aesthetic, and not a lot of thought has gone into the names (mostly, I just wanted them sound gross/funny!), but I have a whole stats/active effects system already in place, so I may have the more questionable foodstuff temporarily reduce a stat while still giving some health back.
Really, I'm looking to make most decisions a trade-off of some kind, and there's already a precedent for this:
drinking alcohol increases strength but reduces stealth
eating toxic mushrooms damages the player but gives a temporary endurance buff
breaking rocks offers "currency" items (gold, gems), while smashing crates offers consumables, and there are only a limited number of spawns per level
shielding and attacking damages melee weapons, but melee weapons are also needed to smash things
the player can choose how to use beacons, but 2/3 of the beacon types are single-use only
And so on. That said, I do want to keep it fairly simple, as the more of this kinda stuff I do the more I run the risk of making balancing very challenging.
Sooo I've hopped on the bandwagon and started a Patreon. I'll be posting monthly updates about anything and everything (but mostly gamedev stuff), so even if/when I slack on the devlog, you're guaranteed to get a regular peek behind behind the curtain/insight into the madness! I'm offering many other perks as well, like a swanky Discord role, and copies of past, present and future games. If you enjoy what I do, please consider becoming a patron.
Okay, with that out of the way, back to business. My main focus at the moment is object spawning and interaction, namely:
Highlighting objects that are interactable. Previously, this was done by "pulsing" their emission, but this was bit of a hassle as it required that all objects used an emissive shader. I'm now using a third-party "outline" asset. It likely has more performance overhead, but probably worth it for the simpler implementation.
Converting the interact dialog to TextMesh Pro so it a) looks good, and b) I can embed images (for example, to show damage and stats comparison icons melee weapons)
Giving some pickups (like food, alcohol) random names (i.e. rancid wine, moldy carrots, etc.), cuz why not? I love this kinda stuff.
Converting everything to "spawn pools" (ScriptableObject-based lists, with constraints on the number of objects that can be spawned per level)
"What's for dinner?"
Also plugging away at on-going stuff, like:
"Downgrading" textures (point-sampled retro goodness), making texel sizes more consistent
Converting complex prefabs to nested prefabs--I'm actually making really heavy use of this, not sure how I was living without it before!
Fixing bugs, and bugs, and more bugs
Slowly but surely getting there! Still working towards a closed beta in the next couple of months, and then into early access until the end of the year.
Looking good, I do think! Adding some glow to those spikes seems wise, I feel. As to the roots, if you want, you could always hand-wave them as resulting from the same stuff that turned the miners. Whether justified or not, I imagine that they will indeed contribute to the visual diversity of the place. ^_^
Thanks! My original intent with the roots was to feature them solely in the final level(s), which I'll probably still do, but the hand-wave could work for the underwater ones though yeah.
Oh yeah, I should also mention that I'll be gearing up for another closed beta soon so pop in to the Discord if you're interested in the idea of a retro-ish rogue-lite survival horror.
If you do intend to try something else, what I might suggest is sounds that are slightly more organic--listen, for example, to those sanity-drain sounds that you posted earlier. If you want to keep that electronic feel to the sounds, perhaps there's a middle-ground that might be discovered--but I'm no sound engineer, so I don't know. ^^;
I forgot to mention one of my other references/inspirations, SOMA, which uses a lot of glitchy sounding stuff to great effect:
Agreed that more organic is probably a better fit for this theme/setting though.
Thank you, I really appreciate that! (Both the comment on the approach and the intent to give it a try.) If you do try it, whether you give feedback or not I hope that you have fun! ^_^
No problem, it's the least I can do! You've been very supportive and I appreciate it. If there's ever anything specific you want feedback on, feel free to hit me up directly (I'm on here somewhat sporadically).
Re: key-mapper:
I switched to the gamepad profile as soon as I realized I could. The initial mapping didn't make sense to me (not sure if it was supposed to be dual analog, but it wasn't on my Xbox 360 controller). I remapped as needed and saved a profile without issue.
I would consider offering multiple bindings so that you can have default bindings for both keyboard and gamepad. As a player, I appreciate when I can switch between the two in a pinch.
The mechanic of shrinking/growing is neat, but a few thoughts:
I would offer an explanation. Initially, I didn't know why it was happening (or that I could grow/regain strength).
I would put a lower limit on the size of the player, otherwise you can end up almost invisible, which makes it even more challenging when you're low on health! (this, perhaps coupled with a traditional health bar?)
Instantly restoring all health, or giving the player something to do, at the end of a level would be appreciated. As it is now, you just need to wait.
Other thoughts:
I like that the levels are randomized, I wasn't expecting this a first!
Gripe: "Menu" key immediately ends the game (vs pauses). As a player, I find this quite frustrating.
I have lots of thoughts on possible polish/refinement, but just thought I'd check to see if you plan on developing this further before writing about it?
I believe that in last week's post I mentioned a short game that I had made in the hopes of getting feedback on the key-mapper. Well, with the key-mapper done, I uploaded that test-game to itch.io. If you're interested in trying it (whether for feedback or just for fun), you should find it here: https://thaumaturge-art.itch.io/the-gauntlet-of-the-controlled-crystal
Interesting approach to testing, I like it. I will check this over the weekend and share my thoughts