A personal project where I replicate the Persona 5 Royal Turn-Based Combat system as best I can for fun.
Role: Sole Developer Team Size: 1 Engie: Unity Platforms: PC
This project is a side project where I intended to make the Persona 5 combat system in Unity to test my skills a bit as I have no idea if I’ll mange it. The development of this project will be only in small chunks so I will be updating this page with the latest progress as I go.
There will be builds & some source code down the line, but the project is still early days so I have nothing that is ready for the public just yet.
Recently, I started learning Japanese for a bit of fun. I don’t expect to be fluent or anything ever, but knowing a few words or sentences and recognising the symbols would be nice. Learning it is just another part of my daily routine now. Due to this I was interested in watching a few movies in Japanese and found this one from a random anime aesthetics twitter accounts, sharing screenshots from anime’s and a screenshot from the promotional material for this movie drew my eye.
I had no idea what I was getting into with this one but I was pleasantly surprised with what I found. From here on out expect spoilers as I go through the story and my thoughts as I watched it for the first time.
If you don’t want spoilers for this film, please stop reading here as I’m about to summarise the film and talk about my thoughts as I do.
The movie begins with a cold open to a comet falling from the sky followed by a little dialogue and a kicker kind of tv style intro for the movie. The dialogue refers to the link between the two main characters as well as the spectacle of the comet in the sky. Referring to it as “Nothing more, nothing less, than a beautiful view”. The music & visuals are absolutely stunning and it nicely introduces you to the locations, events & characters your about to see for the duration of the movie.
So your name follows the story of two high schoolers, Taki & Mitsuha who are connected through a ribbon of fate. Which in itself is a mystery. The movie starts off slow, introducing the two characters & their lives. Taki lives in the city with his father & works part time as a waiter in the evenings. He also has a crush on a colleague at said job. While Mitsuha lives in the countryside with her little sister, grandmother & father and dreams of living in the big city, she also takes part in some local traditions of the town. Nothing freaky so far. The story follows their relationship through their unique connection.
The First Twist
Right away we see the first major twist, the body swapping. They first think they are dreaming only later discovering that it is not. Starting with Taki in Mitsuha’s body for a little bit before seeing Mitsuha’s reaction to hearing what happen while she was not in control of her body the day before. A major part of the swapping is the person possessed has no memory of the events that took place while they were possessed. Seeing just a small bit of the possessed day followed by a full introduction of Mitsuha, her friends & life. While also learning of what happened the day before from the recounts of her peers makes for an opening that I really enjoyed. It was different to anything else I had seen already and made want to keep watching. I was watching this movie on my second monitor, trying to get some other work done on the main, but at this point I was hooked at this point and gave up on getting anything done that evening.
We then just to Taki with Mitsuha in control and see what happened, instead of seeing Taki’s life with Taki finding out what happened right away we instead see what Mitsuha got up-to while in Taki’s body. Being someone who wanted to live in the city it is a dream come true for Mitsuha, with cafe’s and all. Everyone around Taki can tell he’s acting strange as Mitsuha has to figure out what Taki’s life is and all. Probably one of the best interactions is when Mitsuha in Taki’s body repairs a tear in a skirt of a colleague, the lady Tai as a bit of a crush for, and she notes the more feminine side to him, which is obviously Mitsuha.
We then see Taki finding out what happened the day before and his reaction, being is pretty accurate with shock and scepticism. As well as getting some funny reactions from his peers, especially as all the guys at his work want to know what happened between him and his crush while Mitsuha was in his body. With Taki in misbelief that it even happened.
We then cut to Mitsuha who wakes up the a whole host of questions written on her, “Mitsuha? Who are you? What are you?” and her sister brings up what Taki first did when in her body, which see saw. This is followed by a short summary of what Taki got up to from her friends telling her throughout the day. Such as making a scene in class by knocking down a desk in protest of what her peers are saying about her. She is naturally shocked, just like Taki was. They then both realise they are swapping bodies, followed by another banger of a tune and a montage/summary of what the swapping is like and how they are both handling it. Which they do, in a like of love/hate relationship as they keep telling each other the do/don’ts in their bodies and personal lives. This whole montage has some funny moments in it as well.
The movie then shifts in tone to a more calming setting, again with some stunning visuals & music. We get to see a bit of the story behind Mitsuha’s town as well as the Taki finding out Mitsuha set him up with his crush for a date which caught him off guard. At the end of the day Taki tried to call Mitsuha, who left her number on his phone. At this point the next twist starts to hit. You’d think calling each other would have been the first thing to do? I did somewhat and it felt like a bit of a plot whole, but it didn’t bother me too much as the next bit explained why that wouldn’t work.
The Second Twist
The second act brings the comet that we saw at the start of the film into the movie. We see Mitsuha over the cliff at the festival, the shot from the title card at the start of the movie and and the comet split into two with a hard cut as we see the reflection of the split in her eyes with an audio cue to refer to the comet hitting the ground infront of her. We then find out that the phone call Taki made never connected, and the switching places stopped after that night.
Taki decides to travel to meet Mitsuha and his crush and school friend come with him. Its after a travel montage we find out why she didn’t pick up, she’s dead. The reveal of this is eluded to with the tone of the cut from where we last saw Mitsuha and those who pay close attention would have gotten hints to this being the case from earlier in the movie.
For me I didn’t notice the subtle hints and this was certainly a shock, I think out loud I even said “No” in a sad voice when this was revealed, I was already worried that she was dead from the audio cue in the transition when we came back to Taki. It hit me. The crystal like mysterious soundtrack here really nails the emotion here.
We learn at this point that Mitsuha died years ago, for some reason the messages on the phone get deleted which is a bit odd but needed for the plot I guess and it is confirmed Mitsuha was a casualty of the comet splitting apart. The comet being the first major clue of the time difference as there was no comet in the news in Taki’s time as it had happened years ago. With more subtle things such as the dates on their calendars on their phones not matching being an earlier reference to the time gap.
We’re then prompted to see the ribbon on Taki’s arm, another hint to the time difference. Its like the of Mitsuha had in her hair as a ribbon and we follow Taki to the shrine Mitsuha visited earlier in the movie and through drinking a bit from of Mitsuha left there at the shrine, we see some flash backing into her life and the ribbon a bit more.
Post movie I looked this up and apparently there is a thing to do with fate and the belief of being connected by hidden ribbons, they never tangle and always lead people to their destinies. Which is why the ribbon is so intertwined between Taki & Mitsuha. We also see how Mitsuha died again from the comet with the same audio cue as seen earlier, the dong acting as the comet hitting the ground.
Then Taki ends up in Mitsuha’s body again, which he is obviously relieved and then goes about trying the change the course of events in Mitsuha’s body to save her and the town. Obviously easier said than done for a high schooler. So he hatches a plan to force an evacuation with the help of Mitsuha’s friends using a bomb at the power station and the radio at the school. Knowing the school is outside the blast radius as we saw the destruction in Taki’s time from the school grounds, so its a safe place for everyone that gather.
We also learn that some of Mitsuha’s family have also experienced similar body swapping with other people and knew what was going on and new that it was Mitsuha but with someone else controlling her. This is followed by Mitsuha travelling to see Taki in her timeline, 3 years before he even knows who she is. Also trying to call Taki with no success at the same bridge Taki tries to call Mitsuha 3 years later.
The Emotions Hit
This was an emotional roller-coaster which really started now, I wanted Mitsuha to survive somehow and for them to actually meet. We see how Taki got the ribbon 3 years ago as Mitsuha gave it to him while saying her name. After only just being introduced for the first time in Taki’s eyes.
All this time Mitsuha has been making it up-to where Taki is in his timeline and the manage to meet for a moment. due to what Taki drank. They share some banter from them switching bodies which is pretty funny and Taki gives the ribbon back to Mitsuha who puts it back in her hair. You also get to see them starting to fall for each other with a really sweet soundtrack accompanying it.
They only have a moment and decided to write each others names down on their hand so they remember each other. But its suddenly cuts with the pen dropping to the floor when its Mitsuha’s turn, instantly changing to the tone with Taki struggling to remember Mitsuha’s name.
At this point the best track in the movie starts, named “Sparkle”, Taki breaks down forgetting Mitsuha’s name and we see Mitsuha executing the plan to save the town. The plan starts as intended but the adults get in the way of their plan. This whole sequence is mostly visual but gives me goosebumps every time I see it.
The most impactful moment being when Tessie see’s the comet break up as Mitsuha warned and its just in shock knowing what’s about the happen and all we can do it watch.
The music takes centre stage and is both dramatic while also being very sombre about the impending doom. Really nailing home the moment We also get to see Taki watching the comet splitting up from his rooftop in the city, having no memory of Mitsuha as this is all 3 years before the body swapping took place on his end.
We then cut to Mitsuha running to reach her father to convince him of the danger and she trips which trying to remember Taki’s name. She opens her hand to see that Taki didn’t write his name, but “I love you”. The music returns from a momentary break as Mitsuha gets up and has a stern word with her father. Then we follow the comet falling to hit the town and at this point I was literally in tears and the soundtrack hits back up into its final orchestral as the comet lands and we see the destruction it caused, not knowing if Mitsuha survived or not. But knowing that it wasn’t the same as the first time as Mitsuha wasn’t on the hill over the town watching it fall.
With Mitsuha’s fate unknown once again we return to Taki, who has returned to the city & several year have past since the visit to the comet’s creator. We see that Taki ended up just being good friends with his crush from when Mitsuha was in his body around and they reminisce over the time since and the comet accident and what happened 5 years ago when they visited the town. As expected Taki doesn’t remember what happened on the mountain, and as his friends left for the city the day before no-one was there to remind him of what he did.
Its at this point we learn that the plan worked! with some flashbacks to the news of the time reported the town was destroyed, but the residents were all at the school for an “emergency drill”. Calling it a sheer luck, coincidence. Obviously we know differently.
This is further confirmed when Taki is looking at his diary with lots of job interviews in it in a café and hearing Mitsuha’s friends in the café talking at a table behind him. On his way home we also see Taki stop and turn around at someone, who we can guess pretty easily is Mitsuha but they don’t notice each other yet.
At this point I was just wanting them to meet FINALLY! Just rooting for them fully and all. They both notice each other on a normal day through their train windows and the final sequence begins. This is another point when I was tearing up, its so well done and I rarely tear up at movies. But I was just so invested at this point.
They finally meet, initially passing each other, then both turning around thinking they have met before and the movie ends with them asking each other their names. Its a lovely way to end things, refering both to the name of the movie once more and letting the viewer guess what happens next.
I would totally recommend this movie to anyone who likes a good mystery/love story. Its not the best for replay-ability as it will never hit you as much as it does the first time watching, but that’s true for a lot of media. I watched it in the Japanese voice with subtitles as it fits better than the English dub with the emotion of the character being better portrayed in my opinion.
A multi-scene workflow/tool for using multiple scenes in one go in Unity.
Role: Sole Developer Team Size: 1 Engie: Unity Platforms: Unity Studio: 🔗Carter Games
Multi scene is a scene management tool I first developed while in my job as Fumb Games & later took on as a personal project to release. The idea is to make working with multi scene workflows a bit easier in Unity with a few editor tools & systems.
The development of the tool started with the 🎮 Merge Motors project at Fumb Games, with the game split into 2 main scene groups with an extra group for entering the game. This proved to help a little with merge conflicts and more, however did prove to not be overly useful for the studio at the time as most projects just had 1 developer and the art team hovering between projects. That didn’t stop me from going on to develop it further, having used it in a variety of personal projects that I haven’t released. Its most useful for bigger titles on platforms with more resources like PC. While mobile does work, it does take a little longer to long on older devices that can hinder the game overall.
Currently the tool has a fair few features that include:
Multi scene management
Loads groups of scenes together
Some helper methods for getting if a scene is loaded
Events for when scenes are loaded
Scene grouping system
Scriptable object based
Custom inspector for ease of use
Group scenes together to be loaded by the manager
Scene group loader window with categories & sorting
Load a scene group in the editor at the press of a button via a custom editor window
Organise & group scene groups together
Show or hide groups of scene groups
Easy to configure & use
Cross scene referencing helper script
Use familiar methods such as GetComponent between scenes with a custom version of those methods
Custom Awake, Enable & Start interfaces
Simulates the normal methods of the same name when all scenes have been loaded
Can be used to sync any logic to multi scene loading
Do not destory scene accessor
Allows access to the do not destroy scene with all cross scene reference methods to match
A horror/puzzle game where you can access a spirit realm.
Role: Programmer & Team Leader Team Size: 5 Engie: Unity Platforms: PC, Mac, Linux Jam Theme: Leave Something Behind Jam Length: 7 Days
Dead Tired is the result of a 1-week game jam between the 14th – 21st of November 2021. I took a week off work to take part in this jam as I had the days spare to use up and felt I could practice some of skills I had picked up over the last 8 months in industry at this point.
After working a 14-hours shift, all you want to do is go home. However this is not so easy at spirit corp. Just getting from your desk to the exit is a gauntlet. Your dead tired, so much so your own spirit is keep to help out. Can you leave the office?
Approach & Post Motrem
Our approch to this jam was a very relaxed one. While others like to crunch and push to make the most of the week. We focused instead on the rule that our lives came first. So we all worked normal hours, not pulling all nighters or stressing too much over getting every last feature in. We focused on a small scope of 3 levels, which was achieved with most of the mechanics we wanted in, in. Though as always, some elements of the game were cut for the sake of having a finished product.
This jam went well, though I know I can do better. I took the week off to take part in the jam though I could’ve used the time off honestly. It was good to try out stuff I have picked up at work in a non-mobile game setting and I certain found a few issues I need to fix with the system packages I used in the jam. The industry feedabck was also great and is about what I expected from my own opinion on the game which was it was a good idea that needed more work really.
A merge game where you merge car parts & manage a garage.
Role: Programmer Team Size: 3-6 Engie: Unity Platforms: Android & IOS Studio: 🔗 Fumb Games
Merge Motors is a merge/idle game where you get to repair & manage a garage. You play as Lando the machanic, who’s twin brother gets into a bad crash one race ending up in a coma, leading to you fixing up his car, racing it and earning better cars to fix & race.
As this is a larger project than some of the others I have worked on, I was working with a consistent team of 3 with the occasional help from others when it was needed. Given I was the main dev on the project, the majority of the programming was on me as well as setting up the UI based on mockups provided. While most of the design & art was done by other team members. Though we often discussed the design of new features over with the team to make sure we were all happy with it.
Initially I started out working on this project as a side developer, working on some racing mini-games to compliment a more traditional merge game. However after a few months I ended up taking over the project in full and developing it into what it is now.
My main contributions are the main mechanics & gameplay of the game. Systems such as game saving, merge logic & idle logic are handled by the company’s internal code library. Some of the mechanics I worked on include:
Achievements (tracking data points, awarding achivements)
This game also uses my work in progress scene management tool which allows the game to be split into multiple scenes that run additively, which helps seperates different sections of the game such as the mergeboard from the garage.
Role: Sole Developer Team Size: 1 Engie: Unity Platforms: Unity Studio: 🔗Carter Games
This asset is a automation tool that saves developers from needing to manually update their project build numbers. Handy to both manage the version numbers of a project but to also ensure it happens on each build made.
This asset was mostly made while I was at work. I felt the need to make this as I was getting really annoyed at myself for not updating the build number when making builds to test. So I decided to automate it. The actual code to do this is pretty simple, its just a interface implementation really. I had a working version at work really quickly and I found it rather useful. Because of this I decided to check the market for any asset that do this and found only one that does something similar, but saves it differently and wasn’t free.
Because for these factors I decided to make it into a public asset. which is this project, the asset if free like my other assets and requires zero user setup which is thanks to some cool editor scripting that generates the scriptable objects for the user if they don’t exsist. I’m pretty proud with how this turned out and am happy to support it into the future.
A merge game where you merge apps on a virtual phone to earn notifications.
Role: Programmer Team Size: 2 Engie: Unity Platforms: Android Studio: 🔗 Fumb Games
Merge Mobile is a merge idle game prototype where you merge apps together & collection notifications to upgrade your phone, unlock cosmetics & more!
So this was a filler project that I designned and asked to develop while other projects were in limbo pending their design being fleshed out. I had the idea to make a merge game based on a smartphone display. We look at them everyday and there is a merge board right there if you think about it. So that was the idea in a nutshell. My goal with the project is the make the UX be as close to an actual phone as possible for farmiliarity. It was a nice project to practice with and try out a different idea for a merge game.
March parkrun is situated in West End Park in March. The course has more than ample parking next to it which is free and is right next to the park. Like a super market sized car park, you won’t have trouble finding a space. It is easy to find with a satnav, though I missed a turn and had to turn around. Which is a trend for me, as without a co-polit to navigate it is easy to miss turnings that aren’t clear.
The course is a nice 4 lap course, which is on a mixture of grass, dirt paths and tarmac paths. Each lap is just over 1K with a small set of stairs are the end of each lap which does kill the time a bit. Other than that the course is very flat with a few small inclines that are easy to get over. My watch registered the course as 3.09 miles though I did have to keep to the right to overtake people as I ran which does shorten the course a little.
This was a unique one for me as I made some friends. As always at parkrun there is a first timers briefing which tourists are also advised to listen to. I always recommend listening in as a faster runner as you’ll have less people ahead of you to guide you around the course. When asked it seemed I was the only new person/toursit. Though after being mildly shamed by being the only one to rise my hand, which was terrifying for someone like me who has social anxiety. I was joined by a first timer who was a Chinese student spending a year studying in the UK, along with a regular runner who was accompanying her.
The briefing was nothing new to me but we had some banter while having the briefing and I decided to join them on the run for a bit instead of gunning it like I normally do. Anyway we had some nice chats and finished a lap and a bit before the new parkrunner needed a break. I was her first time doing a 5K and she was in JEANS of all things, so can be forgiven xD. Because of this I decided to run the remaining laps and catch up with them after I had finished for their last lap of so. I managed to make up some good time, managing a lap in around 5:30 which was pretty fast! Ending up with a time of 25:19, which was pretty impressive given the slow first lap.
After I finished I sorted by barcode scanning and went to go find my friends again. I found them and the completed a 5th lap with them (their 4th), peeling off at the finish to no go through it again. At the end of the day it was just nice to chat to people, its something I don’t get to do that much and it really brightened up my day.
Overall the run was great and the course was pretty soild. I do plan on coming back to this one another day to beat my time and also to volunteer, as apparently they struggled to get enough for the week I turned up to run.
This week I went to Littleport parkrun. Located at the Littleport leisure centre & recreation ground in Cambridgeshire, just north of Ely. There is plenty of parking which is free to park in which is nice. Its an easy course to find, just following the main road Littleport off the A10. Turning left at Camel Road and follow the road a little and the car park is just on the left again little bit down the road.
The course was 3 laps, 2 long laps that goes around fields and paths with a 3rd shorter lap the make up the 5K. As I ran here in late summer, the ground conditions were good, though a bit uneven in places. I can imagine the course been a little harder in the wetter months. The start is a nice long straight on a tarmac path followed by a stint on a field before going though a little wooded area and along an uneven mud path which is a little bit narrow and needs focus when traversing to not twist your foot. I almost did at one point.
After that you go around the perimeter of the next field before reaching the tarmac path for the rest of the lap which is pretty straight with a few 90 degree corners. You repeat that lap again for lap 2. Lap 3 you turn from the starting path a little early and emerge into the narrow path about half way through and keep right. Once at the crossing at the end of the path you take a 180 corner and run the last tarmac stretch again and keep left to the finish. My watch registered the course as 3.07 miles which is a little short of a 5K. Though if you take the corners wide you could make up the difference.
The marshals at this event were great and all were very vocal which was nice. Their support was certainly a help for my time. I managed a PB when visiting by a nice amount finishing in 21:33 officially. Though my time was more around 21:50(ish) as I ran a little afterwards to make the distance a 5K on the watch. This is also the first time I have ever gotten first place for my age category which was nice.
I wore my lonely goat club shirt this week and it turned out that 2 of the marshals at the event were also goats. This meant I got some extra motivation when they saw me which was a lovely boost. I haven’t been cheered on directly since my pre-covid parkrun in Southampton, so it made for a ncie change. All the volunteers were super friendly and the my overall experience at this event was very positive.
Overall this is a great event to attend that I can happily recommend to anyone in the area.
A risk style merge game that I designed and made a prototype for as a work project.
Role: Programmer Team Size: 2 Engie: Unity Platforms: Android Studio: 🔗 Fumb Games
Merge conquest is similar to risk but you merge troops to get more powerful ones to place on the field. The idea was to make the traditional game more dynamic, with extra strategy of holding some units back to have stronger ones down the line.
So this was my second fully solo project, I came up with the idea for this one as well, as well as a few other ideas that were set aside for another time. The elevator pitch is pretty much risk but with merging and that is pretty much what I made. I had the creative freedom to go with it how I wanted with a little basic design given to me to base the game off.
I based some of the design off the Lord of the Rings Battle For Middle Earth 2: War of the Ring game and Risk: Factions. The phases were setup to allow the player to go about their turn. I set the game into 3 phases per player per turn, which seemed common for games on the genre.
Planning Phase This is where the players woudl gain their units for their current holdings (territory count and region bonuses). Merge their units to gain stronger units and add units to terriories they currently own ready for battle.
Battle Phase This is where player can attack territories and manage units into conquered territories. Each battle lets the user either auto-roll the encounter until 1 player wins or by rolling each roll as you would do in the board game manually. Once the user has finished their attacks, they can move to the last phase.
Regroup Phase This phase is optional and allows the user to move 1 group of units from 1 territoriy to a neighbouring territory.
The menu I had a little help with as I’m not that good at 3D modelling, so the globe is a custom model for the game. The rest of the art was done my me with all the maps being drawn up my me too, with a map generator making the basic shape for me to then edit and add the territory boundries for by hand.
I added an accessability feature in this game too. This being a colour blind mode. This was needed as there was no other way to distinguish between each player if the user couldn’t tell the difference between the colours. I made the mode change the shape the strength of each territory was shown as, as well as some prompts to remind them who they were playing as.
As I worked solo on the project, I also did almost all of the art for the game. Below is some the best bits I worked on, given I’m not an artist I felt it all came together pretty well.
Each map was setup as a .psd so it could be setup in layers which Unity would recornise. Each layer would hold a territory with a layer for the water, regions & map lines. Each territory would be coloured and controls in engine. The map Shattered Lands was used a lot in development as a testing map along with This Land. Some of the maps had some references to TV/Film/Games series in their territory names for a bit of fun as well.
There are 4 teirs of ranks in game which are denoted by the colour, while the pips/chevrons/stars would denote each rank. Below is the art used to make all the rank shileds, they were assembled in engine just like the maps.