About pentaphobe (twitter: @pentaphobe)

I make musics and codes and drinks and thinks.

Entries

 
Ludum Dare 26
 
Ludum Dare 24

pentaphobe's Trophies

The Instigator of Good Things
Awarded by Mezzomatto
on August 23, 2013

pentaphobe's Archive

IceBreaker – PostMortem

Posted by (twitter: @pentaphobe)
Tuesday, April 30th, 2013 1:14 pm

Intro

IceBreaker is a minimalist free-pause RTS-ish thing (probably better described as an FTL-like, though bearing little similarity) set in a Cyberspace similar to the one portrayed in William Gibson’s Neuromancer (a book which changed my adolescent life and is at least partially responsible for my getting into programming).

I didn’t get much (okay, any) journal-writing done during the weekend, though there’s a vague run-down of events in the project’s github page.

So consider this (rather large) postmortem post-hoc overcompensation. (and apologies in advance for the spam)

Blender was extremely helpful for rapidly producing the future-retro look

Blender was extremely helpful for rapidly producing the future-retro look very quickly, even the sprites were tiny renderings with wireframes

You can’t quite tell, but it’s a stripped-down RTS:

  • no resources or buildings (instead you have gestation periods for replication)
  • since you can’t build unit factories, you instead have to replicate (and be vulnerable), but if you’re standing still you will heal
  • there /are/ classes, but they are restricted to *strength* (hit amount) and *vitality* (health)
  • it’s meant to be broken down into very short levels, generally with you collecting/destroying something which is being protected.

Statistics

  • Four litres of coffee consumed
  • A whole forest of tobacco
  • 3,617 lines of code
    • That’s 60 A4 pages if printed out
    • According to Wolfram Alpha that’s:
      • about 17.8 metres ( 58 ft ) tall
      • 6.6 storeys high
      • and about half the diameter of the Hindenberg
    • Very sore wrists (hush, you!)
  • somewhere between 3 and 6 hours of sleep

Screen shot 2013-05-01 at 5.18.22 AM

What went wrong

  1. strong underlying system
    • unlike my last two LudumDare attempts, I knew what I wanted to do very quickly, I wrote about three pages of ideas and then stopped when I realised I’d already made my mind up to do the first one.
      However I didn’t flesh out the details as much as usual and so started building the basic framework while pondering, knowing I could change the details later on.  This resulted in a lot of code ( ~60ft worth! ) that, whilst extremely useful was probably not necessary to get the basics of the game done.
      I remain convinced that it was doable within the alotted time period (the post compo version is only an extra 4 hours work, with the last 3 mostly being unnecesary tweaking)
  2. not enough testing of environment
    • I did more preparation than previously, but I wasted time on a few things which could have been sorted out before the compo:
      • setting up the live stream stole about 1-2 hours, admittedly I was feeling a bit braindead/overwhelmed/uninspired so this was a better utilisation of time than say, nothing.  But this should have “Just Worked”
      • Final builds (I’ll get to that)
  3. using an unfamiliar framework and language (again)
    • In my first LD, I used AS3/FlashPunk which I’d picked up a couple of hours before the compo.  In the second, I used Java/LibGDX and didn’t complete – whilst I had familiarity with Java I was very very new to LibGDX and as a result spent wayy too much time googling.  This time was a fair bit better (Haxe is quite similar to Java/AS3) but I still had little to now experience with either it, or HaxePunk
    • HaxePunk is quite nice, but unfortunately not quite “there” yet for me, I wrote a disproportionately large amount of patches to the library in order to get basic features to work normally.  This stole quite a bit of time, but it was far too late in the project to change ships.  I look forward to using it more though.
  4. refactoring at the halfway point
    • despite having most of the system quite well designed in my head, I had to stop and write a vast swathe of code on day 2, partially to undo the odd choices of my sleep-deprived self the night before
  5. sleep (braindead 6+6 hours)
    • I should have done it sooner, and more.  I’m quite good without sleep, but I ran rampant on the code-base when I  started getting exhausted.  Much time was spent rectifying this spaghetti.  I’m not sure how long I actually slept (somewhere between 4 and 6 hours), but I easily lost 12 hours to silly choices and then the bleary-headedness upon waking.

      an early screenshot complete with pointless UI and ugly tiles

      an early screenshot complete with pointless UI and ugly tiles

  6. didn’t demonstrate theme clearly enough (despite following it)
    • I had basic gameplay down very early in the project this time, but the sleep-spaghetti resulted in about 10-12 hours of programming which left me (effectively) where I started
  7. planning
    • I actually planned quite well in a lot of ways, but some very fundamental (and rudimentary) aspects were overlooked initially, resulting in much confusion and wasted time
  8. submission process panic!
    • I tested my environment this time to avoid this exact thing.  However I discovered (at submission time) that whilst my project ran perfectly in the Flash standalone player, it would silently fail completely in-browser.  It turns out all I had to do was add “-web” to the build command, but it took me far too long to discover this!
  9. no end-game detection or automatic level progression
    • despite “shipping” with a few levels, the submission process issues resulted in my missing the 20 minutes that I needed to finalise this important factor of a “short-level based game” and the gameplay suffers for it.

