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: