View Full Version : My new vidoe game

Please visit our sponsor:

AikiWeb Sponsored Links - Place your Aikido link here for only $10!

05-21-2007, 03:43 PM
I've been playing with scratch. It is a teaching tool for teaching kids to program. I wanted to show that it was possible to make complex games with it. I created this game http://scratch.mit.edu/projects/dmagee/5670

I was interested if anyone had any feedback.


05-21-2007, 07:09 PM
It's hard to say when I have no idea what Scratch is capable of, because, for example, if this was done in something like Flash, I would say it looks unfinished.
Generally the game holds up nicely, even though moving objects tend to stop their motion all of a sudden and bullets sometimes stay in place, nothing crashes and nothing completely bizzare happens which is good.

I have a few suggestions to kick the game up a notch:
1) make the ship smaller - it's very frustrating to steer a relatively big ship in a small confined space
2) Change the asteroid graphics - it's strange how one type of asteroid is bright colored and shiny, and another is so dark it's hard to tell it's not a part of the background.
3) When objects die, don't just make them stop moving and fade out. let them move and fade, and only when they're not visible, kill them. I had the feeling of "why didn't I pick it up? it's still there!" several times.
4) Finally - the explosion graphics are static, not very eye-candyish, dominant and block the view to everything beneath them. make them fade out quickly, or have them do a little animation, or just don't have them at all. My rule of thumb is that if something doesn't add to the game, it should be removed.

I'll be looking into scratch, maybe it'll help me with teaching my sister programming, thanks!

05-21-2007, 09:43 PM
For the most part that is close to the limits scratch can do, its not really ment to be a real programing platform. For example, you can not spawn objects, everything you need must be created at the start, just hidden. So for the laser, I can't have just one, I need to make multiple (I made 4), but it is possible to fire faster then that allowing you to warp bullets back to you. However, if you are really good you can make a flame thrower effect to boost your kill speed. The language is running in a virtual environment and is basically a procedural based language. You have no real functions, etc. So things tend to stop moving because they are waiting for something to finish, a normal movement would be like

loop forever
repeat until not "Up arrow pressed"
move 5 steps
rotate 3 degrees

so it moves, then rotates, most of the time this appears to be moving and spining, but actually under the slightest load the virtual machine ends up putting a weird pause. Then I find that if something else calls that same code again (the language uses broadcasts to act similar to functions) then your object can just stay stuck (this happens with some explosions for no reason until the board is cleared of asteroids. This does not happen locally, only when played on a web page. Another example is that powerups are not suppose to stop moving, just fade away, however, the limits of the language cause point number 3 instead.

A solution to this to make two loops one to move and one to rotate and call them on the same broadcast, but this makes the code hard to read for people breaking down your code. I really want to make sure noobs can look at my project and see what is happening.

1, 2, and 4 are design choices I made. I wanted dark asteroids to add a challenge, I wanted to confine your movements to add some strategy. My thinking behind the explosions is one I'll have to break down though. It involves how I envisioned the game play.

Basically, I wanted to explosions to really restrict your view. This way you would really need powerups like the superman shield in order to play at higher levels, you would be flying though a dust field with no visibility, only shielding can save you (or a lot of health). So my thought was to block the view and force you to keep up a fast killing pace to keep the powerups coming (you get more powerups if you kill faster) It is possible to negate 4 hits with normal shields, and get up to 20 seconds of pure invincibility and the ability to kill everything you touch. This would allow you to focus more on ramming at higher levels, and less on laser fire.

I do appreciate the suggestions though. I'm not really a game programmer or designer. I do financial programing and teach at a college. However, I plan to make a few more little games with this, and I will take your ideas into consideration on my next project.

05-22-2007, 05:36 AM
Wow, now I feel bad for judging the game as I did, from your description of how Scratch works it sounds like a feat to produce a game like asteroids in it, and you succeeded wonderfully. Sorry, I just didn't know enough about it.

I see what you mean with your design decisions concerning my points 1,2 and 4. I'm just a bad spaceship pilot and couldn't handle the challenge, and it's so easy to blame the program rather than myself :)

05-22-2007, 10:33 AM
Sorry Don, couldn't play it for some reason (do you need to download a scratch engine first?)

- never could get the hang of these damn cathode-ray thingies, my dice keep sliding off the screen...

05-22-2007, 01:20 PM
You need the java plugin to view scratch games on that site. If you have java it should work.

Roy, I liked your feedback. What works for one person won't work for another, so its good to know how people feel, your not the first person to bring up those design decisions as a bad thing, so I know its probably not a good idea to use them in the future. Another thing I have to consider is it is easy to be good at a game you made, you know how it works, so the game play might not be easy for people to grasp.

05-22-2007, 03:49 PM
I was interested if anyone had any feedback.

You spelled infinite incorrectly.

That's all I have as my computer is running too slow for the game to be workable :p


05-22-2007, 06:48 PM