diff --git a/src/GameProjects.jsx b/src/GameProjects.jsx index 484119e..8f0d13f 100644 --- a/src/GameProjects.jsx +++ b/src/GameProjects.jsx @@ -48,8 +48,8 @@ class GameProjects extends Component { to the nature of working in a small team I was able to contribute to puzzle design and texture generation through shaders.`, buttonText: "Learn More", - buttonLink: "https://d-tail-entertainment.itch.io/monq", - newtab: true + buttonLink: "/monq", + newtab: false }, { header: "University Graphics Project", diff --git a/src/Monq.jsx b/src/Monq.jsx new file mode 100644 index 0000000..18b611c --- /dev/null +++ b/src/Monq.jsx @@ -0,0 +1,145 @@ +import { h, render, Component } from "preact"; +import Header from "./Header"; +import { + Button, + Container, + Card, + CardHeader, + CardContent, + Typography, + Grid, + Box +} from "@material-ui/core"; + + +const tigerPicture = new URL("../static/images/MonqPage/TigerAI.png", import.meta.url); +const sandPicture = new URL("../static/images/MonqPage/Sand.png", import.meta.url); +const mirrorPicture = new URL("../static/images/MonqPage/MirrorReflection.png", import.meta.url); + +class Monq extends Component { + render() { + return ( + +
+

+ + + + + + This is my most complete game project. I made it in my second + year of university with some friends, and we were going to use + it to form a successful startup. I learned a lot about how a + multidisciplinary team works and tinkered with creating + frameworks in C++ with inheritance both to blueprints and + further C++ sub-classes, covering concepts such as all the AI + using unreal's tools, puzzle implementation, shader + implementation using noise and more. Most of the mechanics for + which I was responsible, used a variety of vector and + positional mathematics to implement. + +

+ Project and Team + + + Programming: + Warwick New, + James Hellman + + Designers: + James Hellman, + Nicholas Stankowski + + Art: + Harri Slee, + Robert Adolfson + + Music: + Jason Read + + Writing: + Michael Wheatley + + Animation: + George Evans, + Ross Everson + + + + + +

+ +

+ What I worked on + Tiger AI + + + Here I created an AI that guards an arena. The puzzle part + of this boss was based on trying to get the ai to get a + chain stuck on pillars left around the arena reducing the + range it could navigate. I did this by calculating the + distance between the previous attachment point and the next + and reducing the available navigatable circumference of the + tiger appropriately. Since this was my first more + complicated AI, I now know that It would have been far + easier to restrict the AI's movement through the use of a + more complex steering system rather than calculating where + it should end up. + + + + + + Mirror Reflections + + + + + + Here is an example of me simulating reflections in monq to + create a light bounce puzzle. Each mirror triggers the next + to recursively make light reflection beams. Here I had to + work out angles of reflection before creating a new cast to + attach a beam particle. +

+ I also worked on the sand texture in this image mixing + various forms of noise to create the ripples based on + changes in topography. + + +

+ + + + + ); + } +} + +export default Monq; diff --git a/src/Ramble.jsx b/src/Ramble.jsx index 2d40efb..91a40e2 100644 --- a/src/Ramble.jsx +++ b/src/Ramble.jsx @@ -20,7 +20,7 @@ class Ramble extends Component { - + Ramble was a web project I created during my master's degree to create a startup. In this project, I was the CTO and built a website that allowed users to stream their podcasts live and @@ -29,13 +29,13 @@ class Ramble extends Component { streaming to DevOps in order to make it a reality.

- + It also had chatroom functionality with the ability to re-stream to audiences much like other apps that came out in the time since, such as Clubhouse.

- + During the project's lifespan of just under two years, I mostly worked on creating the streaming functionality of the project and managing how the project was designed to function behind @@ -45,7 +45,7 @@ class Ramble extends Component { today.

- + Here's a demo of the project I took before we moved on.

diff --git a/src/UniGraphics.jsx b/src/UniGraphics.jsx index 8754ac2..d557142 100644 --- a/src/UniGraphics.jsx +++ b/src/UniGraphics.jsx @@ -21,7 +21,7 @@ class UniGraphics extends Component { - + I made this project for a module at uni. It's a terrain map based on Perlin noise with flat face lighting, It was the first project where I picked up a lot of the 3D maths used in games @@ -32,7 +32,7 @@ class UniGraphics extends Component { design.

- + Here's a build and a video demo: