They’ve been setting up SSL on the domain for the past few days, and it appears my subdomain broke, so my game can’t be downloaded at the moment. Sorry for the inconvenience, trying to get it working as soon as I can.
About Furyhunter (twitter: @Furyhunter)
University of Texas at Austin, Computer Science major, student.
If you were trying to play my game in the past few days and were met with “Could not find main class alonegame.AloneGame”, please upgrade Java to version 7.
Ugh. I reached a total brick wall (hehe) and couldn’t think of anything to do with the game. I realized that I would have to make a lot more gimmicks in order to keep the dungeon interesting, and I simply don’t have the time to implement all of that. So, I’m releasing it as-is.
I did, however, learn a lot from the competition this time around. jMonkeyEngine is a bit impractical for 2D games with very basic entity behavior, but it can be done, and it is otherwise fairly robust. I feel as though if I had the time, I could very easily create a full, 3D game on the engine. I also learned how to do physical collision using ray-casting, and for the most part, the implementation in the game works perfectly (except for a little exploit that I wonder if many people will find… it was very fun to play with in testing).
If I hadn’t decided to build the game for the purpose of learning jME as opposed to taking an easy route and using Swing or Slick (like Notch is doing), I probably would have made it far more complex and long.
Oh well. It was fun, and I’ll try to compete in the April competition if AP studies don’t get in the way.
Here is the first build for testing. Simply double-click it on Windows, java -jar alonegame.jar on Linux, and whatever you OSX folk do, do what you do.
Stepping into the final phase of the game’s development! Mechanically, the game is complete, but now the entire dungeon needs to be built using the built-in level editor. I could have the game finished hours before the deadline!
However, it is sleep time now. I’ve been working on the game for 16 consecutive hours, with some pauses here and there. I’d say things are going a lot more smoothly than last time.
So far so good. I’m coding in new types of tiles and I’ve finally managed to get the light code working perfectly in all conditions. After I’m done implementing the various gimmicks, it’s time to start filling out the castle (and probably redo that character sprite, too cute lol).
Maybe I can program a cool distortion shader for the character sprite. Or use fog particles to indicate that he/she is ephemeral, like a ghost. And I’ve got plenty of time to make it all, after downing this Monster!
I have almost finished my level editor. It currently saves the world data to the models folder using jME’s BinaryExporter (wow, that saves a hell of a lot of time), and you use the mouse to place tiles, and the scroll wheel to cycle between tiles and objects. Right clicking removes the top-most tile (basically, the first one the picking ray hits).
I’m going to try using the lighting system to add some moody effects next, after I create some more graphics. It turns out, making nice tile graphics really isn’t that hard after all.
When I think about the progress that I’ve made in the game so far, I realize that my LD19 project took about half the entire event just to get the entity management working correctly. I’ve been working on a level editor and game mechanics for the past hour, and this time I have collisions working as I want them.
I bet I’ll be able to get more done, like cool sprites, music and sound effects, then I did last time.
but I have not! I have learned how to use ray casting to calculate the amount to “push” back on an object to ensure they don’t slide straight through it!
Unfortunately, my implementation doesn’t work at very low frame rates. Moving right along.
My plan right now is to use jME’s lighting system to add atmosphere to the game levels. The level will have a very dark ambient light added over the whole scene, and then stuff like torches will cast point lights.
No screenshots to share at this time; unfortunately, I spend the better half of this evening working out the collisions for player movement before doing anything else.
I have to use ray-tracing to physically simulate the collision, but there is some mathematical error in the way jMonkeyEngine calculates distance from the ray shot, which prevents certain directions from preventing motion correctly… you just get stuck to the wall. I’m not convinced this is a jME problem though. I think I have an idea of how to fix it, but I’m going to bed before I lose my sanity any more.
and they’re all talking at once.
So, I’m cleaning my desk and room, getting my tools in order and preparing for the big weekend, when some of my friends walk up to my door bearing gifts of the pony kind. Pinkie Pie is now a member of the team, along with her remarkably-similar-to-the-Water-Medallion snowflake thing. (Does this make me ineligible for the Dare?)
Workspace shot after the jump.
I will not be making a 3D game this time around. I simply don’t have the time to learn the basics while doing the compo, so I’ll just be making another 2D game. By basics, I mean all the 3D math and stuff needed.
That doesn’t necessarily mean I won’t use jMonkeyEngine for 2D though. Its integration with external libraries on the scene graph is phenomenal and I’d like to find a way to utilize, say, Bullet nodes/controllers in a 2D environment. Plus, I find wrangling with LibGDX to be un-fun and rewriting boilerplate code for Slick again is not in my sights. I spent way too much time on simple crap like entity management on the Discovery game from LD19.
I’m guessing using jMonkeyEngine for 2D stuff the hacky way would be switching the camera to Orthographic view and just using objects with lots of volume in the Z axis, since I am terrible with physics.
In addition, there are a few new tools I may use:
- Tile Studio
- The Games Factory/Multimedia Fusion (total last resort, if I’m just not feeling up to speed)
- PXTone definitely, though I mentioned FamiTracker earlier I absolutely loath tracker interfaces and PXTone is like a really, really simple FL Studio to me.
There was some talk between my friends and I about doing the Jam instead, but one of them may be having travel conflicts that’ll prevent them from participating. Oh well. Dare it is.
Once again, I’ll be here for the December LD48. I enjoyed it so much last year, but scheduling conflicts prevented me from competing in the April and August competitions.
I’ll be using Java and either Slick, LibGDX or jMonkeyEngine. GDX is a much more robust library for 2D games to me than Slick, although it is harder to use, but I have been wanting to try my hand at a 3D game for some time. My only worry is that, since I’m so fresh with 3D design, I won’t be able to finish it in time, and my lack of asset creation skills would probably get in the way. I’m even worse at 3D modelling than I am at sprite making.
For asset creation, I will use bfxr for sound effects, Photoshop CS5 for images, Blender for models (if needed) and PXTone or FamiTracker for music (if I even get around to that). Last year, I only managed to make fanfare music for pickups in FamiTracker, but I also spent a hell of a lot of time on bug fixing that could have been done much better had I used a better collision technique.
Anyway, looking forward to seeing all the cool entries this upcoming compo!