What went right

  1. strong underlying system
    1. Yes, it’s a dirty trick having this in both sections.  But I maintain that the approach was a good one, early efforts resulted in the tutorial system being a mere 45 minutes to implement, and most new features were added extremely quickly
    2. I used JSON for most of the configuration of the game, allowing rapid prototyping of enemy AI, character attributes, menus and the tutorial system)
  2. using Haxe and SublimeText 2
    1. This was a pretty awesome combination, I look forward to being able to justify the $70 license for SublimeText2 (this was my first real experience with it, and it was wonderful).  I have been using (shudder) Eclipse for a while despite my lack of appreciation for IDEs in general so it was nice to have a “real” development environment again.  However I’ve gotten rather dependent on Eclipse’s easy mass-refactoring, and you can really tell (names of things changed through the course of the project and thus there are some things named Agents which are actually Actors and so forth)
  3. the game idea
    1. I think this concept is pretty sound, and I enjoyed playtesting it.  Definitely building some more levels and a little more “Juice” and thrusting it in the face of anyone who walks by
  4. music and art
    1. There were a few times when my brain completely went on strike, so it was good to change gears and work in Blender or Renoise to build some of the feel, having these elements in game was also fantastic for morale.
    2. The music was made in about 5-15 minutes for each of the two tracks
    3. Art was quite quick too, despite a few false starts
  5. tutorial system
    1. I’m really happy with the tutorial system, which could also double as a mission introduction system.  It hooks into game events and each dialog of the tutorial can have a number of events required before it appears, or disappears making it very easy to make a clear (and importantly, responsive) tutorial.
Tutorial system

The in-game tutorial system is quite smart, if a little overenthusiastic

Last words

Thanks to everyone for an awesome experience yet again!

Project source (github) | Project page | Live stream (twitch)

I strongly encourage you to try out the Jam/Post-compo version after you’ve rated, as it’ll be a lot more clear what I was trying to achieve

IceBreaker mini pre-sleep post-mortem

Posted by (twitter: @pentaphobe)
Sunday, April 28th, 2013 10:29 pm
when I was a kid this sort of image was like crack.  it's so laughable now.  stupid kid.

when I was a kid this sort of image was like crack. it’s so laughable now. stupid kid.

------------------------------------------ 
--- I - C - E ---- B - R - E - A - K - E - R --- 
------------------------------------------------

(When I get up I’ll do a post-sleep post-pre-mortem-post-mortem, some of this will just be taking some of the prolix and manic text out of my submission page – yay sleep dep!)

That was a lot of fun! (but it’s not over yet..)  I somehow wrote just shy of 3,000 lines of code in 48hrs.  It’s almost certainly 90% ugly horribleness, and I’m not a fan of LOC as a metric of productivity – but it still feels pretty cool.  (If I printed it all out it would take about 46 A4 pages).

Unfortunately, quantity of code does not equal a finished game.  About halfway in (after some sleep) I lost a lot of time to vascilating between confusion at the code I’d added before passing out (that guy was craaaazy) and feeling generally dumb.  But eventually I got it nailed down and was grateful to discover that, whilst I had lost track of what I was doing – the more responsibly-minded part of me had sent me down a tunnel with no wrong turns.  Not to say I didn’t bump my head a few times, slip over in miscellany or mistaken inanimate objects for long-lost lovers..

 What went wrong / right

that one’s for the morrow I think, sorry – they’re my favourite part too.

 

Tools Used

 

It may not be much right now, but I think after I’ve checked the rules I may enter the Jam so I can see it closer to a working game.

I’ll be uploading post-compo editions to the entry’s page as I go (in about 8 hours or so)

 

