About | Rules and Guide | Sign In/Create Account | Write a Post
Construction1990’s Internet Montage? No!
Please excuse the site weirdness. Mike is fixing and making things.
Ludum Dare 31 — Coming December 5th-8th 2014!

  • ??? Begins: in 8 days, 19 hours, 9 minutes, 29 seconds
  • October Ends: in 9 days, 19 hours, 21 minutes, 29 seconds
  • Ludum Dare 31 begins: in 44 days, 20 hours, 9 minutes, 29 seconds
  • (FYI: Clock might be off) | Ludum Dare 31: Real World Gatherings (Now Open!)

    [ October Challenge 2014 | Resources | Submit/Edit | View All ]

    About MrPhil (twitter: @xMrPhil)

    My name is Philip Ludington, I'm a professional programmer by day and I dabble in game development on the side. I dream of one day making computer games full time, but it might take a while because I'm highly prone to procrastination.

    MrPhil's Ludum Dare's
    LD6 - Apr 2005 - Light and Darkness - DNF
    LD11 - Apr 2008 - Minimalist - Battle Magic
    LD12 - Aug 2008 - The Tower - Stacker
    LD13 - Dec 2008 - Roads - Iron Roads
    LD16 - Dec 2009 - Exploration - DNF
    LD17 - Apr 2010 - Islands - Island Airline
    LD18 - Aug 2010 - Enemies as Weapons - Unnamed
    October Challenge 2010 - Stacker
    LD19 - Dec 2010 - Discovery - UNSS Pasteur
    LD21 - Aug 2011 - Escape - DNF
    LD23 - Apr 2012 - Tiny World - Seeds of Destruction
    LD24 - Aug 2012 - ??? - COMING SOON!

    Mr. Phil Games


    Ludum Dare 24
    Ludum Dare 23
    Ludum Dare 19
    October Challenge 2010
    Ludum Dare 18
    Ludum Dare 17

    MrPhil's Trophies

    Archive for the ‘LD #23’ Category

    Chevy Ray’s Codebase

    Posted by (twitter: @xMrPhil)
    Friday, August 24th, 2012 7:36 am

    I took Chevy Ray‘s code that he released as part of his keynote for LD23 and put it up on github.  It is written for his FlashPunk engine.   I used it to make my LD23 entry Seeds of Destruction and it worked out really well for me.

    PS Chevy if you happen to see this, I’ll happily transfer the repository to you.

    Seeds of Destruction – Post-Mortum

    Posted by (twitter: @xMrPhil)
    Sunday, May 13th, 2012 12:55 am

    Play Seeds of Destruction
    If you haven’t played, I recommened you do. It’ll only takes a few moments to get the gist. It is a flash game, so you won’t waste anytime downloading/installing.

    What Went Right?
    1. Practice – I spent a good month practicing. I knew I wanted to use Flash and FlashPunk which I’ve never used before. So, I spent about a month before the event doing tutorials and then I worked on porting my Ludum Dare 17 – Islands entry to flash. Althought I didn’t finish the port, it was good to get my hands dirty with FlashPunk.
    2. Chevy Ray’s Code – When the keynote was released and I discovered that Chevy Ray had given everyone a beautiful gift of awesome code, I immediately downloaded it and studied it. Then, during LD23, when brainstorming I threw out ones that could not be used with his starter code. It definitely shows that I did this, but I think it was worth the trade off.

    What Went Wrong?
    1. Bad Screen Switching Bug – in the last hours of the LD I ran into an impossible bug when switching between the different screens. I couldn’t unravel it because I didn’t understand Flash, FlashPunk and the Chevy Ray’s keynote code well enough. I spent too much time trying to “fancy fix” it. I should have switched to hack mode earlier. I ended up with a hack, that included restarting the game within the game. If you play it long enough I think it’ll run out of memory and crash. Doh!
    2. Big Plans – I spent a lot of time on my animated cut scenes. It was planned to be more involved, but I noticed in time that I had to triage. I, luckily, was able to tell the bare bones story with what I had already created, but I stress how lucky I was here. I could have easily ended up with a lot of work being abandoned. I need to better judge how much I can get done in the time allotted.
    3. Curse the Cursor – Several people complained about the green cursor being hard to see against the light blue sky. I hadn’t noticed this at all. I need to build in some “looking” time into my future plans. I was so busy with game play I didn’t consider the easy of use.
    4. Distractions – I spent too much time surfing. If you watch the time lapse below I think you’ll agree. While surfing is a normal part of my routine, I feel it got out of hand. Typically I surf to give me and my subconsciousness time to organize and think about problems. Maybe I need to come up with a different way to take these thinking breaks. One that is less likely to degrade into just procrastination.

    Time Lapse

    Tools I used
    Color Wheel:
    MS Paint
    Google Images
    iPhone 4
    My Camera

    Lunch 2

    Posted by (twitter: @xMrPhil)
    Sunday, April 22nd, 2012 1:18 pm

    Feeling the presure.. AAAAAAAaaaaaaaaa didn’t bother cooking: tuna salad
    Lunch 2

    Seeds of Destruction – Play Complete

    Posted by (twitter: @xMrPhil)
    Sunday, April 22nd, 2012 9:21 am

    Play Complete
    I’ve had a few freinds play the Alpha test (here, comments welcome.) And! No bugs reported! Comments have been all positive too! My one fear is judges will think I just skinned the keynote’s code, but I guess that is one of the risks that comes with my strategy. Today is all about polish. My next task is to make a sort of intro cut scene that tells the story of how your seed landed.

    Screenshot 5

    Breakfast 2
    Breakfast 2
    Bacon, eggs and tomatoes again. And that’s ice tea I’m drinking, have been the whole Ludum Dare, home brewed even.

    Sleep 2
    Sleep 2

    Don’t Forget: The Last 10% is 90% of the Work

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 7:18 pm

    Insanity Wolf Advice

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 6:55 pm

    Dinner 2

    Diner #2 – Cauliflower with Garlic and Butter, with a Butterfly cut pork chop topped in a cream horseradish sauce.

    Progress at Half-way Point for Seeds of Destruction –

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 6:03 pm

    I have a few more items on my task list and then the game is “Play Complete.” That gives me all of tomorrow to polish, which was my goal!  I’ve never been so far at this point. I think two critical factors have made this possible:

    1. ChevyRay’s code that he gave away with the Keynote!  Thanks ChevyRay!
    2. I’ve spent the last month or so learning Flash and FlashPunk instead of waiting until the contest to learn!

    How it looks at this point:

    Half-way Point

    Snack 2

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 2:19 pm

    Celery and Peanut Butter

    Bugs have slowed my progress, but I feel good about the direction I’m headed.  I can already see some post-compo potential.  I’m thinking the title will be Seeds of Destruction.

    Lunch #1 and Serious Bug

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 12:04 pm

    Lunch 1
    It’s almost 3 pm here in Arlington, VA and I’m having my first lunch for LD23. Kind of late but I wait until I’m hungry.

    Chicken and Vegetable stir-fry.
    Lunch 1

    Screenshot 3
    It’s coming a long, but I’m feeling the pressure. My task list seems too long. Worst part is I’ve hit a bug! Maybe you can help? My FlashPunk Entity is not calling the Update method! I’ve triple checked and the World Update is being called and calling the supper.Update()!

    package SeedsOfDestruction
    import com.greensock.easing.Cubic;
    import com.greensock.easing.Quad;
    import com.greensock.TweenMax;
    import flash.display.BitmapData;
    import net.flashpunk.Entity;
    import net.flashpunk.FP;
    import net.flashpunk.graphics.Image;

    public class SeedBullet extends Entity
    [Embed(source = "/assets/Seed Bullet.png")] public static const SEED_BULLET:Class;

    public static const SPEED:Number = 200;

    public var image:Image;

    public function SeedBullet(player:Player)
    // Make the Pink transparent
    var bitmapData:BitmapData = Global.MakeTransparent(SEED_BULLET);
    image = new Image(bitmapData);

    super(x, y, image);

    FP.angleXY(this, player.stem.angle, 40, player.x, player.y);
    image.angle = player.stem.angle;
    image.smooth = true;
    active = false;
    layer = 2;

    setHitbox(40, 40);
    type = “seedbullet”;


    override public function update():void

    if (collide(“BadPlant”, x, y))

    override public function added():void

    var time:Number = FP.distance(x, y, world.mouseX, world.mouseY) / SPEED;
    TweenMax.to(this, time, { x:world.mouseX, y:world.mouseY, ease:Quad.easeOut, onComplete:explode } );

    public function explode():void
    world.add(new Explode(this));

    Sleep then Breakfast

    Posted by (twitter: @xMrPhil)
    Saturday, April 21st, 2012 7:51 am

    Sleep 1
    I wore my Fitbit to bed last night. Here’s is it analysis:
    I expected to sleep longer, but I didn’t feel like I was dragging out of bed. I’m worried I’ll need to take a nap later.  We’ll see.

    Breakfast 1
    Breakfast 1
    Standard bacon, eggs, and tomatoes breakfast.

    Now, to figure out how to best improve the game:

    • Scoring mechanism
    • Different types of seeds
    • Mobility
    • Change the way your seed bullets work
    • Improve graphics
    • Title Screen
    • Icon
    • Music
    • Sound Effects
    • Pop-up tips

    Pro Tip
    Use imgur.com (free) to host you food photos and screen-shots. It reduces the load on the Ludum Dare site and it is super easy to use.  Just drag and drop to the “Upload” section or if you register and activate you email address, simply email photos from your smart phone directly. Then uses the “From URL” tab on the Insert Media screen. I’ve also found that if you remove the width and height attribute from html the “Insert Media” screen creates the pictures re-size themselves perfectly.

    Posted by (twitter: @xMrPhil)
    Friday, April 20th, 2012 11:30 pm

    I’m hitting the sack.  Here’s where I stand: Seeds Screenshot 2 Seeds Screenshot 2

    Working Title: Seeds

    Posted by (twitter: @xMrPhil)
    Friday, April 20th, 2012 10:31 pm

    Game idea complete and fleshed out. I’m using ChevyRay’s missile command code and making it into a Nature at War game, it might end up with nanobots in it.

    Seeds Screenshot 1

    Screen Shot 1

    Dinner 1

    Dinner 1

    Snack 1

    Snack 1


    Aim High!

    Posted by (twitter: @xMrPhil)
    Friday, April 20th, 2012 5:37 pm
    Aim High

    Aim High

    Desk Shot + Code

    Posted by (twitter: @xMrPhil)
    Friday, April 20th, 2012 4:51 pm

    Here’s the command center, that’s right I code in a storage closet and that’s my cat Jack.  His hobby is to keep me from using the keyboard or mouse.

    Mr. Phil Games Earth Headquarters

    Mr. Phil Games Earth Headquarters

    I also wanted to share this snippet of AS3 code that lets you choose a color and then convert pixels of that color to transparent pixels:

    public static function MakeTransparent(source:*, color:uint = 0x00FF00FF) : BitmapData
    // Get the bitmap data so we can fix it
    var bitmapData:BitmapData
    if (source is Class)
    bitmapData = FP.getBitmap(source);
    else if (source is BitmapData)
    bitmapData = source;

    // We aren’t use the transparent feature, hence the color
    var bitmapDataNew:BitmapData = new BitmapData(bitmapData.width,
    bitmapData.height, true, 0x00000000);
    var pt:Point = new Point(0, 0);
    var rect:Rectangle = new Rectangle(0, 0, bitmapData.width,
    var transparent:uint = 0x00000000;
    var maskColor:uint = 0x00FFFFFF;
    bitmapDataNew.threshold(bitmapData, rect, pt, “==”, color, transparent, maskColor, true);

    return bitmapDataNew;


    All posts, images, and comments are owned by their creators.

    [cache: storing page]