Infinitroid Dev Blog: All Posts

Build 0036 is live

Just a small update here--Infinitroid's in Low Hanging Fruit Mode for a bit--I've got a lot of web work on my plate for the next month, so I'll mainly be focusing on easy-to-implement things.

The first readily-accessible pericarp is a damage-per-second (DPS) gauge on the weapon screen, to give some insight during weapon assembly:

I also tweaked some part values: laser does more damage, electric mod costs 1 battery instead of 0.5, and the damage multipliers are slightly increased on a few parts.

Accessible fruit number two is an option for advanced players to allow the missile generator (and blaster) on any weapon preset:

Should allow presets more suited to individual preferences, but hopefully not be too confusing to new players (provided they don't turn it on too soon).

First trailer, build 0035 (bugfixes)

Infinitroid finally has a trailer!

I had some time to put this together amidst Thanksgiving family visits and such. Feedback is welcome--I might do some alternate edits. For this one I wanted to show how the weapon systems and unlockable areas work, as well as give a taste of other stuff in the game.

For those interested, I used OBS for video capture, and Lightworks for editing, both nice free programs. I made the music track a couple weeks ago using some elements from that Mega Drive song recreation (this post). The track's not in the game yet but hope to use it for one of the later, faster-moving areas.

Bugfixes in build 0035

No gameplay updates in 0035 unfortunately, just a couple bugfixes, including this one about secret high-jump rooms that get you stuck.

Upcoming plans

My web programming / consulting work is getting pretty busy from now thru January, but I was thinking I'd reserve a little time for low-hanging fruit, quick stuff I can do that adds to the game; maybe enemy variations that reuse art assets (ala gun grubs), new music tracks, as well as miscellanous blog topics. Any ideas along those lines are welcome--as always check back here for for the latest stuff.

Build 0034 is live

New build! Here's what's been added:

3 new enemy types, 12 new room layouts

For the fleshy biome (sector 4 & 5) I've been wanting some kind of nest enemy that continuously spawns minions. After some experiments I ended up with a sort of emitter gland / blood cell / anemone absorber combination that work together:

The blood cells seek a random anemone thing if one is present, forming sort of capillary flows, otherwise they pile up in the room and drift around randomly. I've got 12 new room layouts featuring them, each with a couple difficulty variations. Looking forward to experimenting with them some more.

For the anemone-thing and the blood cells I used implicit surface / signed distance functions to model and animate (as described on the tech page) rather than 3D modeling with Blender like most of the other graphics. It made it way easier to experiment with number of tentacles, do wavy animations etc., although figuring out the math formulas to model them was a pain.

Still not sure it's the most efficient modeling approach, but it's an interesting technique with some unique possibilities (true curved surfaces, no polygons, crazy math-based instancing / duplication / randomization). For the anemone at least I'm not sure how I would have done it in Blender without a lot of incredibly tedious seam-joining and hand-animation.

Monitor calibration and contrast fixes

I got started working on a trailer and thought I'd check the color calibration on my main monitor, since I've long known it's a little peculiar. Apparently it's way peculiar--more saturated and darker midtones than most of the other monitors I could get my hands on.

Which means: I've targeted all the semi-temporary art for the game on my colorful main monitor, which therefore looks a bit dull and washed out on most other monitors. Doh. Could have checked that 2.5 years ago.

I added a quick contrast adjustment to the compositing shader in this release to hopefully look a bit better on most monitors, but with the random lighting colors it's hit and miss. I'll probably need to do some deeper reworking on this one when I do the final art push.

Curious what people think of the quick contrast fix that's there, let me know if it looks any better on your monitor than the previous version (which you can find here).

Small changes and bugfixes

  • Crouching hitbox reduction: stuff 1 tile above you won't hit you anymore:
  • Switch trapped check: Switch panels now auto-detect if you got trapped in a box with no exit switch and un-switch if so. This let me simplify a bunch of the rooms that had ugly emergency-exit switches plastered everywhere.
  • 1-tile gap improvements: Falling downward into 1-tile gaps is easier now--I added some slip logic when you're not moving and your foot is perched on the very edge of a ledge. Should make the controls feel slightly nicer.
  • Non-teleportable tile designations: From this post, prevents teleporting to the top of rooms with loot that's intended to be unreachable when you get aggro and blow away your supports. Also used them to fix a couple places where you could teleport yourself into a hole and get stuck.
  • Stuck-in-a-door bug: fixed (from fordiman's post)
  • Map fixes: brutal secret room doesn't reveal on map pickup anymore, and "nightmare room" boss icon reveals like it should when you're next door. Also nightmare room was still allowing top doors, that's fixed now, and sometimes it was attaching to the wrong biome, also fixed.


One early access sale so far, so off to a roaring start! If you know anybody that might be interested in the game, feel free to spread the word--I'm pretty new to marketing and promotion, but hope to improve the website stuff over time (and graphics of the game) to better show it off, and also put more of my time into getting the word out. Hope to have a trailer put together soon too--stay tuned.

Early Access is live

OK, it's been a while. I generally aim for 2 weeks max between posts, but it's been about 4. This update was a doozy. Anyway...

Early Access!

The game is now in self-hosted Early Acccess! Sort of a big milestone. I'm excited and a little nervous to see how it goes. All players who already have accounts will enjoy full web access to all future versions for free. If you want to reserve a Steam key or help support development, you can also upgrade if you choose. New players will need to sign up, for $7.50 USD, and will get full access to the web version as well as a free Steam key when the final PC version launches.

I added Stripe, PayPal, and Amazon Pay integration to give people lots of payment options. And tried to make the overall signup flow buttery-smooth and simple. Check it out on the join/upgrade page.

Two companies I now hate, and one I love

Payment struggles

Integrating it all was a pain; each payment processor has different APIs, and documentation for Amazon Pay and PayPal is poor and labyrinthine. Getting them to work with form validation and a nice workflow required a lot of trial and error, due to weird API choices on their part. In the end I had to revert to PayPal's older "Payments Standard" API because of the inflexibility of their newer one. Backend verification of the charges on each processor was also a bit of a pain. I will say though, Stripe integration was a dream, kudos to their team for making a simple well-thought-out API.

Aside from the processors there was business/legal stuff, different workflows for different types of users (forum only, anonymous, etc.), fraud prevention, email receipts, privacy policy, etc. Anyway, glad to be done with it! This should hopefully be the last major website update; I'll still make small changes in the future for marketing etc., but I plan to focus primarily on the game.


I took a brief detour to improve the typography of the site, to hopefully make the blog and other text-heavy parts more enjoyable to read. I had been reading Matthew Butterick's excellent Practical Typography web-book in the evenings and was eager to put some of his recommendations to use. I probably should have waited--this too ended up being more complicated than I expected, with a lot of pages to re-style. Anyway there's definitely more to improve on this front if I get time, but hopefully the pleasure-factor of reading stuff on the site has increased a bit.

Build 0033 bugfixes and future plans

I didn't want to delay the game much further, so I just did some low-hanging-fruit bugfixes for this release:

  • Added exit switches to the challenge room that can accidentally get you stuck in a box forever:
  • Final "nightmare room" doesn't allow top entrances anymore (this post).
  • Occasional brutal secret misalignment fixed (this post).
  • Reduced jelly boss minion count (this post).

As mentioned on the join/upgrade page, plans for the future include progression between games (unlockable player classes, challenges, etc.) new areas (and finish the last one), better art, new music, and more content variety: items, enemies, weapons, and obstacles.

Looking forward to getting back to it.

Art & music study week

Just took my first week off (sort of) in a long time, to spend some time on my mostly mediocre art and music skills. Thought I'd share some random creations from last week - I'm definitely trying to improve at this stuff, so feedback is welcome!

Most of the art & music in the game is quick and rough, so I'm hoping to experiment over the next several months during the evenings to find the final visual & music styles before I go into full-on production.

If I fall totally short or it's taking too long to make progress I might just find a professional artist and license / contract out the music, we'll see. I really enjoy doing both, and would like to keep art & music in my life, so want to at least take a crack at it.

Music experiments

These are some tracks made with FL Studio, in search of "the Infinitroid style". The first two were results of reusing & experimenting with existing sounds from the in-game tracks:

  • Egyptitroid:

  • Depressing orchestral:

  • Partial remake of Converter by Mega Drive - has some cool synths / styles / textures that might fit:

  • Mega Drive Converter remake:

  • Remake of some Star Wars orchestral parts using the EWQL symphonic library. Trying to learn some orchestration stuff and get into the brain of John Williams:

  • Star Wars 1:

  • Star Wars 2:

  • Digital painting experiments

    These are fairly rough & quick, mostly inspired by Feng Zhu's awesome concept art videos. I'm hoping to get better at sketching / painting ideas & concepts for possible inclusion in the game.

    • Underground river:
    • Alien cave (wonky composition):
    • Star Warsy orb thing:
    • Lumpy fly:

    Build 0032 is live

    Just updated the play page with the latest build, number 0032. Excited about this one, here's what's new:

    • Smoother framerates: I updated the code to unlock framerate and run at whatever the monitor's refresh rate is (provided the GPU & CPU can keep up) rather than trying to frameskip or do anything fancy to maintain 60fps. Tried it on a 144hz monitor on a gaming PC, it was liquid buttery smooth and awesome. This should help with more standard near-60fps monitors too, to give less missed frames and generally improve smoothness (there's a lot of 50hz, 59.94hz and other weird rates out there). If anyone notices any persistent stutter etc. on a decent PC let me know.
    • Brutal secrets: On of the bigger additions for this build - can't describe them, they're a secret! But there's one per world, they're brutal, and they provide one of 4 new exclusive items at the end.
    • New secret room visual theme: Hopefully a little cooler looking:
    • Challenge rooms: I added a bunch of new "challenge room" layouts. They're hard to defeat but provide a lot of basic loot drops if conquered. There's a 70% chance of one appearing in each "biome" (the sections separated by elevators). Should add a little risk/reward spiciness:
    • Intro story overhaul: Got rid of the janky little story popup, rewrote the text, and worked it smoothly into the title screen. Should give a nicer first impression to the game. It shows once for new players; returning players can access it from the title screen's options menu.

    Some smaller tweaks and bug fixes:

    • Nightmare room: the "2nd boss" room full of enemies at the end now has the Golden Orb initially visible opposite the cloud of enemies, to give newer players a hint that it can be defeated.
    • Weapon quick move bug: SomeNerd discovered this one. Fixed now.
    • Laser bloom color match: Lighting matches laser color for electric mod etc. (thanks Novacat)

    Build 0031 is live

    Build 0031 is now live on the play page. Here's what's new:

    • Electric modifier: You can now combine this with any other weapons for new variations. Ditched Spark Generator (Blaster + Electric now is equivalent). Thanks to dogman_35 for the suggestion. I think Novacat mentioned something along those lines too.
    • .
    • Direct weapon select keys: Can now use the number keys (by default) to directly select weapons instead of (or in addition to) the press-to-rotate approach. Controls screen got a major overhaul to support the new keys.
    • Two-button diagonal aim mode: Optional; for people with keyboards that don't support many simultaneous key combinations, or people who like Super Metroid style controls where one button aims diagonally up and one aims down:

    Some smaller tweaks and bug fixes:

    • High refresh rate support: Monitors with >60Hz refresh rates were experiencing speedups, should hopefully be fixed now.
    • Buffed light saw damage: Should be more useful now as a high-risk / high damage melee weapon.
    • Health capacity: These once again give you a filled heart instead of an empty one.
    • Boss minions: For the squid boss, I made the circular egg guys inside die when you kill the parent. Fighting the big cluster of them at the end usually gets tedious.
    • Compass tweak: Compass now reveals room icons in order of proximity. Its biggest advantage is secret-finding and those were tending to not show up because of the order they were iterated.
    • Lock icon tweak: Room 'lock' icons now clear when you traverse the room successfully. This was confusing some players.
    • Title screen: Now fades in the menu items automatically on load, less chance of confusion for a new player on how to start the game.
    • Teleporter clarification: These now show a message of the destination's "teleportability" during selection, a lot of experienced gamers didn't realize you could actually teleport anywhere in this game, and not just to other teleporters. In fact you couldn't even teleport to other teleporters, which is now fixed.
    • Black screen bug: This happened after dying, quitting to title, and playing again; now fixed.

    Dev history, inspirations, and tech

    Just a quick update, I added some articles to the homepage to provide some richer background about the game, and hopefully explain it a bit better to newcomers:

    If you see any typos, clarifications needed etc. let me know!

    Infinitroid history museum

    Didn't have much time for game work the last couple weeks unfortunately, but I thought I'd share, for your amusement and horror, some playable archived versions of the game which were up on the server:

    • 0001: Jan 2016. First web build for private playtesters, about a year into development. Confusing weapon system, floaty controls, badly written story that everybody skipped, programmer art, Atari-esque sounds - fun, fun! Still, the rudiments of the game were taking shape. At the time I was deliberately ignoring production value and focusing on gameplay improvements.
    • 0002, 0003, 0004, 0005, 0006, 0007, 0008
    • 0009: Apr 2016. Lots of usability iterations under the belt to help baffled playtesters. "Green" area added, with jump springs and tech cube enemies. Also, secret rooms, and tighter controls.
    • 0010
    • 0011: Jun 2016. Music, basic background art (with help from my Dad), and some major weapon screen dymystification.
    • 0012, 0013, 0014, 0015
    • 0016: Nov 2016. Back to the game after a 3-month freelance project. New sounds, music tracks, and art assets.
    • 0017, 0018, 0019, 0020, 0021
    • 0022: Feb 2017. Major graphics update. Fog, light bloom, and procedurally placed point lights with randomized coloration. Also death screen and a "tile snippets" system for hidden items etc.
    • 0023, 0024
    • 0025: Mar 2017. UI and HUD refinement, title screen, teleporters, electric visual effects.
    • 0026, 0027
    • 0028: Jun 2017. Story orbs, procedural thematic tile placement, control remapping.
    • 0029
    • 0030: Aug 2017. Current version as of this writing.

    My reaction to playing these is generally "good lord, I'm glad I fixed that." It's nice to see progress; game development can be dauntingly labor intensive, especially as a solo developer, and I'm almost never making progress as quickly as I want to. So it's nice to look back down the mountain once in a while.

    Build 0030 is live

    Build 0030 is now live on the play page! Here's what's new:

    Guided shot

    There's a new Guided Shot modifier, for mid-air projectile control. I was experimenting with making some "lock rooms" that require these, but they ended up being really fiddly to activate:

    Experienced players would no doubt figure it out but new ones would probably give it the middle finger.

    3 other items

    I added some new one-time-use items, which I won't spoil but veterans can probably venture some guesses on:

    Gameplay balancing

    I made a bunch of balancing tweaks:

    • Nerfed the blue circular guys ('fast lost souls') from 6 health to 4.5 (1 health = 1 vanilla blaster hit). It's nice that they're challenging but the difficulty jump felt too steep.
    • Adjusted many rooms for less possibility of "cheapness" - hard enemies clustered next to entrances, etc.:
    • Reduced missile odds by 30% from sector 3 onward. They seem to accumulate too much late-game.
    • Buffed flamethrower damage (0.6 -> 0.8) to make it better for non-flammable enemies.
    • Buffed Spark Generator to same range as the Blaster (8 tiles), and reduced damage slightly (1.4 -> 1.3). Hopefully less of a letdown finding this weapon. I might eventually change this to an "electric modifier" like Novacat was thinking.
    • Slight higher odds of weapons / items in canisters rather than hidden in walls, which should make new players' lives a little easier (less chance of missing them and ending up underpowered later).

    Miscellaneous tweaks

    • Projectile size increases more visually when damage mods are added.
    • Gut tile tweak, no more isolated "L" pieces
    • I considered making the "dropper" enemies trigger when another enemy passes under. Derek Yu (Spelunky's creator) shared a nice article on the design philosophy of the Dark Souls team, and I was thinking this could lead to some "magical moments". Unfortunately if you lure an enemy under there it'll always trigger on you first, so not a big strategic help. It'd also mess up the mechanics of most of the rooms that feature those droppers. So, tabled for now.


    • Teleport-onto-spikes is fixed.
    • The compass now only reveals the next 5 undiscovered room / secret icons instead of all of them. I also removed compass / map from the 2nd quest onward like Novacat suggested.
    • Item rooms behind missile doors weren't getting the item-specific layouts. Fixed that.

    I've got some work obligations the next 1-2 weeks so time will be a little tight (I do freelance web development part-time) but I hope to get some time for game work, and at the very least a blog post. Stay tuned, and let me know if you find anything weird!

    New site is launched!

    The new Infinitroid site is born! The baby is in stable condition, though the birth was a little messy. There's now a blog, a forum, a better gameplay page, and a bunch of other odds and ends that should make it easier to find out what's new, and to help shape the future direction of the game.

    The blog

    The blog is the central place for dev progress; I'll try to post at least every two weeks, whether it's a new game version or sharing some behind the scenes stuff. You can subscribe via email; I might also set up a feed in Twitter, Facebook and Reddit for people that prefer those (if that seems helpful let me know).

    Big thanks to players & testers who have provided feedback already, including dogman, fordiman, JC, Quicksand-S, buto, Enrik, kkairos and others. If you're interested in reading about past updates check out TigSource and reddit.

    The forum

    It's still a little lonely in there but if you have any feature requests, bug reports, or random discussion topics, feel free to post them in the forum. I'm happy to answer any questions about the game.

    Gameplay page

    The game page got a bit of a facelift - it's integrated into the site now, with a loading bar in place of those mysterious byte counts. It handles different screen sizes better, so you can play it on your phone as long as you're OK having no way to control it.

    A messy birth

    I took a break from the game proper and started building this new site over a month ago; I looked into a few blogging and forum packages but they all seemed overcomplicated and difficult to integrate, so I figured I'd spend a week or so and build my own minimal one in Flask. A blog is just chunks of text in a database, how hard could it be?

    Well, famous last words. It's not rocket science but there was a lot to sort out: hierarchical commenting, anonymous users, forgotten-password system, email subscriptions, unsubscribe URLs, visual design, responsive layouts, etc. I got pretty burned out a couple weeks in, thinking I should be done already and back on the game. I finally resorted to some of my long-forgotten project management practices, like detailed estimates and schedule tracking, which gave me a finish date and eased some of the pressure.

    Anyway I'm pretty happy with the result. Instead of a bunch of set-top boxes with 4 different remote controls (tumblr, phpbb, disqus, etc.) it's a simple integrated device with parts that I can use on future projects. I don't have to wrestle giant software packages with 200 extraneous features, and the site can evolve to support the game. But I do question sometimes whether my case of NIH syndrome is beneficial or malignant.

    Back to the game

    So, work resumes on the game proper! The gameplay needs some rebalancing after the last few updates, I think. I've got some new weapon / item ideas I'm excited about, as well as ideas for enemies and bosses in the later worlds. Also some challenges and meta-game elements to make the game more interesting across playthrus.

    Stay tuned!