Dodge-Box – a learning/university project

Dodge-box is a university project for the module “Software Engineering” in which we were supposed to do some sort of programm in a group with version control. We, as a group of three, decided to do my go-to learning project “Dodgesquare” in javafx.

We didn’t have all too much time, so the project ended up pretty crude, but it works and we got a good grade.

GitHub repo: https://github.com/MisterIXI/dodge-box

Dodgeblock

 

In Order to learn more about using the Unity3d engine, as well as programming C# scripts, I wanted to re-iterate the idea of my first game programmed in Pascal in Delphi. (To check out the post about that project click here) This game takes the basic ideas of my old game I just mentioned and adds expands on it further. The main difference is that through the 3D engine used all the objects can now move freely on the two axis of the game field, and additionally implement physic simulation into the mechanics. Through that the blocks can push each other around or have new types of movement (like the purple momentum based blocks).

You can download the game & files here:

First steps with a “LEGO Rock Raiders” inspired game

One Game I really enjoyed in my childhood was “LEGO Rock Raiders” and at some point I wanted to try myself on a game similar to it and see how far I could take it with my current knowledge.

A short explanation of the original game: it’s a strategy/building game in top down vision in which you indirectly control all your builders. While you can micromanage pretty much all actions it is one of those “queue your actions and let the builders decide who takes up which action” games.

Anyway, this project was my first go at pathfinding and made realize the complex math behind the different possibilites. After researching a few of them I decided to implement the A* and fully understand it before I moved on to start on the rest. After a lot of hours put into this I finally got a working prototype. You can see this here:

As you can see the little blobs can’t walk on water and try to avoid the gravel, since that makes them walk slower. I also made them split up when controlled together. But my biggest problem was that I couldn’t fully grasp the use of a dictionary for this implementation. And since this was supposed to be primarily a learning process I focused on the different topics lying below it.

I ended up doing other stuff and letting this project sit. Maybe I will revisit this at a later point when I have a better grasp of the more advanced basics needed for such use cases.