Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (495)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  DS4: Experimental Shooter (Updated to v0.3)  (Read 6869 times)
0 Members and 1 Guest are viewing this topic.
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Posted 2007-03-03 02:06:26 »

A little rapid prototyping project I did over the last couple of weeks.

Arrow keys and 'Z' to shoot, but real points come from missile lockons triggered with 'X'... wait as long as you can before you get hit, allowing missile locks to add up for a huge bonus. You cannot shoot while locking on, and your movement is slowed down considerably.  More info at my blog.

Play it now: Windows version and Java WebStart link.






the2bears - the indie shmup blog
Offline nva225

Junior Member





« Reply #1 - Posted 2007-03-03 04:56:04 »

Wow this is really cool. Love the music, fits the game perfectly. I feel like the challenge is a bit inversed though. When I first played it I (obviously not having read the directions) was expecting something along the lines of not firing bullets allowing me to lock on, but I'd still be able to move (and then the first firing of bullets would release them). I was kinda disappointed when I found out you stand still to launch missiles. Because you have to stand still, it gets really hard to dodge later on (since you can't really dodge at all) and what ends up being the best strategy is to sit in the corner and move every 2 or 3 rows.

I think you should experiment with being able to move during lockon... and maybe go from faster ---> slower instead of slower ---> faster for the lockon (but perhaps much more points for a bigger combo, i.e. a multiplier based on 10% per target or something). To counteract it being too easy to spam the lockon, maybe add a 2 second delay before lockon starts? Or maybe just keep a constant lockon speed after 2 seconds; not sure what would be best.

