Page 1 of 2

Beat It

PostPosted: April 6th, 2013, 5:26 am
by Blablob
Play it here!

Hey, look. It's the first game I've actually managed to complete! (Well, mostly.)

Beat It is a game I had been working on for a little while - most days I actually didn't have a chance to work on it, so it took a litter longer to release it than expected. I was actually planning to release it last weekend - I think only Suyo knew this - but several issues held that up. Actually, there was one final thing I wanted to add to the game before releasing it. That is done, and overall, the game is finished.

However, there are a few glaring issues that I'd like to get around to addressing:
  • For one, the game has no music (this is mostly FlashDevelop's fault. It's extremely picky about what sound files you can use, and it's a bit of a mess to set up.)
  • You'll notice that pausing the game causes an issue in how objects are stacked. I've researched a lot about how to fix this, and I still haven't figured it out.
  • Some of the text isn't aligned correctly (this one is tricky. The alignment shows up perfectly when I test the game, but not when I upload it).
  • There is a small bug with pausing that causes some "Squares," as I call them, to stick to the floor of the screen.
  • The game seems to begin lagging when you've played it for a few minutes. Not too sure what to do about this, honestly. The Squares do disappear after leaving the screen, so it's not that.
  • The final unlockable might be a bit too hard to unlock. I've only unlocked it once, so tell me if you think I need to lower the cost.

But overall, I enjoyed working on this, and I'm proud to have finally finished it. More than anything, this was a great step in teaching me a lot about coding, so despite the crap quality, things can only get better from here.

By the way, those of you who have glanced at my sig in the last two months or so should have suspected that something like this was coming.

Also, one final thing. Before I get around to working on Epic Upgrade, I need to finish up a small other project (and I mean very small) that I kind of promised fourinone I would complete some day...

Enjoy!

Re: Beat It

PostPosted: April 6th, 2013, 9:13 am
by Suyo
A few comments:
- I love that background. Very simple, but looks great.
- The risk vs rewards upgrades are an interesting idea. Maybe rename the label though, to "Combo Multiplier" or something. At first I thought it just influenced which combo value you start off from.
- My framerate is being very jumpy - and since you use a fixed timestep, sometimes the game get really laggy. Try using a variable timestep, which moves objects depending on the time since the last frame, not based on the framerate. There are hardly any downsides to variable timestep, so you should use it wherever possible

Re: Beat It

PostPosted: April 6th, 2013, 6:15 pm
by ChaosYoshi
I love how the backround, while simple, looks great,[/repeat] and it doesn't destract me from the gameplay at all, which I've found to be a reoccuring thing with a few of the block-style games I've tested recently.

If there's anything that bugs me, it's the fact that the game pauses automatically when the mouse goes off the game screen. I know you made it so that people don't have to worry in case they accidentally go too far. However, I can't remember how many times I have lost lives because by the time I resumed the game, because the paddle kinda warped a little before going back to my mouse, thus missing the ball that I wanted to hit. I also find it just annoying overall because it breaks the pace.

Re: Beat It

PostPosted: April 7th, 2013, 5:04 am
by Blablob
I've updated the game. Most of the update includes some subtle changes, but there are some noticeable ones as well.

Suyo wrote:Maybe rename the label though, to "Combo Multiplier" or something. At first I thought it just influenced which combo value you start off from.

I thought the description should have explained that pretty clearly, but I changed the name so that it makes a little more sense.

ChaosYoshi wrote:If there's anything that bugs me, it's the fact that the game pauses automatically when the mouse goes off the game screen. I know you made it so that people don't have to worry in case they accidentally go too far. However, I can't remember how many times I have lost lives because by the time I resumed the game, because the paddle kinda warped a little before going back to my mouse, thus missing the ball that I wanted to hit. I also find it just annoying overall because it breaks the pace.

I personally found myself losing less often after I added the autopause. But I've added an option for people who don't want to have it.

Suyo wrote:My framerate is being very jumpy - and since you use a fixed timestep, sometimes the game get really laggy. Try using a variable timestep, which moves objects depending on the time since the last frame, not based on the framerate. There are hardly any downsides to variable timestep, so you should use it wherever possible

I did some research on this and I couldn't figure out how to set it up. There are some other aspects that affect the speed of the squares, but let's pretend for a second that my code is:

public function Main():void
{
addEventListener(Event.ENTER_FRAME, moveSquare);
}

private function moveSquare(e:Event):void
{
square.x -= 5;
}


Then how would I change the code in order to use a variable time step?

Re: Beat It

PostPosted: April 7th, 2013, 6:26 am
by Suyo
Blablob wrote:I did some research on this and I couldn't figure out how to set it up. There are some other aspects that affect the speed of the squares, but let's pretend for a second that my code is:

public function Main():void
{
addEventListener(Event.ENTER_FRAME, moveSquare);
}

private function moveSquare(e:Event):void
{
square.x -= 5;
}


Then how would I change the code in order to use a variable time step?


Something along the lines of
Code: Select all
public prevTime:Date;

public function Main():void
{
     prevTime = new Date();
     addEventListener(Event.ENTER_FRAME, moveSquare);
}

private function moveSquare(e:Event):void
{
    var curTime:Date = new Date();
    var d:Number = (curTime.time - prevTime.time) / 1000; // d is now the time since the last frame, in seconds
    prevTime = curTime;

    square.x -= 300*d;
}


More info on how to set it up: http://forum.starling-framework.org/top ... frame-rate

Re: Beat It

PostPosted: April 7th, 2013, 6:35 pm
by Raz
I like it. It's fun.

Re: Beat It

PostPosted: April 12th, 2013, 5:58 pm
by Killswitch
Good game. There's like a 75% chance for the game to lag. It's like the game is running fast and slow alternatively; it's a little frustrating.

Good thing you added the "Autopause"; I lost a life when I got moved the cursor outside accidentally.

The Willem Dafoe feature is awesome.

Question: How did you compile this?

Re: Beat It

PostPosted: April 12th, 2013, 8:45 pm
by Jellonator
Killswitch wrote:Good game. There's like a 75% chance for the game to lag. It's like the game is running fast and slow alternatively; it's a little frustrating.

Good thing you added the "Autopause"; I lost a life when I got moved the cursor outside accidentally.

The Willem Dafoe feature is awesome.

Question: How did you compile this?

Most likely Flex SDK.

Re: Beat It

PostPosted: April 12th, 2013, 9:52 pm
by Killswitch
Jellonator wrote:
Killswitch wrote:Question: How did you compile this?

Most likely Flex SDK.


I know it's possible that he compiled it with mxmlc.exe, but I wonder if he didn't use any of these stuff.

Re: Beat It

PostPosted: April 13th, 2013, 3:25 am
by Blablob
Jellonator wrote:
Killswitch wrote:Good game. There's like a 75% chance for the game to lag. It's like the game is running fast and slow alternatively; it's a little frustrating.

Good thing you added the "Autopause"; I lost a life when I got moved the cursor outside accidentally.

The Willem Dafoe feature is awesome.

Question: How did you compile this?

Most likely Flex SDK.

Yes, I used FlashDevelop, which automatically comes with Flex.