NOTES

(this is just copied over from the submission page to reduce clutter, tl;dr: rambling…)

circa T+05 mins
began writing submission
circa T+20 mins
I’m having a few unanticipated issues with publishing; the .swf
seems to work fine in the standalone Flash player, but not
even remotely in a browser.
I’ve got 20 minutes or so of submission hour to work it out, but
here’s the swf for the time being (same link under “Windows” unfortunately)
circa T+56 mins
Okay, got it to publish. Seems to have odd framerate issues.
Will use my last 3 mins to see if I can suss it out.

Uh oh!

Posted by (twitter: @pentaphobe)
Sunday, December 16th, 2012 2:49 pm

The time is rapidly running out and my todo list is only slightly shorter.

Mainlining coffee and bustling through the remainder.

Sorry, Douglas Adams - just this once I shall not agree..

Sorry, Douglas Adams – just this once I shall not agree..

Getting back on track, switch to a different idea

Posted by (twitter: @pentaphobe)
Sunday, December 16th, 2012 1:45 am

After seeing a post by DigitalDuck with a screen shot which looked like exactly what I was aiming for (though he had a better art style!) I decided to go for what was my favourite idea in the first place:  No, Mister Bond…

NMB was originally the most instantly fertile idea for me, but I ditched it out of concern that approximately 40% of the entries would be the same or similar.

So: thank-you, DigitalDuck for giving me the incentive to revisit my concept list!

Status

I’ve built almost all of the system, but outwardly it resembles something one could whip up in Flash in about 20 minutes.

Here’s how it currently looks:

Where the project stands at about halfway through.Those are rooms which you build, they have hazards.  It'll make sense why this is fun soon.

Where the project stands at about halfway through.
Those are rooms which you build, they have hazards. It’ll make sense why this is fun soon.

Looks can be deceiving though, and here’s a rough mockup of how it should look quite soon:

 

A quick mockup while I drink coffee.  I think the final version will actually look better than this, but I wanted to get back to code..

A quick mockup while I drink coffee. I think the final version will actually look better than this, but I wanted to get back to code..

 

Obviously this is without UI and other game-like visual cues – but since I’ve not been very good about updates this time around I figured I’d put in a modicum of effort.

 

In Other News

  • I am really really glad that I put the effort into setting up an ergonomic work space, this was a fine idea and will save my spine.
  • I am really really disappointed in myself for spending no more than 45 minutes at the aforementioned ergonomic workspace, instead doing most of my code cross-legged at this tiny desk for little people:
In case the scale isn't clear, this is the perfect setup to end up looking like Gollum

In case the scale isn’t clear, this is the perfect setup to end up looking like Gollum

 

Occasionally my spine and knees rebel, and forcibly drag me away from the computer to collapse in a vaguely full-length manner.

I'm a foot shorter than I was yesterday

I’m a foot shorter than I was yesterday.  Hey.  I should cut this image out and make it look like I’m high-fiving someone in mid-air..

This is a dangerous activity and can rapidly lead to such horrible things as physical comfort and the realisation that I could be sleeping/eating/not-slowly-curling-back-into-a-foetus.

This is approximately the same position I spent the last Ludum Dare though, so perhaps it’s nostalgia, not just pure stupidity?

Delirium is knocking at the door, must be time for my second 3hr nap.

Thematic Woes

Posted by (twitter: @pentaphobe)
Saturday, December 15th, 2012 2:14 pm

Moving a little more slowly this time (I’m rapidly regretting my decision to go with LibGdx – it’s a good library, but not as intuitive to pick up quickly as FlashPunk was – despite being more comfortable with Java than ActionScript).

I’ve got most of the underlying game stuff working okay, but have been slowed somewhat by deciding I don’t like the idea I chose :)

Some ideas I didn’t pursue