And bullets should probably be more powerful. Like you said, missiles are the way to get a lot of points. It should also be harder to kill the enemies with them (currently it's much much easier to wipe them out with missiles than to spread random fire).

I love the graphics, enemies, and whole feel of the game, but I just feel like the game is pushing me to do something relatively boring when there's much more exciting stuff in this game. I'll applaud you for trying something different (standing still) but I'd really suggest changing at least that mechanic.
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #2 - Posted 2007-03-03 18:48:42 »

nva225, some great points.  I think you're right, I've had a few others suggest movement (or some movement) to be allowed while locking on.  I think switching to a very slow movement, requiring some deft dodging, while locking is the right approach.

I'll probably take one more pass at the game, then call it quits.  It was intended as a rapid prototype to test out that approach, and somehow tweaking it indefinitely seems out of character for that style of development  Grin  I'd like to do more quick games in this manner, gaining ideas (right or wrong) for more long-term projects.

Thanks again for your comments,

Bill

the2bears - the indie shmup blog
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline nva225

Junior Member





« Reply #3 - Posted 2007-03-04 05:22:06 »

Hey can you explain how you did the sound? Is it embedded in something or generated on the fly somehow?
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #4 - Posted 2007-03-04 06:41:07 »

Hey can you explain how you did the sound? Is it embedded in something or generated on the fly somehow?

Well, I didn't create the sounds of course.  Simply using OpenAL through the LWJGL library to play .ogg files.

Bill

the2bears - the indie shmup blog
Offline nva225

Junior Member





« Reply #5 - Posted 2007-03-04 19:14:38 »

Well ok that was a stupid question and I actually figured out where it was shortly after posting. I guess what I really want to know is what you used to make the music file. Wouldn't happen to be a freeware program would it?
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #6 - Posted 2007-03-04 21:56:19 »

Well ok that was a stupid question and I actually figured out where it was shortly after posting. I guess what I really want to know is what you used to make the music file. Wouldn't happen to be a freeware program would it?

What I meant to say was I didn't make the music either... it's by Lupin (you can check out his post at shmup-dev.com) .  I used Audacity to convert to .ogg format.

Bill

the2bears - the indie shmup blog
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #7 - Posted 2007-03-06 02:53:20 »

Updated with some of the suggestions from here.  Biggest change is how missiles lockon.  You need to trigger this by holding down 'X', and you can move while doing it.

Thanks nva225 for your help.

Bill

the2bears - the indie shmup blog
Offline nva225

Junior Member





« Reply #8 - Posted 2007-03-06 04:32:05 »

Hmm definitely much more challenging and "game-like", but I have to say I miss the incremental missile lock (I do like the current state better than the previous though). Could you experiment with getting something of that back in? I'm not exactly sure how you could do it and keep the game balanced but there's something fun about holding out really long and knowing you're getting more and more powerful as a result. Reward the stupid risks type thing. Maybe start it a tiny bit slower than it starts locking now, then max out at 2x speed over 5 seconds or something. I'm just throwing numbers out into the air though. Perhaps all it really needs is a better indicator that I'm getting crazy points by holding out longer. Whatever you do, ultimately go with what you think feels right though. I'm only guessing what I think will feel better.

Also does the movement speed of the aliens ever increase? It's already pretty challenging, but having some sort of progression would be nice.

Got about 446k  Smiley could probably do better (and I might have and forgot my score) but I spent enough time playing already, heh.
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #9 - Posted 2007-03-06 05:50:48 »

Hmm definitely much more challenging and "game-like", but I have to say I miss the incremental missile lock (I do like the current state better than the previous though). Could you experiment with getting something of that back in? I'm not exactly sure how you could do it and keep the game balanced but there's something fun about holding out really long and knowing you're getting more and more powerful as a result. Reward the stupid risks type thing. Maybe start it a tiny bit slower than it starts locking now, then max out at 2x speed over 5 seconds or something. I'm just throwing numbers out into the air though. Perhaps all it really needs is a better indicator that I'm getting crazy points by holding out longer. Whatever you do, ultimately go with what you think feels right though. I'm only guessing what I think will feel better.

Yeah, I kind of liked that about the original... the whole "just wait a bit more" thing, especially if things were out of control and the screen was full of enemies.  Perhaps a smaller curve like you suggest.

Quote
Also does the movement speed of the aliens ever increase? It's already pretty challenging, but having some sort of progression would be nice.

Got about 446k  Smiley could probably do better (and I might have and forgot my score) but I spent enough time playing already, heh.

The speed of the aliens never changes, but the rate at which they spawn increases as does the rate at which they fire.  I really should add hiscores as well so we don't have to remember our best Smiley

Thanks for continuing to try this out.

Bill

the2bears - the indie shmup blog
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline nva225

Junior Member





« Reply #10 - Posted 2007-03-07 14:00:03 »

New highscore, easier to remember this time.

Exactly 600000
Offline SluX

Junior Member





« Reply #11 - Posted 2007-03-08 10:35:29 »

Hmm...got this exception
java.lang.NullPointerException
   at com.the2bears.ds4.DS4.cleanup(DS4.java:669)
   at com.the2bears.ds4.DS4.main(DS4.java:187)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.sun.javaws.Launcher.executeApplication(Unknown Source)
   at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
   at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
   at com.sun.javaws.Launcher.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

"Intelligence is the most beautiful gift and the greatest temptation which one life can receive from the gods."Me Cheesy
Play strategic football
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #12 - Posted 2007-03-08 16:23:28 »

Hmm...got this exception
java.lang.NullPointerException
   at com.the2bears.ds4.DS4.cleanup(DS4.java:669)
   at com.the2bears.ds4.DS4.main(DS4.java:187)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.sun.javaws.Launcher.executeApplication(Unknown Source)
   at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
   at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
   at com.sun.javaws.Launcher.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)


That appears to be an error when exiting due to something else.  Have you run LWJGL or other OpenGL games before?

Bill

the2bears - the indie shmup blog
Offline SluX

Junior Member





« Reply #13 - Posted 2007-03-08 16:40:51 »

Sure a lot of jogl games...not sure about lwjgl though....:S

"Intelligence is the most beautiful gift and the greatest temptation which one life can receive from the gods."Me Cheesy
Play strategic football
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #14 - Posted 2007-03-08 20:15:55 »

Sure a lot of jogl games...not sure about lwjgl though....:S

Is there any more information printed out when you run ds4.bat from an already open console?  There's some initial error that triggers a shutdown, then I'm guilty of not checking for a null in the cleanup.  But the stack trace you posted is a result of some different error.

Thanks,

Bill

the2bears - the indie shmup blog
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #15 - Posted 2007-06-05 22:54:17 »

A small update to this, fixed a couple nagging little bugs and the screen clears of enemies now upon your death.  Makes it a bit easier to recover from getting killed.

