Java-Gaming.org    
Featured games (78)
games approved by the League of Dukes
Games in Showcase (429)
Games in Android Showcase (89)
games submitted by our members
Games in WIP (468)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  23 Seconds  (Read 6081 times)
0 Members and 1 Guest are viewing this topic.
Offline Pit

Junior Member


Projects: 2



« 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 Smiley
Offline 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!

People make games and games make people
Offline Pit

Junior Member


Projects: 2



« 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!
Legends of Yore - The Casual Retro Roguelike
Offline ra4king

JGO Kernel


Medals: 322
Projects: 2
Exp: 4 years


I'm the King!


« Reply #3 - Posted 2011-12-17 22:30:16 »

That was really fun, great job Smiley

Offline pjt33
« Reply #4 - Posted 2011-12-18 18:01:48 »

So I'm open to any feedback and suggestions to improve it Smiley
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).
Offline Pit

Junior Member


Projects: 2



« Reply #5 - Posted 2011-12-18 21:53:04 »

Many thanks for the comments Smiley

@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.

Offline StephR

Senior Member


Medals: 9



« 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...
Offline Pit

Junior Member


Projects: 2



« 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^^
Offline 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? Wink )

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
Offline Pit

Junior Member


Projects: 2



« 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!
Legends of Yore - The Casual Retro Roguelike
Offline ReBirth
« Reply #10 - Posted 2011-12-22 15:27:44 »

The gameplay is really same with Touhou project. I like this.

Offline 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 )
Offline Nate

JGO Kernel


Medals: 129
Projects: 3
Exp: 14 years


Esoteric Software


« Reply #12 - Posted 2011-12-22 20:01:18 »

Very cool game. Smiley 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:

Quote
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.

Offline Pit

Junior Member


Projects: 2



« 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 Wink

@ReBirth
I love the Touhou games, so of course that was an inspiration^^
Offline ra4king

JGO Kernel


Medals: 322
Projects: 2
Exp: 4 years


I'm the King!


« Reply #14 - Posted 2011-12-22 21:49:50 »

Why don't you use an ArrayList or LinkedList?

Offline Pit

Junior Member


Projects: 2



« 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^^
Offline sproingie

JGO Kernel


Medals: 200



« 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 Smiley

Offline ra4king

JGO Kernel


Medals: 322
Projects: 2
Exp: 4 years


I'm the King!


« 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.

Offline Nate

JGO Kernel


Medals: 129
Projects: 3
Exp: 14 years


Esoteric Software


« 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. Smiley

Another try:



I lost all three lives in a row, just not enough room to evade for 5 more seconds!

Offline Gudradain
« Reply #19 - Posted 2011-12-23 02:04:22 »

Nice game Smiley
Offline Pit

Junior Member


Projects: 2



« 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 Wink

@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^^).
Offline Nate

JGO Kernel


Medals: 129
Projects: 3
Exp: 14 years


Esoteric Software


« Reply #21 - Posted 2011-12-23 03:08:13 »

Cheesy

To remove from either array/arraylist, you could swap the last item with the removed item. The drawing order would sort of flicker though.

Offline jimeowan

Junior Member


Medals: 1
Projects: 1



« 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? Grin

Author of "The Little Scientist" (judging panel winner for Java4K 2012 </brag>)
Offline 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...

Offline Nate

JGO Kernel


Medals: 129
Projects: 3
Exp: 14 years


Esoteric Software


« Reply #24 - Posted 2012-01-26 19:43:11 »

No one can mess with my score? Bring it!

Offline Pit

Junior Member


Projects: 2



« 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 Smiley
Offline jimeowan

Junior Member


Medals: 1
Projects: 1



« 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 Smiley

Fear me, because I reached the insane score of 144560 points !!1


Author of "The Little Scientist" (judging panel winner for Java4K 2012 </brag>)
Offline 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.
Offline Nate

JGO Kernel


Medals: 129
Projects: 3
Exp: 14 years


Esoteric Software


« Reply #28 - Posted 2012-02-22 16:25:08 »

You guys are a bunch of punks! Bring it on! Cheesy

Offline Christopher

Senior Member


Medals: 2
Projects: 1



« 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.

Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (81 views)
2014-04-15 18:08:23

BurntPizza (73 views)
2014-04-15 03:46:01

UprightPath (84 views)
2014-04-14 17:39:50

UprightPath (67 views)
2014-04-14 17:35:47

Porlus (84 views)
2014-04-14 15:48:38

tom_mai78101 (107 views)
2014-04-10 04:04:31

BurntPizza (167 views)
2014-04-08 23:06:04

tom_mai78101 (263 views)
2014-04-05 13:34:39

trollwarrior1 (214 views)
2014-04-04 12:06:45

CJLetsGame (223 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!