Hi, after I epically failed with my second attempt for a 4k game last week (too hideous to show), this week I came up with something new. 4096 B.C. will be a retro 3D shooter using ray-casting technique. There is no game-play right now, but you can walk around and shoot frost balls. Packed jar is around 2.5KB without much optimization, so there is some space left for enemies, level generator and better procedural textures.

You can try the work in progress version here.Any comments or critique are appreciated.

Works well here with latest java build (build 1.7.0_13-b20). Lovely ray casting. The flame effect is good: I'd like to find out how to do that. Is it purlin noise? It would look better with a variable border to the flame perhaps. Blending would probably be too slow, but inhibiting drawing the flame based on luminance might be ok, particularly with flickering. I wonder what other interesting effects one could do. A lava or running water texture effect would be really handy. An attack of keenness is coming on over here.

Thats '<SCR' in ascii. The magic number is the first 4 bytes of the file. Looks like you got served up an html file instead of a jar for some reason. It can happen with a misconfigured server, but it might be a cache problem. Since the applet worked for me, try clearing your browser and probably your Java Cache.

I finally added some basic game-play. Now you will be able to destroy most of the walls and battle with the first (hope not last) enemy type. The fire is gone as I'm running slowly out of space. I'm not 100% happy with the visuals, but at this time I will not put much effort in this direction. Instead I have to focus on 'good enough' level generation and more game-play elements, as the final stage of the game should be a action dungeon crawler.

All the effects and techniques used are old school tricks and algorithm like cellular automata (fire), raycasting and blured noise covered in many articles and tutorials.

A suggestion of gameplay, if it can help you : with some invincible enemy boss on her/his heels, the player would have to race across the dungeon level, fighting minor enemies and avoiding to fall into deadly pits, on the way to a place where is stored some sacred weapon. Then, with this better equipment, the final fight against the enemy boss may begin... Upon victory, the player would be send to a new and harder dungeon level with the same problem.

Don't worry, I won't feel offended if you completely ignore this suggestion. I just imagined what I may do if I was at your place.

Added portals as level goals and more types of enemies. I'm out of space, so this is the final version (if no major bug arise). The enemies are sometimes stuck in the walls, it's annoying I know, but they are ghosts and are immune to debugging.Would be cool, to implement the idea of invincible enemy boss and a 'boss slayer' weapon but the source was a mess and this was the easiest game-play implementation.

Love the 3D maze. Nice fireballs/iceballs. Aiming is a bit hard, there's a difficult tradeoff between turn rate and aiming accuracy. Perhaps the turn rate can come down just a tad.

The texturing is having a problem at close quarters. Not sure if it's spherical aberration (algorithm projects onto a cylinder, but is drawn on a plate). Alternatively, it might be you are using the fast (inaccurate) method for calculating texture points. That is known to bow in/out if the surface being textured varies considerably in Z-depth. I've made both of these errors at various times. Or more likely, it's something else.

Actually, I try to have these games done quickly by not getting every glitch under control. For example, the texture scratching is just a clamp of infinite wall height, because it took me 3 seconds and a proper solution would take couple of minutes (or hours as I'm horrible at time estimating). My greatest weaknes in software development is that I can't let go a software before it is 'perfect'. I'm not comfortable to show something that has flaws, so I try to use these small contests as training to get the 'shit' good enough .

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