Bill

the2bears - the indie shmup blog
Offline purpleguitar

Junior Member





« Reply #16 - Posted 2007-06-10 20:30:13 »

Fails to launch on Mandriva 2007.1, Sun's Java 1.6u1.  Oddly, it seems to take down the Java Control Panel too, so I cannot see the stack trace.  It looks like there's a message about a missing resource, but it flits away too quickly for me to catch.
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #17 - Posted 2007-06-14 15:11:59 »

Fails to launch on Mandriva 2007.1, Sun's Java 1.6u1.  Oddly, it seems to take down the Java Control Panel too, so I cannot see the stack trace.  It looks like there's a message about a missing resource, but it flits away too quickly for me to catch.

Hmmm... I haven't been able to test the Linux one's properly, so it's certainly possible I missed something.  I'll take a look, and thanks for trying it out.

Bill

the2bears - the indie shmup blog
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #18 - Posted 2007-06-14 16:15:11 »

same error as above, could be a case problem in one of the filenames, since linux file system is case sensitive.
Offline SluX

Junior Member





« Reply #19 - Posted 2007-06-14 22:04:50 »

Just to let u know, that it works perfectly on my desktop. Maybe there is some issue with my laptop. I ll check again and repost.

NICE work!

Btw, are those explosions particle engine effects or something else? Could u share code perhaps?

"Intelligence is the most beautiful gift and the greatest temptation which one life can receive from the gods."Me Cheesy
Play strategic football
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #20 - Posted 2007-06-24 00:50:32 »

Just to let u know, that it works perfectly on my desktop. Maybe there is some issue with my laptop. I ll check again and repost.

NICE work!

Btw, are those explosions particle engine effects or something else? Could u share code perhaps?

Thanks for the kind words.

If by "particle engine" you mean "extremeley naive array of objects" then yes, you are correct Wink

Cas had a nice particle engine system in his original Alien Flux code, which might be floating around still.  Essentially my code consists of an object, Shard, that maintains a static array of instances.  When a ship explodes I obtain a bunch of articles out of the array (they have an ACTIVE/INACTIVE flag).  I give them a random ticks_to_live, length, rotation and velocity.  Most of my objects work as such, as parts of a static array pre-created.  This works pretty well, as ticking and rendering traverses the array and seems very fast.  In order to make this into more of a "particle engine" I'd at least move more control statically into the Shard object.  Then, when a render is called the whole set of active shards could be packaged up into a vertex array.  Essentially you'd be organizing the object before shuttling all the data to the GPU.

If you're serious about the code, I'd be happy to pass it on to you.  It's a bit disorganized as usual, and uses a SPGL library that I think *must* be a bit customized by me, but you're welcome to it.  PM me and I'll fix something up to send.

Bill

the2bears - the indie shmup blog
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #21 - Posted 2007-06-29 13:20:51 »

Nice little game.

I have a radical suggestion: make the ship move faster the longer you don't shoot for, and allow people to shoot whilst locking on.

At the moment, although you can move a little, you can't move enough for it to be much fun - there's not much challenge to "holding out" on a lockon, because your ship is so crippled you can't do much any more as a player, other than choose a moment to let go.

malloc will be first against the wall when the revolution comes...
Offline the2bears

Senior Member


Projects: 2


Little Bear: Code Fu!


« Reply #22 - Posted 2007-06-30 03:52:21 »

Nice little game.

I have a radical suggestion: make the ship move faster the longer you don't shoot for, and allow people to shoot whilst locking on.

At the moment, although you can move a little, you can't move enough for it to be much fun - there's not much challenge to "holding out" on a lockon, because your ship is so crippled you can't do much any more as a player, other than choose a moment to let go.

Thanks for the nice words.  Nothing against your suggestions, I actually like the idea of your ship speeding up the longer you don't shoot.  It's just that this was a so-called "rapic prototyping" experiment for me.  I've put it to bed as far as gameplay, though I might add hiscores and the like later if I ever build a library for that.  I'm working on other simple games, and rest assured that DS5 will have no such crippling of your ship, and will explore a different idea altogether with lots of shooting.

Bill

the2bears - the indie shmup blog
Pages: [1]
  ignore  |  Print  
 
 

 
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!