About tcarter (twitter: @robotinker)

Professional chemist, game development hobbyist, SciFi enthusiast.


Ludum Dare 36
Ludum Dare 32
Ludum Dare 31
Ludum Dare 30
MiniLD 50
Ludum Dare 28

tcarter's Trophies

tcarter's Archive

4000 B.C.

Posted by (twitter: @robotinker)
Monday, August 29th, 2016 8:36 pm

Mankind’s technology has been lost! Travel through time as Jesus to recover ancient technology like… Carpentry?

Also, Jesus is riding a fire breathing dragon. Did I mention that? He’s on a dragon.


Check out all of our whacky hijinks on our submission page, and be sure to rate it!

Pickup Styx Post-Mortem

Posted by (twitter: @robotinker)
Wednesday, December 10th, 2014 10:26 pm


Pickup Styx

Pickp Styx, my team’s submission for LD31, was certainly the least buggy jam game I’ve been able to crank out and had great music and art to go with it – it’s okay for me to brag since I didn’t touch the music or art. I’m happy with the result overall, but I find myself questioning whether I over-explained the game or under-explained it.


Communication with you – the player – has always been a challenge for me. This time around, we decided to have a voiced manager feeding you goal and the rules of the game world. You play as Death, who has somehow lost or broken his boat. Still, you’re role as metaphysical ferryman cannot wait and you must deliver souls across the Styx using Frogger-like lane navigation. Some of the more obscure mechanics in the game – like moving around special stones that appear in level 5 – we explain with dialogue, but I’m not sure whether or not this worked. I found myself playing through the game and getting frustrated by the platform spawning and had to step back and remind myself that I could move stones to my advantage. The game became much less frustrating after employing a little underworld magic. Other mechanics went completely unexplained as I tried to estimate player assumptions.

styx magic rock 2

The number of souls you can move around is limited. Nobody tells you that, but the player should be able to see that after they have 3 souls following them no more will join. Additionally, a red soul appears each level beyond the first – also unexplained. Each red soul you collect increases the number of souls you can lead by 1.

styx red soul

I’m not sure if the clarity added by explaining this in the game would outweigh the mystery of not doing so. It makes me think of the film concept of “respecting the audience.” Essentially, spelling everything out for your viewers/players insults their intelligence. Of course, players are in the position of making choices so they need to have enough information to make them fairly.

styx2 copy

So did this cross a line? Maybe. A player might spend some time trying to get a fourth soul when they can’t actually add them to their merry band. Hopefully they’d learn from that experience, and the cost of failing to know their soul limit is just a detour. Teaching the player about moving rocks would have been good too, but I’m not sure how I could have forced them to use that knowledge… Also, ahnks = checkpoints for souls.

Design Choices

I tried to mix up the frogger gameplay by adding stepping stones to the river that can be used as resting points for the player, and that divert platforms into different lanes. Different sorts of platforms have different behaviors, and they’re introduced one at a time as you progress through the game’s 12 levels. Each level is 30 seconds long, meaning that you need to play at least 6 minutes to complete the game. This may have been too long for the average jammer. Even so, I’m happy to have been able to program a progression system and difficulty ramp, and view the later content as a reward for those diligent enough to stick with the game.

Whether or not you’re the patient type, I hope you’ll check out my submission, have some fun, and rate it!


Also, here’s a post-jam version with a few tweaks: PLAY NEW VERSION

LD30 Post Mortem: Voyage of the Magpie

Posted by (twitter: @robotinker)
Monday, September 1st, 2014 8:16 pm


A week ago I was just finishing up the most ambitious game jam project I’ve done to date. Compared to projects I’ve worked on in the past, Voyage of the Magpie is less immediately rewarding – there’s no jumping, no shooting, and no skill points to spend. There are, on the other hand, coins to pick up, mazes to run, tickets to manage, and click-heavy mini-games. The goal of the project was to create a set of three smaller games that were somehow connected to meet the theme requirement for “connected worlds.” As a secondary (but more obvious) nod to the theme, the game involves navigating a network of interconnected locations all over the world to find lost treasure.


Strider Submerge! Post Mortem

Posted by (twitter: @robotinker)
Thursday, May 1st, 2014 10:19 pm


I was excited and nervous heading into this Ludum Dare, as usual. I was excited to see my jam group again, and to with Britt as my graphic artist since he’s been cranking out game projects like crazy for the last 4 months. He did an amazing job our Mini LD submission Terrarium, too. I always go into jams feeling nervous, too – nervous that as a programmer I won’t be able to deliver on the designs we come up with. Time pressure forces tough decisions, and some of my toughest calls during jams so far came while working on our most recent jam, Strider Submerge.

When the theme “Beneath the Surface” was announced, we kicked around a few ideas about being underground, underwater, or beneath the surface of someone’s psyche. The psyche idea was super interesting, but we ultimately decided that it was too abstract for a rapid prototyping exercise. Britt wanted to have something with an underwater bubble city. Having mostly programmed platformers so far, I wanted to expand a bit and try something top-down. Our first night’s build was a sort of shooter where the player commanded a submersible dome city covered in tentacles.

strider 1

To drive home that you were a moving city, we thought it would be interesting to incorporate resources for the player to manage, including food, oxygen, and energy. We ended up simplifying the resources to only include energy (and health), and threw out the city idea entirely. One of the hold overs from that is that the healing items in the game are fish you have to catch by submerging into the ocean, which is kind of funny when you’re just a spaceship. We were left with a submersion mechanic that expressed the theme strongly enough for us to run with it.

strider 5

The submersion mechanic itself was something we struggled to make relevant. Most enemies can’t submerge, and so their missiles won’t hit the player if he/she is submerged. We eventually changed mines so that the player could swim under them, and made coral pieces that would allow the player to fly over, but not through them. This worked pretty well with our energy resource limiting how long the player could stay beneath the surface. We also added submerging enemies that could follow the player as they tried to hide, which feels pretty interesting but caused a lot of problems.

strider 3

We also wanted a reason for the player to kill the various enemies, since submerging and going right past them was a viable option. I’d never made anything resembling a skill/tech tree before, but that was just the thing that would make killing enemies and earning credits interesting. Unfortunately, most players never get to see the upgrade screen – the game has only one level and we had intended for upgrades to happen in-between missions.

strider 4

The single level that made it into the game was a dummy run intended to demonstrate and test the various enemy behaviors. We had planned out at least 4 levels, but ran out of time before we could implement any of them. Since the one that remained was not really designed with care, it ended up being way too difficult. The tutorial levels preceding it were put in early, which I’m happy about. Unfortunately, the submersion tutorial level is the only place you’ll see the a bridge implemented because, again, we ran out of time to build levels. Part of this reason was performance issues…

When working with Flash, it’s tempting to use color tinting, alpha fading, and crazy particle effects. I worked with Britt previously on a game called Terrarium that made the same mistake – the game looked amazing for about 4 seconds before becoming incredibly choppy. Performance is a major issue in Flash, especially when constantly changing multiple levels of alpha for various actors. The diving enemies gave us a lot of problems. They were animated with the same splashing and color tinting effects as the player, which became an issue when 6 of them popped into the screen. On top of that, enemies would sometimes try to dive on top of coral. This wasn’t normally a problem, but when two pieces of coral are too close to one another to allow the ship to fit between, the ship gets stuck in a collision problem and crashes the game. A couple of methods were tried for detecting coral beneath the diving enemies, and eventually one worked well enough to prevent about 90% of these crashes.

Despite the problems we had, we ended up with a game that I like quite a bit. I enjoy the mechanic and feel like there might be something there. Also, I love that we got voiceover for the boss fight and menus. Will Bucknum nailed the ’80s action hero vibe we were going for. The controls are a bit off, though – I intended to use WASD and force-based movement, but eventually but forgot about that as the weekend marched along. I’ve been working to improve the Strider Submerge’s performance in a separate upload from that submitted for the jam, and intend to build out those levels too. Moving the upgrade screen to right after the tutorial also does a better job of showing off all the hard work I put into making that work, so if you get a chance check out the original upload as Strider Submerge, then go try my current build: Super Strider Submerge.

MiniLD 50: Crashdown

Posted by (twitter: @robotinker)
Saturday, March 29th, 2014 9:41 pm
Don't stand directly between dragons...

Shoot things in Crashdown!

Another month, another jam! Crashdown was a Titanfall de-make intended for Mini Ludum Dare #50 (theme: de-make), but was delayed due to plague. I got sick just before the jam was scheduled to officially start, so I couldn’t finish the thing. It sucked watching the art and sound assets just sit in a Dropbox folder while the deadline passed. Oh, well.

The project was surprisingly challenging despite being a simple one-stage run and gun. The toughest parts were figuring out how to make the various types of wall jumping work reliably and figuring out what to do when the mech dies. You might recognize the cool-down icon was taken from Molten Progeny, though I had to tweak it somewhat.

I was never able to guarantee that the dragons you fight wouldn’t get stuck in the level geometry – which crashes the game – but I was able to make it happen infrequently enough to be playable. I’m happy with the logic I made for the jumping behavior, but all the mech interactions are so messy that I’d rather re-write them if I were to do something similar in a future project.

Submission page here.

Terrarium Post-Mortem

Posted by (twitter: @robotinker)
Monday, February 24th, 2014 9:13 pm

Littleguy2 (1)Littleguy2 (1)Littleguy2 (1)

