I enjoy programming in Java, but doing graphics related things are very tedious, especially if you want to involve images or even image sequences. That is the inspiration for this project. I created the engine using only the default graphics packages in Java. It is able to parse through folders containing many images and store them in memory as animation sequences. These clips can be manipulated and transformed quickly and easily. It maintains a display list to order the game objects depth and then draws them to screen.
See the repository here: https://github.com/nac67/GameEngine
This was the first major project I did using my Java game engine. It started out as a practice project but has turned into a full fledged game. It contains A* pathfinding for intelligent enemies, isometric tiles with z-sorting, a level editor program, and hundreds of images to create animations. It stars a farmer whose farm has been taken over by chupacabras and he is trying to escape.
Many of the games I create are tile based, so I decided I needed a tidy class to deal with all my pathfinding needs. In technical jargon, this is an amped up version of A* (Dijkstra's algorithm with Euclidian distance as the heuristic). Where my algorithm differs is through its handling of diagonal movement. My pathfinder can reconstruct the final path in ways that can around corners for more realistic game movement.
A trebuchet is a device that uses a counterweight to launch a projectile long distances. A floating arm trebuchet is one where the main throwing arm is not actually attached to the device. If it were attached, it would need a fixed pivot point which would use the valuable potential energy in wasteful ways. Our trebuchet successfully launched an orange 150 feet.
Most pictures are taken in a fraction of a second and the light pours in for only an instant, freezing the motion. But with long exposure photography, you can leave the shutter open for minutes at a time while "drawing" light with flashlights.
My favorite game series as a kid was Ratchet and Clank, and I was always fond of their "hacking" puzzles. My favorite one, however, was a puzzle game in the first Ratchet and Clank. I was sad that such a fun mini-game only had such a limited number of puzzles to solve, so I recreated the game along with a random level generator to keep myself entertained.
This was my first venture into the world of object-oriented programming. In this game you pilot an alien saucer with a tractor beam that can throw vehicles and people around the town. The object oriented aspect came into play when I needed all the vehicles to act in similar yet distinct ways and similarly with the people. All of the vehicles extended a main vehicle class, with special abilities such as police cars dropping off police men and tanks firing shots, yet they all behaved similarly in that they can drive, and when you pick them up with the tractor beam and throw them, they should obey the laws of physics.