I created two projects within Unity in 2021. These both played around with noise, and terrain generation. The first of these two (image one) was using Unity's "Shadergraph" tool, available within the universal render pipeline that can be downloaded through the package manager in the editor. This node based tool allows for much quicker creation of shaders, and I would use this to create a simple terrain using a plane with the terrain shader applied, as well as a water shader, which uses the same node graph, except with a panning element, and the colours changed to blue hues. This had no colliders applied, and was merely a test bed for the following project (image two). No executable was compiled, as further work is required to flesh the project out.
The second project was used as my submission for a university project in the module procedural content generation. The program took a perlin noise map, and placed hex tiles based on the perlin value below the hex tile. This created a terrain that was stylistically interesting to me. On top of this, a series of terrain objects were placed on these tiles. Factories would be placed, which houses were generated around, facing those factories, and any houses that spawned on mud (near water), would become warehouses. Warehouses that bordered water tiles would have docks attached that faced into the water.
The most interesting element of it all, is that forests grow and die dynamically, with trees having a chance to grow every tick, up to 5 trees a tile, at which point they would spread to neighboring tiles. To balance this out, trees also had a chance of dying, which gives the scene a bit of life.
Finally, a series of shaders, post-processing effects, and planes with panning noise textures were overlayed on the scene to make it visually interesting. My work on this would pay off with a first in procedural content generation.
A link to an executable of this project can be found : here
For the module graphics, we were tasked with producing a project within Unreal Engine which would demonstrate our understanding of the graphical tool set available to us within the Unreal Engine editor. With that in mind, at that point in time I had a passion for steampunk, and fantasy sky landscapes, and wanted to take elements of these to create a surreal floating scene, in which schools of fish would orbit a central island, with a moving airship, which was player controlled.
For a large proportion of elements in this scene, I made use of Unreal Engine's "Niagara" particle system. This is a very powerful tool that allowed me to create computationally efficient, but beautiful elements of my scene with relative ease, from elements such as the schools of fish, which would dynamically attempt to avoid the airship when flying near it, to the clouds covering the scene, which would slowly adjust their texture to add movement to the background of the world and provide visual interest.
A small 60 second game created for the university module Games Programming, shoot and sloop was coded in C++ using only SDL libraries to assist in rendering elements to the screen. This was my first time creating a game without a game engine to assist, and I am extremely proud of it. While simplistic in gameplay, the game is surprisingly enjoyable, with the objective being to sink the ship with the red sail, while playing the ship with the white sail. There are three types of ammunition available, each with their own parameters, and tactics thus surrounding them. Having had to code everything from scratch, this is one of my favorite projects I've ever had the pleasure of creating, and some day I hope to come back and add a bit more juice to this game, to perhaps transform it into a releasable artifact.
A link to download this game is included : here
Submitted for the university module Physics Simulation, the above video demonstrates the domino run I created in C++ and SDL, which makes use of the PhysX middleware by Nvidia. This program included parameterized functions for placement of dominoes, making the placement of a large number of dominoes a simple and quick task, as well as implementing triggers, different materials, motors and cloth, to name a few PhysX features used.