About tSwitch (twitter: @drwSwitch)


Ludum Dare 28
Ludum Dare 26
Ludum Dare 25
Ludum Dare 23
Ludum Dare 22

tSwitch's Trophies

tSwitch's Archive

Make it Count.

Posted by (twitter: @drwSwitch)
Friday, December 13th, 2013 7:30 pm

I’ve decided upon my idea, named Make it Count.

You are an [insert action movie profession], tasked with protecting valuable [stuff] and hostages from [enemies].  Still haven’t decided.

Anyway, your whole shtick is that you do every job with just one bullet, no matter how many bad guys happen to be there.  So, every level will be a puzzle where you have to ricochet the bullet the right way to hit all of the enemies, with minimal hostage death or property damage.

It seems like this game will be simple to code, so the hard part will be getting the levels to be challenging and entertaining enough…

I’m so in.

Posted by (twitter: @drwSwitch)
Friday, December 13th, 2013 11:51 am

The game developer formerly known as NAMKCOR is in.  I’ve had a lot of fun with these in the past ( though summers seem cursed for me ), and I’m looking forward to tonight!

I will use Haxe and HaxePunk in Sublime Text.  I also will use Renoise for sounds, SFXR for samples and effects, and audacity for filetype work.  If I need a font, I’ll be using Stately.

You can follow me here for my hourly updates, or on http://tswitch.tumblr.com/  Lastly feel free to add my twitter handle, @drwSwitch, and complain loudly at me for not updating it that often.

Holy potato!

Posted by (twitter: @drwSwitch)
Tuesday, May 21st, 2013 7:15 am

Top 100 Finish?

#77 overall?

I couldn’t BE more astonished.  I’m so happy people enjoyed my game that much, and there’s nothing more encouraging than that.  I think I’ve got all the motivation I need to work on the post-compo version now.

Congratulations to all of the compo and jammers that finished their entries, and thank you to everyone who rated my game.

You’re all awesome.

MBlok Postmortem

Posted by (twitter: @drwSwitch)
Monday, April 29th, 2013 11:40 am



Click here to PLAY and RATE MBlok

At the beginning of the project I set myself a goal, like I did in the three Ludum Dares I have participated in prior.  In my first, my goal was to finish.  I was disappointed with what I made, as I focused so hard on finishing my game, that I stripped away polish and ended up with something that wasn’t very fun.  In my second, my goal was to make something simple.  I ended up with Stargazer and was very happy with the result.  In my third, my goal was to do something I hadn’t done before.  I chose perlin noise generation, and randomly generated my terrain for A Villain is YOU!  Again, I was rather happy with the result.

This time, my goal was to make my game polished and fun above all else.

I chose HaxePunk for my platform of choice, as I wanted to be able to easily compile for multiple platforms.  I would have gone with Stencyl, as I had for two of my previous entries, however the longer I use Stencyl, the more I feel limited by it.  It is a wonderful platform, but it lacks meaningful class structure, and the interface makes it slow for me to develop in.

That said, I love the concept of haXe, and the syntax is familiar, and so I chose HaxePunk over Haxe Flixel.  Why?  It’s quite simple really.  Haxe Flixel’s API listing page is broken, and HaxePunk’s isn’t.

That said, I had a few moments of frustration with HaxePunk early on, but overall I quite like the library and would work with it more in the future.

So, let’s tackle this whole scenario in chronological order.

First, the theme.  Minimalism.  I wasn’t too hyped about it, but it wasn’t Alternate Physics, so I was happy ( though in retrospect I could have made the exact same game and it would have fit for Alternate Physics as well ).    I brainstormed for about an hour and settled on two ideas.  First, a one button game where you played a planet at the center of a radar system, and you hit the button at the right timings to fire on enemies that are revealed by the rotating radar blip.  Second, a game where you click to remove blocks, and gravity changes to rearrange the mess of blocks into new and interesting patterns.

I chose the second, as it seemed like much more fun to make.

Originally, the goal of the game was to reduce the blocks from multiple colors, to a single color.  I also wanted to make blocks fall down off the screen when they were no longer supported.  This never made it past the planning phase, however, as I couldn’t come up with a good ( read: clear ) set of rules for when a block would fall.  So development continued, assuming that the block had a bottom, and everything fell according to the gravity.

I then encountered my first frustration with HaxePunk: there is no true camera.

I originally wanted to rotate the block when gravity switched.  The stage would have been magically dynamic and interesting to look at.  Rather than rotating every single block and their positions around the center of the screen, I had planned on simply rotating the camera 90 degrees.  Unfortunately, the camera I found in the API was just a reference point for where it should be, and I could find no way to apply a rotation to it.  There were mentions of rotations elsewhere in the API, however there were no resources or examples showing their usage, and my tinkering with angle properties amounted to nothing.

If there was a proper camera, I could not find it.

Instead, I worked around this restriction, and came up with the square stars in the background.  They fall like a normal field of stars, with their speed proportional to their size so as to add depth, and they fall according to whichever direction gravity is currently set to.  I’m rather happy with this workaround, as it retained a measure of the dynamic feeling I wanted for the gravity, and was also incredibly simple, much like rotating a camera should be.

Around the 4:30pm-5:00pm on Saturday, my game was shaping up and graphically pretty, and I was working on adding actual levels.  However at this point in time, I had changed the goal from one color only ( which was far too easy ) to one BLOCK only.  Gravity was moving automatically at set intervals.  I wasn’t happy though, as the game didn’t feel fun.  It was a mechanic with nothing to drive it.  There was no challenge, very little thought, and the level design was unclear.

