Pit
|
 |
«
Posted
2011-12-17 15:14:46 » |
|
Hey guys, since last year was really fun, I decided to enter the contest again and well, here's my game: 23 Seconds It's a shoot'em up with the only difference, that you can't really shoot. You can only bomb. And your bomb needs 23 seconds to reload. [size=12pt] Highscore List:[/size] 1. Nate - 437 620 2. jimeowan - 144 560 (Developer's score: 434 060) Instructions: Arrows: Move X/Space: Bomb Z/Y: Speed up Left Shift: Slow down You can score by destroying as many enemies as possible at once, grazing bullets and collecting items. Right now I don't have much space less, but I haven't really tried to compress it further, therefore I should be able to get a couple of bytes more out of it. So I'm open to any feedback and suggestions to improve it 
|
|
|
|
|
SimonH
|
 |
«
Reply #1 - Posted
2011-12-17 17:39:09 » |
|
A dodge'em up? Looks pretty, but I'd rather have a countdown to the next bomb than an FPS counter!
|
|
|
|
Pit
|
 |
«
Reply #2 - Posted
2011-12-17 20:27:34 » |
|
Thanks for the feedback. Especially because I couldn't decide whether or not I should include such a countdown and thus waited to see what other people think^^ I've added it now.
And yes, dodg'em up/dodge sim describes it pretty well.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
ra4king
|
 |
«
Reply #3 - Posted
2011-12-17 22:30:16 » |
|
That was really fun, great job 
|
|
|
|
pjt33
|
 |
«
Reply #4 - Posted
2011-12-18 18:01:48 » |
|
So I'm open to any feedback and suggestions to improve it  When I die I teleport back to the starting point and am straight back in the game, with no time to prepare. A small explosion animation and a second of invulnerability, indicated by transparency, is the most important missing item of polish. If you've got a few bytes left after that, some kind of colour change to the bullets I've grazed would be worth adding. That way I get feedback on the fact that something is happening (if I haven't read the instructions - because, let's face it, most people don't); and I know that I've scored the points if I have read the instructions (because, again, no-one looks up at the corner at their score when they need to be looking at the bullets passing close to their ship).
|
|
|
|
|
Pit
|
 |
«
Reply #5 - Posted
2011-12-18 21:53:04 » |
|
Many thanks for the comments  @pjt33 Oh, right, I actually made the ship invincible for 2 seconds but forgot to show it. It's now blinking during that time. And I was also able to add some particles flying away if you graze a bullet.
|
|
|
|
|
StephR
|
 |
«
Reply #6 - Posted
2011-12-21 21:35:57 » |
|
Very cool shoot'em up, in this modern kind with an overwhelming number of enemy missiles. Your limitation of the player's offensive capabilities is original and interesting too.
I just don't know what to think about the contrast between the graphics style of the ships, which is clearly inspired by the very old 8 bit shoot'em up games, and the style of the missiles, which is much more 16 bit. If it had been my game, I would have certainly chosen the 8 bit style for all graphics, but maybe your choice was better after all...
|
|
|
|
|
Pit
|
 |
«
Reply #7 - Posted
2011-12-22 00:55:09 » |
|
At first the graphics for the ships were only placeholders and I wanted to give those too a 16-Bit look later. But after some time I thought that they didn't look that bad after all and so I decided that it might be an interesting mix, to have 8-Bit ships with a 16-Bit background and bullets.
Besides, the ship simply reminded me too much of Space Invaders (which I love), so I just couldn't part with it^^
|
|
|
|
|
philfrei
|
 |
