About TFernando

Hobbyist flash game developer in Anchorage, AK


Ludum Dare 17
Ludum Dare 15

TFernando's Trophies

TFernando's Archive

LD19- Intent to Enter

Posted by
Tuesday, December 14th, 2010 2:02 am

I was up in the air on LD19… I participated in LD15 and 17, so this was going to fit in the series. But I’m working on an entry for another competition which had a deadline of Dec 15th. That deadline got extended to the 19th, which would have conflicted. But that entry (BW16) is very close to complete, so I’ll be able to participate in the compo.




I’d plan on using sfxr, but I want to play a little more with FlashPlayer 10’s on the fly sound generation… I haven’t decided yet whether to release/declare the sound & music managers from BW16 or write new & better ones from scratch. One way or another though, this will be my first LD with sound.

12hrs and I have…

Posted by
Saturday, June 12th, 2010 8:51 am

… managed to get my lobby working, and synced two clients. (The price and demand are changing in real time, though you wouldn’t know from the screenshot.)


Next up… a building selector, placement of buildings, switching between players’ power plants, a thermodynamics model (!), and sabotage. :) Also sprites, sounds and music. And a context sensitive menu. And help popups. And an AI that can play the game.

Yeah. The likelyhood that I’ll finish this is pretty low. But I’ll keep working and get as far as I can. Hopefully I’ll be able to duplicate the bug I’m looking for.

I’m in … I need to bughunt anyways

Posted by
Friday, June 11th, 2010 10:05 pm

I was going to skip this mini-LD, I really was. But I ran into an impossible bug on my current project sooo…

I’m going to build some type of multiplayer industrial simulation. From scratch except:

– I’ll use the playerio multiplayer API

Basically I’m hoping that by being forced to quickly do a message handler from scratch, I’ll either not cause my bug (in which case I can compare the MLD game code to my main project code and fix it) or I’ll manifest the bug with more understandable symptoms because the message handler will be simpler (and then be able to compare to the project code and fix it).

(If the consensus is that this in unallowable middleware, I won’t enter the game for voting. It meets the criteria of LD16 for inclusion though (free, no NDA, I’m allowed to release my source, etc))

Regardless, watch this space for news on the development of Power Plant Operator vs Ninja! (Actually, I probably won’t do very many blog updates this time, since there’s quite a bit of work to do…)

My start time is 7:00PM Fri, AKDT (UTC -8). Current time is 9PM… Current status… the design document is done ‘enough’. :)


Posted by
Thursday, April 29th, 2010 11:55 pm

A few days have passed, so its time for me to write a postmortem before I forget everything I did with Invasive.

First: Thanks to everyone who played my game!

This is long, and possibly of little interest so I’ll hide it behind a read-more tag.

I came here to rate games and chew bubblegum

Posted by
Tuesday, April 27th, 2010 10:27 pm

And I’m all out of games. Anyone got bubblegum? :)

So, since the compo ended I played and rated 172 games. Basically I started with the web games, then went through people I recognized from one or another site… then I started in on my assigned games, and when I finished those I just kinda kept rating…