(warning: this is a selection from my brainstorming session and as such contains many lame ideas :)

  • Crazed gunman – opted out of this one as it’s kind of tacky
    • Sniper-style
    • GTA2-style “kill frenzy”
  • God games – these seemed cool, but seemed hard to make fun in a short period
    • Old Testament heathen smiting
    • End-game: The Rapture
    • Disaster Master
    • Punish humanity for their (insert cardinal sin here)
    • Raptor
    • Due to a translation error, devout folk waiting around for The Rapture are instead faced with a gigantic raptor
  • Somalian Pirates – I don’t even know where I was going with this
  • SUV Driver
    • GTA2/Carmageddon like.
    • Bonus points for pollution, kills
  • Mother Nature – some of these are similar to Disaster Master
    • destroy humanity before they destroy you
    • and the reverse, attempt to populate every square mile of the planet and attain ultimate destruction
  • Tower Offense
  • Oil Baron
    • destabilize governments
    • slaughter natives
    • pollute land in order to purchase it more cheaply
    • sabotage competition
  • Colonisation (aka kill all the natives!)
    • spread disease
    • dilute blood lines
    • massacre
    • introduce religion and pop culture
  • You are the virus
    • Infect your host to as high a percentage as possible before killing them
  • You are a cuckoo – abandoned because.. well it sucks
    • Eat eggs
    • Swap out your own eggs
  • Cult Leader
    • recruit
    • siege (stand off against law enforcement and sane people)
    • mass suicide (bonus points for faking out and not killing yourself)
  • Pests
    • You are a rat
    • get food
    • poo on things
    • avoid traps and poison
  • Moriarty – miscellaneous entry, no idea how it would work
  • Serial Killer – discarded because, next to Bond Villains it was likely to be pretty overly common
  • Buffalo Bill style Kidnapper
    • Acquire hostages
    • Manage hostages in their cells/pits
    • prevent escape
    • feed/starve
    • punish
    • make skin suit
    • LOTION
    • Stockholm Bonus (converts hostage to minion)

Otherwise

What remains from that list is either astonishingly unmentionable or one of the two games I’m currently still trying to decide between.

How this goes remains to be seen.

Confidence: WANING

Thinking on theme, indecisiveness, dear diary..

Posted by (twitter: @pentaphobe)
Friday, December 14th, 2012 9:53 pm

this post is a direct mirror from my blog, I’ll be doing this a lot so as to not waste too much time (yours and mine)

Hoo Wow, This One’s Tricky!

I’m still brainstorming 2.5hrs after the theme announcement. This is a tough one!

I have a nine page bullet list of ideas, but choosing is a little harder than it was last time because:

  • My favourite ideas are likely the favourites of many other people
  • My least favourite ideas mostly fall under the following categories:
    • nice concept, but where’s the game?
    • how does that differ from the hero version?
    • nice game, but where’s the concept

Normally at this point I’d start work on coding up the basic framework and getting the generic skeleton going, but since I’m not sure which game I’m going with I still don’t know whether AS3/FlashPunk or Java/LibGDX are going to be more appropriate.

I’m leaning toward FlashPunk again simply because more is covered by the library, but that would instantly limit my chances of doing anything simulation-based as the VM (as far as I know) is not as well suited. Distribution is significantly easier though.

Another caveat if I choose Java/LibGDX is that less people will play the game unless it’s embeddable in the browser – outside of Processing I’ve never attempted this, which could either be deceptively simple or a waste of a few good hours.

More coffee, and standing in the sun before I choose.

I give myself one hour to choose, and a further hour to get whichever dev environment I go for setup and ready to go. If the setup is not yet done by that point I shall switch to a simpler environment.

 

 

Throwing my ragged hat in the ring

Posted by (twitter: @pentaphobe)
Sunday, December 9th, 2012 11:42 pm

I can’t quantify how rewarding participation in the last Ludum Dare was, so I’ll keep it short:

  • This compo is awesome
  • I’ve been counting the days until LD#25
  • Good luck everyone!

Quick summary of things I’ll be using:

  • Sounds
    • Audacity, Renoise (tracker), Ableton
    • Last time I quite enjoyed making my sound effects with a crappy microphone, my mouth and a tendency to hit things in the office – so I’ll likely go with that again (though I’ll put a little more effort into audio this year)
    • Didn’t end up adding music last compo after wrestling with a crippling bug for 6 of the 23 hours I had.  This time I’m flagging it as a necessity.
  • Language
    • This depends on the theme, but likely either Java/LibGDX or AS3/FlashPunk
  • Art
    • Aseprite, Blender, Sculptris, GIMP/Inkskape
  • Caffeine
    • LOTS

I’ve successfully gotten my shifts rearranged so I’ll actually be participating in the full 48 hours this time, hopefully with more to show by the end.

 

(I’m in)

So many cool games! O_o

Posted by (twitter: @pentaphobe)
Tuesday, September 18th, 2012 6:54 am

I’m not sure how, but I somehow missed almost all of the games that ended up in the top 50.

