This is the ongoing development of my LD25 game that I submitted lately, which is going to turn into a development platform for something that actually works and is complete. I found this forum while hunting solutions to common problems, such as a gc every 10 seconds, ConcurrentModificationExceptions, and java Clip chaos. These issues are tempting me away from java, though the posts I’ve read here have helped change my perception of how stuff can be written differently and still work.
Very cool, good work on the rotation of the dragon’s body, makes a unique evasion experience.
I would recommend some sort of feed back when killing an enemy (a blood spurt, etc.)
I’ve added a small particle system for blood. It homes in on another object moving away in a line, so the motion of the particle is vaguely curved. This is cool because the particle system can start in a random orientation. I want to make it stamp graphics on the background at some point.
I worked hours on the Clip stuff to get it working in Eclipse but when I export it to a jar I now have no music because of stupid mark/reset issues from the zip inputstream… Which incidentally AudioClip handled perfectly fine! I’m so annoyed! >:( I think I should just convert it back and ditch it. Its Java, it should work and it isnt which is bothering me. I’ve tried loading just a resource instead of a stream, loading a stream and wrapping it in a buffered reader, and I was going to try a byte array stream, though I couldnt figure out how many bytes to stick in the blank array to get the raw data.
Try TinySound on here. I use it and it works wonders.
Starting is one line
Loading music is one line
Playing music is one like
Supports .ogg
And if you arn’t loading music it is amazingly fast.
I just found out that I was experimenting with the resource url loader in my music class, but not my clip handling class and the error was happening in the first so the second wasnt being called and thats where I thought the error was… :S
Thanks for the hint to try TinySound. It seems to simplify the interfaces quite a bit… It did not like my au’s though it might be worth going back to it for some high quality ogg later.
Soooo… I spent almost two days on it and apart from some minor pretties and music loop (finally) it’s mostly the same.
Next stop light things. I read an article about it on here which sounded cool. http://www.java-gaming.org/topics/realistic-lighting-in-a-2d-game/20161/view.html
Then I need to seperate my image string identifier into an object identifier and a current image frame identifier so I can do both collisions and animation.
Been working on some of the code behind the scenes since last time… Mainly:
- Experimented with lighting and decided it looked better as a shadow layer, so did that instead.
Use real double buffering with a buffer strategy.
Changed object type identifier to static int types instead of using the image string name field. This is a bit quicker and means that I can have an animator class which switches the correct image out to animate.
Experimented with swapping out the gamestate object for dragon death, it works but needs to be delayed with a “you broke your dragon” animation… I could always switch out with a different gamestate for a highscore/continue level or reinitialise a different field of battle for staged play.
Stuff I want to do:
Add animation.
Make my AIs state based. The reason for this is that I want an event when the behavior switches from one state to another, not all the time.
Finish Warrior attack.
Maybe add another character or dragon breath.
Declare complete and move on to something else.
Build for last post details:
I’d like to work on animation though I dont feel like resources at the moment, and I’ve got another idea I’d like to work on.
I think I’ve got to the point in this project where I dont want to play anymore, and as I usually put a lot of gameplay hours into testing, development isnt as interesting.
Last alterations:
- Dragged out the dragon death. This could do with a fade to black, or maybe a greyed out screen. Sad music. Something!
- Made the AI State based. This means that when I switch between states I can play a sound effect or maybe change other things. This would be more relevant if there was a 3d animation on the objects or something other than distance to target.
- I made the warrior AI use the statebased method and tweaked it. I also added a poor signal for the sword attack (its a modified arrow that returns and it vanishes when hit).