So I whiteboarded for a couple minutes.  My train of thought went something like this:  Minimalism as a mechanic.  Reducing the complex to the simple.  Combos are good, gravity is good, the block is dynamic, the mechanic is simple.  What makes it challenging, what makes it a puzzle?  What if I let the player control the gravity?  Could work, adding control can add strategy.  One block is pointless, one color is pointless, the former is too easy, the latter has no pitfalls or strategic feeling…  What about no blocks?  Easy to do…oh.  OH.  As few moves as possible!  Maybe as little time too!  Minimalism isn’t the mechanic, it’s the strategy!

I had it.  I knew it would be fun, and all I had to do was make good levels.

I added level select, a good level config system, five levels that I sorta threw together and calculated pars for based on running through them a couple times myself.  I have terrible problem with making games too hard, so I raised the pars a little, and almost doubled the time limits.  I probably shouldn’t have, as it resulted in the game lacking in challenge.

I’m also terrible at making puzzle levels quickly, and having them be fun.

Around midnight, I had five levels, a level select screen, and a results screen, and it all flowed well.  So I decided I deserved to sleep more than four hours, and took a good long break.

Woke up Sunday at noon, and started on the title screen and music.  I’m terrible at music, but it seems to have come out decent at least.

Then I ran into my second issue.  In cpp targets, I can only have one mp3 play at a time.  I had originally planned on only using mp3’s for sound, so I wouldn’t have to conditionally compile my sound code.  I had to use OGG files for cpp targets, which to be fair are far better, but it was a tad bit annoying.  Sound also doesn’t loop, and seems to cut out on Windows.  I’ll deal with it later though.

Then I had a fun little nightmare trying to build for windows, when my haxe install broke apart.  But in the end it worked more or less.

So, I finished and submitted my game, and I’m rather happy with the result.  For the third time, I feel like I’ve accomplished my goal.  My game is fun, if easy, and polished.

Lastly, I looked into itch.io, which is essentially bandcamp but for indie games.  I think it’s pretty awesome and I’m going to keep using it in the future to distribute games.  I’ll be posting updates to it, and possibly updating this blog when my post-compo version is done.

Oh, and I also did a timelapse for the first time.

I had a great time with this project, and look forward to LD27 in August.

MBlok available on itch.io and Ludum Dare

Posted by (twitter: @drwSwitch)
Sunday, April 28th, 2013 4:30 pm




MBlok was super fun to make, and I’m glad I spent the time to come up with a simple mechanic, because it resulted in a neato game that definitely deserves more development and more levels.

Please take the time to review my game here on the LD page once the judging starts:



If you’d like a non-ld page to show off the game to people, I’d love to hear the thoughts of anyone, not just LD participants.



Hand out the itch.io page if you want, and let me know what people think.


I’ll be hanging out in the IRC channel for at least the next 3 weeks, and am 100% willing to review your game, if you take the time to review mine.  I may review your game anyway, but the review-back is just nice.


Good luck to everyone who is still working, and I can’t wait to see what you all have to show for your compo and jams.


If you want to watch my timelapse, it is available here: http://youtu.be/mH4lIer5IE0

Ludum Done

Posted by (twitter: @drwSwitch)
Sunday, April 28th, 2013 2:45 pm

And I’m done.  Well, I’ve been done for 2 hours, but I was getting my timelapse together in that time.




Posted by (twitter: @drwSwitch)
Sunday, April 28th, 2013 9:41 am

Slept ’till noon, feel great.  Working on the title screen, then music.  Probably some sort of instructions thing too.  Displayed in game or something.

5 Levels of Fun

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 9:27 pm

5 levels complete.  It’s time for a rest.  I’ll be back in the morning working on musics, and a title screen.

Level Headed

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 8:57 pm

Screenshot 2013-04-27 11.55.56


Getting content put into the game.  3 levels isn’t so bad, I’m going to shoot for maybe 5.  Then I’ll mess around with a title screen, and read for a while, before spending tomorrow on music.

Loser! ( possibly Winner also )

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 7:50 pm

Screenshot 2013-04-27 10.49.02


I’m terrible at my own game, apparently.

Not really, I haven’t put any real levels in ( save for the first ).

Break Over

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 7:02 pm

Break time over, working on the victory/defeat screen.

Selected and Begin

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 7:01 pm

Level select screen now works fully.  As in scrolling through the levels and opening one up to play.  I need to put a short delay of some sort before the game timer begins, but other than that it’s pretty smooth.


Now I just need to add in the victory and loss screens, and a title screen, and I’m thinking at minimum 5 levels.


Then I think I’ll work on some music, and if I’m feeling really ambitious, I’ll see what I can do for saving data…

Early Bird gets the Potato

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 3:50 pm

Screenshot 2013-04-27 06.48.52

Posting my update early this hour! Level select screen is coming together. I am showing a preview of what the level looks like, it’s pretty neat.

Better late than never.

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 3:11 pm

Oops.  Missed the update by 11 minutes…

I’m working on the level select screen.  ’nuff said.

Rework for the better.

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 2:02 pm

So I’ve reworked the game’s design a tad.


Rather than reducing yourself to 1 block, you want to eliminate all of the blocks, but with as few clicks as possible.


Each level has a time limit and a par, and you can shift gravity manually.  You don’t use up your moves by shifting gravity, only by clicking blocks.


You have to approach the game as a minimalist.  Combo as many blocks as you can for high points, and to lower your clicks.  Also, the faster you finish the level, the more bonus points you get.  So basically, the simpler, the more minimal your solution, the better you do!

Playable soon!

Posted by (twitter: @drwSwitch)
Saturday, April 27th, 2013 12:54 pm

I’m going to have a flash testable up within the next hour.  Will keep you posted.

[cache: storing page]