So much more playing to do now; can’t wait.

Congrats everyone!

All rested, washed, playing games and adding source

Posted by (twitter: @pentaphobe)
Tuesday, August 28th, 2012 1:46 am

Congrats everyone on making a seriously fun selection of games – I’m hoping some of them will run okay under Wine so I can get to more of them, otherwise one of my windows-yielding friends may discover me in their office at 4am giggling at the screen.

Had a crack at syncing my local repository to github.  A few scary moments, but it seems to be there and working – though in my local repo I tend to store everything, so I had to delete a lot of pointless binary files before uploading – which may or may not have trashed some of the more recent changes – but everything looks to be fine. You can grab it HERE

Not much in the way of comments or organisation as I was only partially conscious for the last few hours of hot-seat coding.  But I’ll go in there over the next couple of days and clean it up when I’m giving my gaming fingers a rest from the remaining 1300-ish games I’ve yet to try!

 

oh ps. there’s also a Mac build now on the game page

I got done! And didn’t pass out!

Posted by (twitter: @pentaphobe)
Sunday, August 26th, 2012 7:13 pm

Despite internet failing at (literally) 12 minutes until the deadline I’ve pulled through.

It’s not everything I had hoped for, but significantly more than I had fretted for.

How did I get a shot with no brains in it?

I can’t believe I’m looking at this thing done! Now to go rate the others.. Or perhaps sleep first.

You can play it here

Due to work and slumber this ended up only being about a 23 hour compo for me, I look forward to attempting the full weekend some time.

I think I’ll explore the whole LD experience and do a PostMortem soon, too.  Perhaps more appropriate to do it for a fixed up Jam version so that the original idea gets across more.

Nonetheless, for the curious here’s a little run down off the top of my head (after the break):

(more…)

Slowly making up for lost time.

Posted by (twitter: @pentaphobe)
Sunday, August 26th, 2012 6:42 am

It’s coming together, after easily 9 hours of fluffing about with the unfamiliar parts of FlashPunk (for me the unfamiliar parts are, well – most of them)

Those are brains, you get ’em to upgrade your evolution points, which give you better skills. Skills will eventually help you avenge Darwin against the Pope’s accusations.

 

That’s about it in update land for a while, off to mainline coffee and finish the other 80% of the game! o_O

And now off to work for the day..

Posted by (twitter: @pentaphobe)
Friday, August 24th, 2012 9:44 pm

Time to go ply the masses with booze for a few hours, perhaps the forced non-screen time will be a good thing.  But it doesn’t feel like it!

Somewhat settled on an idea, but currently trying to join my favorite ideas into one.

Don’t want to clog up the ludumdare stream with waffling until there’s more to show, but I’ve got a basic FlashPunk parallax scrolling thing working and will likely be sneakily uploading phone pictures to my blog while I frantically draw and think while I should be working.

Beginnings of an autogenerating scrolling tilemap. (not shown: movement)

I’ve no experience with FlashPunk other than setting it up last night and making a really simple warmup game

Good luck everyone!

If “butterflies in stomach” was the theme, I’d be the game.

Posted by (twitter: @pentaphobe)
Thursday, August 23rd, 2012 1:21 am

Hoo boyo.  I’m already nervous!
I’ve missed entering the last 9 compos generally by hours so this is a long time coming, but I’ve no idea how I’m going to sleep before the compo.

Framework / Language

I’m not nearly as decisive as it seems many are, so I’ve no idea what I’ll use – though it’s likely to be one of:

  • love (but I don’t really like Lua)
  • slick2d (awkward to ensure cross platform and web applet works) or
  • processing (no separated updates and poor support for sprite sheets and other more game-like things)

But I’ve still almost 2 days to find an alternative.

Sound / Music

audacity, ableton live, a crappy microphone, perhaps bfxr depending on the theme

Graphics

AseSprite, gimp, maybe blender (depending on the theme)

Other tools

git will be my version control so that I can make huge panicked changes in the wee hours and then undo them again when I come to my senses :)

and I’ll probably end up listening to some electro radio – despite not actually liking that sort of music.  It just makes me feel motivated after watching notch code a few times (now if only I could find my old mechanical keyboard and grow anything resembling a real beard I’d be guaranteed a completion!)

 

My motto for the weekend: “rest well and don’t get drunk” (as well as periodically glancing over at my copy of the Hitchhiker’s Guide)

[cache: storing page]