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

Advertisements

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!