Though I had no plans to make a game going into the weekend, I ended up programming a submission for Mini LD #29.

This was the first game I’ve collaborated on remotely, and since it was a team of two we were able to manage communicating pretty easily. I’m not sure how it would have gone if the team were bigger. More “project management” might have been nice, like hourly updates that let people know how far we’ve gotten and when were planning to take a break. For a last-minute project, though, I’m pretty happy with it.


The game takes place entirely inside of a small terrarium. It’s not clear whether it’s the size of a snow globe or a zoo, but it didn’t really matter. Players traverse the plants to catch fireflies that emit musical notes. To let the player walk over leaves and make it feel right, I made a drop-through platform that was invisible, and placed copies of it all over the level. The platform itself s just a trigger – it didn’t have any physics that would collide with things – but when the player hits it from the top, it continually resets the player’s Y coordinate to be above the platform. It felt horrible to write code like that, but it got the job done and allowed players to “ascend” plants by walking into platforms from the side as well.

Aside from logic programming, I got to play around with lighting and particle effects for this project. Working with alpha layers is a lot of fun, and getting them to flicker and fade is really cool. Plants give off spores, fireflies have glow effects that brighten as the game progresses, and the player sheds little pollen particles once they come in contact with blooming flowers. The life we breathed into this tiny landscape was truly a joint effort – Britt’s amazing art and sound made it something gorgeous to behold, and my programming gave motion to the various critters that live there. Game linked below


Molten Progeny Post Mortem

Posted by (twitter: @robotinker)
Saturday, December 21st, 2013 9:07 pm


I never imagined that my first game project would be called “Molten Progeny.” To me it sounds like melted baby, but when we named it we were too tired to come up with a more elegant description of what this project is about. Molten Progeny is a game about a phoenix atop a volcano desperately trying to protect her egg from hungry reptiles. Thematically, she only gets one egg.

It’s not surprising that the first jam game I was able to finish was made at a real-world meet-up. I was fortunate enough to have three talented artists at my disposal since few of the attendees could program. Working with them motivated me to finish the project so their hard work could see the light of day. My team did a great job with the art, but after seeing some of the feedback the game received it became apparent that the project had some shortcomings.

Pixen Problems

As we made the art assets, I did some simple manipulations to generate placeholder art for the various animations and enemy types using Pixen. Strangely, every time I saved a PNG in Pixen the color seemed to lose a little saturation, so you might notice the shade of enemies facing left a bit lighter than those facing right.


Animations? Who needs them?

Due to time constraints, a lot of placeholder art ended up in the final game. In fact, the only enemy with complete attack and walking animations is the Strong Nasher. Luckily, this gives them a sense of weight and importance that the other enemies lack, which is appropriate since they are strongest and toughest. The other enemies just skate along with no animations, which is less noticeable because of how quickly they move.

Difficulty Curve Wall

From what I’ve seen, most players score somewhere between 150 and 250 points, which is enough for all the basic enemy types to have been introduced but not enough to have seen all the combinations of those enemies. The spawn rate and composition could have used more tuning to make the difficulty ramp less dramatic. Even I can only get between 800 and 900 points and I’m the guy who programmed the thing.

Theme M.I.A.

To incorporate the theme of “you only get one” we used the fairly common “defend something from waves of enemies” game type, the idea being that you only have one of the thing you’re protecting. Our implementation of the theme ended up feeling a bit too routine, to the extent that some players didn’t see it at all. The theme was  incorporated into the ending as well, which would have made up for it except that most players didn’t interpret it as we had intended.

That Ending was so Shyamalan

Some players were confused about the ending of the game, which is mostly our failure so I’ll explain what we were going for. As the phoenix becomes overwhelmed, her egg cracks to the point that she swoops in to protect it. The volcano on which the egg is perched erupts, consuming everything. When the scene is over the player sees a phoenix hopping around in the aftermath. Most players took this to mean that the egg had been destroyed and that the mother remained to mourn her loss. What I had intended was for the mother phoenix to be consumed in the eruption, protecting her egg, which hatches into the baby phoenix the player sees on the score screen. We tried to differentiate the two characters by giving the child less developed wings and beak, a higher pitch, and having the child hop around instead of flying.


Since the score screen transitions directly to the title screen – which shows an intact egg atop the volcano – it sort of implies a cyclical narrative of rebirth, that the child born of the volcano nests there again and has to protect its progeny from the same dangers in the next round. It that sense, you only get one phoenix, who is continually reborn.

Wrapping Up

I’m really happy to have finished this project and had the opportunity to work with a team. I had no idea how intense game jams were, but I came away with a firmer understanding of what goes into making games and how to improve my design skills. If you haven’t seen it yet, I hope you’ll check out the game and tell me what you think.


[cache: storing page]