If I didn’t rate your game it was because:

  • Your game crashed before the title screen, or in the first few seconds after the title screen
  • Your game caused a Blue Screen of Death.
  • Your entry didn’t provide a web version or windows binary when I checked.
  • Your installer failed (XNA only, though most were fine)
  • You required hardware I don’t own. (eg, a gamepad)
  • Your download link was broken/shut down (I checked each of these more than once, sorry I missed you)
  • Some stuff I want to say:

  • Don’t play 172 games in 2.5 days. They start to blend together, and there are some which I probably did not give the time they needed in order to be assessed. (Not -YOURS- dear reader, yours was unique and captivated me ;))
  • XNA guys– I know XNA has dependencies, so it makes sense to use installers. Please stop having those installers put stuff on my desktop and in my start menu. It’s not -difficult- to remove them, it’s just annoying. And I know you don’t HAVE to, because not all the XNA entries did.
  • Flash– You need to have at least a basic preloader. I might think your page just isn’t loading.
  • Flash– Don’t link directly to your swf. Make a dummy html page, and use the embed tag. Or have the game hosted on swfcabin or similar. If you link direct to the swf, there are occasionally scaling issues.
  • Flash– Don’t distribute your swf and call it a windows binary. Or if you do, include an html page that embeds it. Not everybody has a debug/standalone player.
  • Everybody– It’s probably not a great idea to call your .zip archive LD17.zip…
  • Everybody– Please DO indicate on your title screen how to get to the main menu. And if you include a line that says ‘Press the Any-Key to continue’, please make sure the left arrow works. :)
  • (I pick on Flash, because I do Flash.)

    I thought the over all quality of the submissions was really high! I enjoyed making my game, I enjoyed playing all yours! I’m looking forward to doing this again in August!



    Posted by
    Sunday, April 25th, 2010 11:49 am


    The start of a sound handling system is in the source code, but I’ve decided not to implement it. I’m starting to break code while tinkering, so I think it’s time to call it a wrap and get some sleep. From version 0.6, many bugfixes of varying severity. No major gameplay changes.

    Good luck to everyone still working!


    Cleaning Up, Fixes, One Significant Change

    Posted by
    Sunday, April 25th, 2010 9:42 am

    New build here

    I now have a title screen, win/lose screens, and the game can reset itself nicely. Made a number of small changes for aesthetics (aligning text, cleaning up the intermediate zoom sand tiles, etc).

    I’ve had enough play testing now, to decide that I needed to change the walls so they block both the glompers and the kiwis. So that’s done. I don’t want to make traps life-limited, so that means I’m getting close to done.

    Quite a bit of CPU usage on my computer, but it seems stable and I don’t seem to be leaking memory (for once :))

    I just need to figure out what sound effects I need/can generate… Thumps and such when the player adds objects are easy enough, but if I add a sound when things get eaten, it will be getting played more or less continuously in midgame.


    Player Interaction

    Posted by
    Sunday, April 25th, 2010 5:54 am

    The clock thingy says 13 hours left, so I think I’m in decent shape. Unfortunately, I’m starting to feel the time pressure & starting to feel tired. I’d rather have one or the other…

    Player can now place objects, and the Glompers and Kiwis interact correctly with them. Screenie:

    Playable build here.

    It’s kind of funny– I originally planned for the glompers to only be visible 1% of the time. So part of the game, was to figure out where they were and build defenses to keep them away from the kiwis. But unless I slow everything down, that just doesn’t matter.

    The other problem I’m seeing is that the Glompers reproduce just way too fast. So, instead of having them spawn every time they eat a kiwi, I’m going to require them to eat a specific number of kiwis. (I’ll define as a constant, and tune as I work on other stuff). This -might- give the player a chance.

    Another thing that might be better, would be to have the walls stop both Glompers and Kiwis. This would let the player create a preserve of kiwis.


  • Game Reset
  • Win Screen
  • Lose Screen
  • Title Screen
  • Lots of Tuning
  • Implement Hunger
  • Life limited traps (like the trees)
  • Sound (ha,ha,ha,ha…)
  • -TF

    Predator Explosion

    Posted by
    Saturday, April 24th, 2010 11:53 pm

    No screenshot, but I’ve got the basic movement and predator/prey dynamic set up now in Version 0.3 of Invasive. (Available here)

    Decided to stick with the name Glompers for the invasive species, and Kiwis for the endangered species. Starting with 5 Glompers, the Kiwis all get eaten in about a minute.

    So far I’m not doing any real pathfinding at all… The kiwis are choosing a direction randomly each frame (and getting stuck in the SE corners of each island for some reason I haven’t figured out yet), and the Glompers move in one direction until they hit an edge, at which point they change direction. I may change the Kiwis to have the same movement schema as the Glompers…

    I think I’m going to need something which the Kiwis can run into that makes them spawn. That can be a player placeable object in addition to the not-yet-implemented traps and walls. Otherwise I think the game will be over before the player has a chance to do anything.

    On the plus side, my engine seems to be handling a couple thousand kiwis pretty well! Rather than using Gilbert’s collision detection, I added a map-sized blank bitmap to my Fauna class (which holds all the animals). Since I don’t actually add that bitmap to the stage at any time, it doesn’t seem to be dragging down my rendering performance very much. When the kiwis move, they plot their location on that map as a single pixel, and when the glompers move, they check to see if they’re on a pixel that has the kiwi color. The glompers thus only have to check the entire kiwi list if they’re definately in collision with at least one kiwi. This can probably be optimized further, but it seems good enough for now.


    Pan and Zoom

    Posted by
    Saturday, April 24th, 2010 6:59 pm

    For some reason, I just wasn’t able to get a good start yesterday. Starting to catch up now I think.

    Click here for my in-progress builds (Requires Flash Player)

    Sticking the rest of this behind a read-more tag, since there’s a bunch of images.

    Back for LD17

    Posted by
    Thursday, April 22nd, 2010 3:12 pm

    I got the time off from work for LD17 (which was the reason I missed LD16), so I’m probably in.

    I guess it’s time to declare tools, etc.

    My Tools:
    FlashDevelop + FlexSDK
    Audacity + sfxr

    If I need collision detection, I’ll use Troy Gilbert’s 2007 Pixel Perfect Collision Detection class. (I think this is within the spirit of the competition.)

    Anything else I need I’ll generate after the compo begins.


    FallingTown- Postmortem

    Posted by
    Wednesday, September 2nd, 2009 7:22 pm

    I probably should have written this closer to the end of the contest, but I wanted to finish a small puzzle game (The Knight’s Tour) I had started the week before for release. As a result, my recolection of some of this may be a little hazy.

    I’ve added a zip containing my project directory to my game’s page… it’s complete except that I had embedded the font ‘Arial’, and you’ll have to add your own copy of arial.ttf to the font’s directory in order to get it to build.

    FallingTown — Submitted —

    Posted by
    Sunday, August 30th, 2009 5:29 pm

    Well, it’s done! I’ve submitted. I started feeling time pressure a few hours ago, and I think I caught all the fatal errors anyways. There are certainly still some issues with the display, and the AI. (It’s quite presumptious to call it AI– there’s three scripted behaviors. One of them is ‘ask the random number generator where I should move’. You can play with the game to figure out the others or wait for a postmortem. :)

    Of the things in my last post, the only thing I don’t think I really handled was a help system.. there are instructions, and slightly better instructions in the submission entry. A lot of the last minute stuff was a kludge though. This is my code in my Main class for handling a reset or restart:

    case 8:
    if (this.contains(GameOverScreen)) this.removeChild(GameOverScreen);
    if (this.contains(CGame)) this.removeChild(CGame);
    CGame = new CavernGame();
    GameState = 5;

    Obviously that’s not an acceptable way to restart– CGame is a HUGE object by the time the game ends and restarting hangs my flash player for about 20 seconds. (I don’t have a profiler, but Windows Task Manager shows a 30Mb jump in flash players memory usage when that section of code is called) However– it does work. And it would take me more than the two hours and change left to find all the variables that need to be reset in CGame. I’m also tired, and I’m at the point where I’m afraid I might break something trying to add polish.

    I’m looking forward to seeing everyone elses work, but I’m going to get some rest first. I’ll leave you with a couple screen shots:



    FallingTown 0.6

    Posted by
    Sunday, August 30th, 2009 1:45 pm

    I can’t believe how far some of you guys got… I must be looking at the compo site too often. New build is up, here. I’ve implemented scoring, couple of bugfixes. 6 hours left, I need to:
    – Set computer behaviors
    – Set Win/Loss conditions
    – Write Instructions
    – Add a help button
    – Add a reset button
    – Do whatever gameplay tuning I have time for… don’t think it will be much.


    Moar color

    Posted by
    Sunday, August 30th, 2009 11:34 am

    Well, it’s more colorful anyways… Fixed a bug which caused the stress grid to recalculate itself up to 800 times per frame o.O Score and cash displays in progress and coming up next…

    FallingTown 0.5

    Posted by
    Sunday, August 30th, 2009 10:18 am

    New playable build. Got the building selector working a lot faster than I expected. Now I need to (in the order it’s likely to happen):
    – Recolor Buildings so they are unique for each player
    – Add tracking for the Player’s Cash (Left side of screen) and Points (Right side of screen)
    – Come up with a score mechanism :eep:
    – Script some type of AI to replace players 2-4. Generally thinking here, player 2 will always place the largest building he can afford on the least stressed square. Player 3 will 25% of the time place a support, rest of the time place a building on a low-stress square. Player 4 will try to collapse the human player’s buildings into the cavern… but obviously none of this has been implemented yet.

    [cache: storing page]