«
Reply #8 - Posted
2011-12-22 04:26:08 » |
|
I have nothing to add, except that I had a lot of fun playing! You seem to have added all of the suggestions given. High score: 172,530 Big help was noticing that it's the green dot, the center of the ship, that is used for collision detection. Nice move, I think, on multiple levels. I'm sure it simplifies collision detection, and I can use this spot, instead of my wings, while attempting to dodge the pink pearls of death. (Any specific symbolism in this choice?  ) SOMETIMES it seems like the countdown hits 0 and I press the space bar and nothing happens, and I have to press it again. Have you tested, are you sure the space bar is active as soon as the countdown changes? It could be, in the heat of battle, that I anticipate slightly, and this is the cause. [NOT!] OK -- I tried something different. I now hold down the space bar for the entirety of the game, starting as soon as the first ship has unloaded. Why not? This way I never miss a 0. The more bombs in a given amount of time, for the most part, the higher the score, right? In doing so, I see that there is about a 1/4 second delay from the countdown hitting 0 to the start of the life-saving bomb sweep. Any chance of eliminating that delay? (Maybe it's like a rocket that initiates at 0, but it takes a moment for the boosters to reach full strength...) I also hold down the fast key, and only remove it during the 'touchier' dodging moves. I never use the slow key. Seems to work pretty well this way. Main way I get trapped is if there is a lot going on and I'm reluctant to move (due to the cross-traffic) after a "heat-seeking" mass has been released. Also, using a diagonal (use two arrow keys) seems to be a way to keep scarfing up blues, getting "seconds" as it were, as it increases one's speed on the board. Very fun. Yet another game that needs sound. There seems to be a near universal need for tools to help with sound for these contests. I'm going to have to ponder this. (It occurs to me, perhaps one can cheaply bootstrap/build some "interesting" wavetables for cue use, rather than spending precious bytes importing resources...hmmm.)
|
"Greetings my friends! We are all interested in the future, for that is where you and I are going to spend the rest of our lives!" -- The Amazing Criswell
|
|
|
Pit
|
 |
«
Reply #9 - Posted
2011-12-22 15:23:06 » |
|
Oh, you're right, I actually had a wrong number in the code, so that the shown countdown was half a second ahead of the actual countdown. It's fixed now, thanks.
Releasing a bomb immediately is an ineresting tactic, because I always tried to herd as many enemies as possible and thus make use of the multiplier. Your method has the advantage that it's easier to survive, but in average you get less points per enemy because the multiplier isn't used as much (my highscore's 277,800 by the way).
And to explain the multiplier a little bit further: For every bomb you release, the multiplier starts at 1. A single enemy is worth only 100 points. But with every enemy you destroy your multiplier gets doubled (this goes up to 64). So starting from the 7th enemy you destroy at once, you get 6400 points for every additional one.
I'd also like to have sound in it, but unfortunately I don't have enough space left. Besides I got to admit, that I have never done anything with generated sounds yet^^
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
ReBirth
|
 |
«
Reply #10 - Posted
2011-12-22 15:27:44 » |
|
The gameplay is really same with Touhou project. I like this.
|
|
|
|
pjt33
|
 |
«
Reply #11 - Posted
2011-12-22 19:40:27 » |
|
There seems to be a near universal need for tools to help with sound for these contests. I'm going to have to ponder this. (It occurs to me, perhaps one can cheaply bootstrap/build some "interesting" wavetables for cue use, rather than spending precious bytes importing resources...hmmm.)
I have so far spent approximately 30 hours trying to produce a snare drum patch and I can't get it to sound "open" enough at the onset. (The pink noise in the tail is quite efficient, thanks to some research written up at http://home.earthlink.net/~ltrammell/tech/pinkalg.htm )
|
|
|
|
|
Nate
|
 |
«
Reply #12 - Posted
2011-12-22 20:01:18 » |
|
Very cool game.  I was killing it on my third try with 410,160 points! ...and then the game froze:  Game doesn't continue, doesn't respond to input, alt+tab and back results in a white applet. Console had this: Exception in thread "Thread-14" java.lang.ArrayIndexOutOfBoundsException: -1 at A.run(Unknown Source) at java.lang.Thread.run(Unknown Source) For my tactics, I fly toward the top of the screen when I bomb so that I can fly downwards to maximize the number of blue boxes I get. Also try to bomb when enemies are in a cluster, so you can get more of the blue boxes. I like the blue boxes affecting score more than the number of enemies killed when bombing. Also, use the whole screen. No enemies? Fly near the top so enemies target you there. Then you can fly down and use the whole bottom area for evasion. Also, don't move too much, only enough to get out of the way. You want to maximize the number of shots in areas you can't go. Balance this with the shots from enemies that don't target, as you often need to take their pattern into account to get through.
|
|
|
|
Pit
|
 |
«
Reply #13 - Posted
2011-12-22 20:55:51 » |
|
Wow, you Sir, have my respect. You actually caused an overflow on my bullet stack... which was made to hold 2000 bullets! I didn't expect anyone to survive 2000 bullets at once on the screen... Well, I've increased the array size to 8000 now. I hope you won't freeze it again  @ReBirth I love the Touhou games, so of course that was an inspiration^^
|
|
|
|
|
ra4king
|
 |
«
Reply #14 - Posted
2011-12-22 21:49:50 » |
|
Why don't you use an ArrayList or LinkedList?
|
|
|
|
Pit
|
 |
«
Reply #15 - Posted
2011-12-22 22:59:46 » |
|
As someone who's mostly programming in C++ (I hope you can say that on this forum^^), I'm used to do things on a lower level and as memory efficient as possible, so I prefer to use arrays instead of ArrayLists, etc. (although with a simple game like this there would of course be practically no differences in the performance, but well, it's a habit)
With enough testing things like that shouldn't happen. But in this case I just estimated the number at the beginning and later never tested how close you could actually get to it. My fault^^
|
|
|
|
|
sproingie
|
 |
«
Reply #16 - Posted
2011-12-22 23:16:45 » |
|
Ah, LinkedList, I don't think so. ArrayList ought to be just fine though. Even sticking with a fixed array would be fine, as long as there's a check against the hard cap on the number of bullets. Never assume people won't find a way past your limits 
|
|
|
|
|
ra4king
|
 |
«
Reply #17 - Posted
2011-12-22 23:21:46 » |
|
It sounds like he's removing and adding a lot of bullets. With ArrayList, performance would drop with all the item shifting.
|
|
|
|
Nate
|
 |
«
Reply #18 - Posted
2011-12-23 01:55:23 » |
|
I feel robbed, my score should have been even higher than 400k! :p Glad I helped find a bug though.  Another try:  I lost all three lives in a row, just not enough room to evade for 5 more seconds!
|
|
|
|
Gudradain
|
 |
«
Reply #19 - Posted
2011-12-23 02:04:22 » |
|
Nice game 
|
|
|
|
|
Pit
|
 |
«
Reply #20 - Posted
2011-12-23 02:16:48 » |
|
@Nate Hehe, sorry, I hope it's consoling enough that right now nobody is coming close to your highscore^^ By the way: If I'm looking at your screenshot I'm really wondering if it was worth spending so much time on the background  @sproingie & ra4king If I used an ArrayList, then I'd start with a certain min. capacity (let's say 4000 bullets), use that like a fixed array and only change the array size dynamically if someone is going over that limit (of course, also possible by manually reallocating a fixed array, but this needs more code). Adding/removing every bullet from the ArrayList that appears/disappears would be a performance killer I guess (since this happens very often). A LinkedList wouldn't work very good either in this situation. But right now I have still a few bytes left, so if I won't add anything else I'll use those to check against the array size and avoid that the game crashes (I strongly assume that with 8000 bullets on the screen, you won't realize if there are a couple of them missing in a pattern^^).
|
|
|
|
|
Nate
|
 |
«
Reply #21 - Posted
2011-12-23 03:08:13 » |
|
 To remove from either array/arraylist, you could swap the last item with the removed item. The drawing order would sort of flicker though.
|
|
|
|
jimeowan
|
 |
«
Reply #22 - Posted
2012-01-26 14:39:48 » |
|
Simple yet original game, I enjoyed it! I'm pretty bad at those kind of games though. Is the Blonde Redhead reference deliberate? 
|
|
|
|
Cero
|
 |
«
Reply #23 - Posted
2012-01-26 16:09:28 » |
|
I'm used to do things on a lower level and as memory efficient as possible, so I prefer to use arrays instead of ArrayLists, etc. (although with a simple game like this there would of course be practically no differences in the performance, but well, it's a habit)
I am the same. =P All arrays...
|
|
|
|
Nate
|
 |
«
Reply #24 - Posted
2012-01-26 19:43:11 » |
|
No one can mess with my score? Bring it!
|
|
|
|
Pit
|
 |
«
Reply #25 - Posted
2012-01-26 23:20:57 » |
|
@jimeowan Blonde Redhead? I actually hadn't heard of them until today^^ An inspiration for the title was rather the Battlestar Galactica episode 33. But gameplay-wise I wanted something between 20 and 25 seconds, so I chose 23 because it's prettiest of those numbers^^ @Nate Aargh, I just got 434060 points, so close xD And I lost all my lives in a row too. By the way: if anyone else posts his highscore I'll make a list in the first post 
|
|
|
|
|
jimeowan
|
 |
«
Reply #26 - Posted
2012-01-27 09:59:10 » |
|
By the way: if anyone else posts his highscore I'll make a list in the first post  Fear me, because I reached the insane score of 144560 points !!1 
|
|
|
|
pjt33
|
 |
«
Reply #27 - Posted
2012-02-22 12:06:19 » |
|
The "R to restart" at the end isn't working for me. No stack trace in the console, but the game seems to die after I do.
|
|
|
|
|
Nate
|
 |
«
Reply #28 - Posted
2012-02-22 16:25:08 » |
|
You guys are a bunch of punks! Bring it on! 
|
|
|
|
Christopher
|
 |
«
Reply #29 - Posted
2012-02-22 23:56:24 » |
|
Death by pink gobstoppers! thoroughly enjoyed this. If you have the room I would suggest having the counter go large for the last 5 seconds to build anticipation for the bomb.
|
|
|
|
|