Pixel Ninja!

Hey everybody!

I made a ludum dare game called Pixel Ninja.  The theme of the LD was Minimalism, so I made a game about a ninja made of pixels.  You run around collecting blue orbs in the 2000 by 2000 block map.  I’m waiting for a postmortem until my game gets scored, but I’m willing to make a prepostmortem.  So a mortem I guess?

But first, play Pixel Ninja!

What went right:

  • The art.
    I can do pixel art, so I use it whenever I can.  7/13 of the comments so far are people saying “I liked the Ninja/art”
  • The music.
    My friend rytonbay did the music for it, and it’s great!
  • It was a platformer.
    I can make platformers.

What went wrong:

  • My computer.
    I needed to switch browsers to k-meleon during the LD just because I didn’t have enough RAM 😥
  • My timing.
    I had just finished an RPG session when I notice “Oh, right, Ludum Dare already started.”
  • The theme.
    Y U NO PICK GOOD THEME?

It feels good to get back into game dev again when I had been doing other things for a while now.

-Nsmurf

Looping multiple songs in flashpunk

Hello!  Today I’m going to talk about looping multiple songs in flashpunk.  If you just want to loop one song, you can simply call:

soundeffect.loop();

But if you want multiple songs located in separate files to loop, then it gets harder.  I use the following code:

[Embed(source = '../assets/music/song1.mp3')] private const BGMusicEmbed1:Class;
public var BGMusic1:Sfx = new Sfx(BGMusicEmbed1);
[Embed(source = '../assets/music/song2.mp3')] private const BGMusicEmbed2:Class;
public var BGMusic2:Sfx = new Sfx(BGMusicEmbed2);

public var tracks:Array = new Array(BGMusic1, BGMusic2);
public var musicplaying:Boolean = false;
//...
//...

//Inside update loop:
musicplaying = false;

for (var i:Number = 0; i < tracks.length; i ++)
{
    if (tracks[i].playing)
    {
        musicplaying = true;
    }
}

if (!musicplaying)
{
    tracks[FP.rand(tracks.length)].play()
}

Now I’ll explain what that does.

The first 5 lines embed 2 songs and put them in a array.

The first for loop finds out if any of the songs are playing.  If none are playing, it sets musicplaying to false.

The if statement plays a random song from the array if no songs are playing at the moment.

There are a number of ways this could be improved.  It could keep track of the song it was last playing and make sure not to play it twice in a row.  It could also loop through them, shuffling the array each time, so that it will have the maximum amount of time between each song repeating while still playing a random song.  This snippet is just a *simple* song manager.

 

Finished the Mini-LD, ready to do it again in 15 days!

Well, I finished my Mini-LD game, Gravity Flip, and had a lot of fun making it!  This whole post basicly a Post Mortem of my game.

What Went Right:

  • Game Idea  –  I aimed for something simple and fun.
  • Theme  –  I can do pixel art.
  • Flashpunk  –  It’s easy to use.
  • Level design  –  I’m great at creating evil levels.  Unfortunately, none of the playtesters beat them all without cheating 😦
  • Music  –  Sounds great!
  • Playtesting  –  I had 2 people playtest while I could watch them and hear them give me feedback.

What Went Wrong:

  • Flashpunk  –  It was the first time I used it!  Luckily it’s easy to learn 🙂
  • Submission process  –  I HATE U McFUNKYPANYS!!!  I never even got to submit my game, because the submission process makes no sense!
  • Sound  –  I’m not really happy with it.  It should stand out more.

What I Learned:

  • Know what you are allowed to use ahead of time.  I’m not sure if I was even allowed to use the music that I did for a Ludum Dare.
  • Sleep (But only when you need to.)  I slept, but not before it was affecting my programming skills.
  • Aim for something you can create.  I knew I could make a gravity switch platformer because I had made one before.

Well, I had fun with the mini LD, and I’m ready to do it again in 15 days!  Who’s with me?

My Ludum Dare game is semi-playable!

That’s right, it’s semi-playable, and YOU can play it!  The swf file is here, I haven’t gotten around to putting it in the funkytron yet.

Instructions:

Arrow keys: Move

Space: Switch gravity

 

I plan to add all of this stuff if I have time:

  • Doors
  • Buttons (?)
  • Disappearing blocks
  • Gravity switch blocks
  • Sound
  • Instructions
  • Enemies
  • A Boss
  • Credits
  • More levels

That’s probably shooting too high for a LD, but I’ll be happy if I put in 4 or 5 of them.

If you have any other suggestions, please comment and let me know!