This 2D adventure game was started 8 years ago as a Game Maker project. I neglected it because (Game Maker sucks!! and) the whole design sucked, as it was screen-based, and the screens were small and a lot. Recently I started getting into Java2D, and I really like the possibilities - and I can't complain about performance either. For my purposes anyway.Within a few weeks of learning Java from scratch, I realized that this project may be plenty of fun to try, and surprisingly, everything has worked really nice so far.

After loading up the map from my old binary file, the program creates a few sets of different cave walls. Each wall part is then scanned for transparency, and polygons are created for collision detection. The cave map is large enough to get lost in, and there are eight different sets of graphics. Most of them are taken from LostGarden, but three are mainly generated by code.

I don't see much sense in uploading an exe, because you really wouldn't see much more than in the above image. I will, however share any code if interest arises. And I AM willing to include dynamic lighting in the end.

Once filled with detail, this cave will be worth exploring. For comparison, here's what this used to look like under Game Maker. The gameplay was going to be along the lines of "Sacred Armour of Antiriad". Beginning above ground, the player was supposed to have no idea of the cave's size and be amazed by all the stuff it reveals, as the journey becomes more difficult and spectacular towards the bottom.

I wouldn't post here if I wasn't determined to develop this into a game you can play. At this point I am redesigning the world map, and pretty much everything in it. The appeal of this game (if any) will lie in the amount of details, or else it will get boring very quickly to run through a maze of dull walls. For example, small spiders populating the cave have a lot of code for crawling, hanging from web threads, jumping from one wall to another, and catching on fire when hit by flames. But these spiders are really only decoration and not inended as a gameplay element. There won't even be many of them to see.

It took me almost a week, just to get the wall-crawling right. I hope my speed of progress will increase, or else it will be another 8 years til finish

Don't get discouraged, man. Some things take longer to get down than others, and you'll find that you'll become quicker at getting things done as you gain experience and become more familiar with the language.

My collision detection system works so far at last. I didn't think it would be this complicated really... am I the only idiot to base my 2D collisions on shape intersection checks? Because it seems fast and efficient, I may just stick with it.

My collision detection system works so far at last. I didn't think it would be this complicated really... am I the only idiot to base my 2D collisions on shape intersection checks? Because it seems fast and efficient, I may just stick with it.

Go with what works, if it's not the current bottleneck then it's probably fine.Most 2D collision detection is done with simple shapes, either circles (just a distance check really) or AABBs (basically reactangles). Your method seems to be using arbitrary polygons, no? That should also be fine, as long as the number of polygons you check for collision each frame is reasonable. If you find your code checking 10,000+ polygons each frame, then I suggest looking for a culling method (like don't check polygons that are outside of the visible area, etc.).

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