Mysteries of Clark’s Magic Academy

Introduction

One of the first games we played on the Playstation 2 was Harry Potter and the Chamber of Secrets. My siblings and I dug into that game exploring every secret, every house point, and every collectable many times over. The world design of that game will always hold a special place in my heart. Combine that with my love for the Persona franchise – the JRPG elements, story, and personalities that you can interact with and the world you live in – I couldn’t wait to try my skills at making a blend between the two.

To avoid any copyright infringement, the HomeTeam Game Dev group decided to go with The Mysteries of Clarks Magic Academy, an American based wizard school. That allowed us the flexibility to build a new story, new characters, new monsters based on American folk-lore, and new wizard rules different from the lore of Harry Potter.

Production Process

This project was created with the HomeTeam Game Dev group. That means, once you establish a deadline, the game will be released on that day. Knowing those stipulations, we created a Trello board that laid out what needed to be done each week in order to release the game on time.

The core elements of the JRPG mechanics were lifted from a previous project called ‘Strike Out’ (2020), but the bones of that were almost immediately replaced to increase system flexibility.

The wandering around the dungeons and attacking monsters were also lifted from Strike Out with very little change in the way of enemy movement and attacking of the player which saved a ton of time both in asset creation and previous knowledge to pull from.

During the mid point of development, there were many systems being worked on at the same time – we had one team member constantly working on music and dungeon generation, another was doing a lot of artwork (like lighting elements), another was handling animations for friendships and minor story elements like that, and my role was to try to knock out the different elements that had not been touched.

I essentially worked in phases on the project. The first one being – taking care of the JRPG section (the code and the initial batch of monsters), then working on the school (the school art, classrooms, students, and navigation), then it was working on all of the friendships (and their different scenes), lastly – it was tying all of those parts together with some playtesting.

I feel like that was both a good and bad way to approach a project of this magnitude. During the project, I was unemployed so I was working on this game close to 10 hours a day 6 to 7 days a week. That is very easy to get burned out on, but at the same time – if there was ever a point that I was feeling burned out on, I was able to shift gears into a different part of the game to make it feel fresh.

During the last week of development I was running on fumes trying to fix both minor and game breaking bugs. It was difficult to push through that barrier and I ended up pushing nearly 15% of the total project commits into that final week.

But we did it! We created a magical school based JRPG with monsters, classes, and friendships to cover 2 months of in game time.

Challenges

This project was massive.

We had a ton of intertwining parts

* The classroom system needed to talk to the school system which needed to talk to the dungeon system which hinged on the date system.

* The battle system hinged on the dungeon system which had inventory systems tied to it.

* The friendship systems tied to both the date and school systems.

* Just to name a few.

Friendship points

* Originally, the friendships were based on a points system that would be under the hood (like in Persona), but that idea was scrapped due to complexity and general time management.

Time Limitations

* The original plan had twice as many monsters, but when each monster takes ~4 hours to model, rig, animate, add to Unity, and verify everything is correct – there are other items we could use those 4 hours for.

* I did record a video of me working on the Thunderbird.

* This also was a problem trying to playtest it all. If you have a 10 hour game and you’re the only playtester on the project, you have to pick and choose where and when to focus your playtesting abilities and just hope that the systems worked the way they were intended with the little time you could look at them.

* Playtesting could be lumped in with testing, but I was able to get a couple people to play the game and provide feedback, but the ability for them to play all the way through the game was both asking for a lot of volunteers and sometimes not possible based on the state of the game.

Feature List

This was the largest project I have led to date that needs to be split into a couple of categories –

Narrative

* The story goes through the last 44 days of your 2nd year at a magic school where people are disappearing. As you progress in the story, you learn more of the narrative.

*There are also save states in the game incase you fail. Those fail states will reset you and your stats back to 3 days before the next narrative beat to give you a chance to fix them.

School

* Since you are a student, you need to attend classes. There are 4 classes you attend on a weekly basis periodically. Each period of the day that you have a class, you are transported outside of that classroom

* There are 24 classrooms where you need to pay attention to the lecture and/or answer questions that help your intelligence score

Castle

* This castle contains four floors, a staircase, a dungeon, and grounds that the player can explore. Each needed to be modeled in their own scene and tied to the rest of the school.

* NPCs walking and having conversations with you that vary based on the time of day and calendar.

Friendships

* A key feature to this game is the friendships. Not only is it a way to pass time, but you also learn more about your party members.

* Each friend has their own requirement for talking with them (like 3 levels of Intelligence, one level of Charm).

* Every friend has 5 story beats to fit into their arc covering a variety of subjects based on what that character is going through and what their dungeon was themed around –

> Gracie May – she’s trying to find her place in the world

> Rhys – his parents are going through a divorce

> Harper – is coming to terms with being gay and asking someone out

* Every friend is somewhere around the castle at a certain time of day, they are unlocked after a certain narrative beat

Dungeons

* I worked closely with Michael Fewkes, he did most of the heavy lifting on dungeon generation and I added the art. Every dungeon is procedurally generated and grows larger the more floors you climb.

* Every floor contains a portal to leave, a staircase to advance, a treasure chest, and enemies.

* In each dungeon, there are triggers to load ‘special floors’ those floors load both a mini boss and a ‘big’ boss which affected the battle stages

* Since each floor was randomly generated, we needed to preserve it when we go into the battle scene (which loaded a different scene), we figured out a way to bring the floor into the battle scene and once the battle was loaded, we would not generate a new floor, but instead would keep the floor that was there.

Battle

* The original bones for this were lifted directly from ‘Strike Out’ (2020). Those bones were then modified, stretched, or replaced with a more complex system.

> Some of the modifications included – attacking one person, a group, stun, confusion, and strengths and weaknesses based on the player and creature

* Where Strike Out had 4 party members that were always in the party, Clarks had the ability to add or drop up to 6 party members with as many as 4 at a time.

* Every character had their own unique spells that would unlock as the character leveled up

Stats

* These stats were leveled up by spending time in the library, in drama club, dueling club, or making new items in your dorm. Each required their own scene, animations, and UI menus to accomplish.

> Intelligence, Charms, Courage, and Proficiency

* Each time you leveled them up, you got closer to unlocking certain requirements for friends.

Under the hood

* Date and time system – this was the backbone of the game, where is the character at a given time and place, put them into a classroom, launch a cutscene, unlock a friend, open a dungeon, who was wondering the castle – it all hinged on what day and time it was.

* Inventory system – this intertwined the shop system, players health/mp, what you could use in battle, and what items they would get in battle. More shops upgraded the deeper you are in the game. This was a neat use of a scriptable object.

* Save system – this was tricky. The game required 2 different save systems. One the player could use when they want to save, the other, the player couldn’t touch and was used as a fail state if the player didn’t save a certain person in time.

* Grimorium features – this was a lift from ‘Strike Out’, where you can purchase intel on various creatures to help you in fights

* Cheats systems – learning from previous projects, this helped jump around in the game to test what needed testing – need your player to teleport? Need a dungeon unlocked? Want to win a battle? Reload a floor? – All of these tricks helped save many hours of testing.

What Went Right

Honestly, there were so many things that went right, I was shocked.

There was an immense amount of interest in the project in HomeTeam. There were several weeks where there were 11 people contributing to various projects in the group and 9 of them were on this project.

Communication and attitudes were excellent, it also helped that I was unemployed during this time so I was always in the project ready to answer questions (this essentially became my job for 4 months).

People picked up the pieces they wanted and just ran with them. One person made all the music and dungeon generators. Another did all the lighting baking. Another did some writing. Another did some modeling. No one really had to step on toes since the project was so big. I also knew that if someone said they were going to take something – they would finish it and I didn’t need to worry about it. Which was a huge load off of me.

We kept several test scenes for general walking, battle, and classrooms to test them without them being in the final project.

Lessons Learned

Lots of talented people, such a large project – people could drill down into their area of expertise without disturbing other sections of the game

Communication is key. Positive attitudes also go a long way for teamwork.

Lifting pieces from other games (like the JRPG from Strike Out) means you inherit the bugs as well, but it also allows you to build on the system faster and make it more fleshed out since you know what you’re dealing with.

Keeping a presentation file for weekly updates helped organize the changes that occured during that week

Need to use prefabs more – I’m getting better, but I really could have used them more in the battle system.

Over ambition – as always – seems to get me – the final 4 days of the project I didnt sleep more than 4 hours a day.

The use of social media – I started using Twitter again in the project, I did a couple game dev working sessions on Twitch, and I uploaded a video of animating one of the creatures which helped traffic on release day

Get more player feedback early.

This is a WIP – Figure out how to not port over all the blender animations everytime a file is added. Each time I brought a new human in, they would have all the animations… which is good, but if I have 30 different humans with 8 animations, they don’t need all the animations and it bogs down the project size unnecessarily.

Need more playtesting.

By the Numbers

Commits: 790 (164 in the last week)

Contributors: 17

Scene Count: 50

Song Count: 27 songs from Michael Fewkes. Over 35 min of music without variation. 1hr 45 with variations.

Word Count: ~26,000 words

Longest Script: Battle System – 10,390 lines

Spreadsheets Used: 6 – tracking schedules, enemies/their attacks, party members/their attacks, general story beats, and others.

Unique Attacks:

* Players – 73 unique attacks split between 7 party members

* Enemies – 50 unique attacks – they can attack one, attack all, confusion, stun, and attack multiple times

Fully Modeled and animated creatures/humans:

* 7 party members

* 19 enemies

* 6 professors

* 2 other friendships

* 2 generic models for male and female students

Summary

Studio:  HomeTeamGameDev – Apollo

Title: Mysteries of Clarks Magic Academy

Staff: 17

Budget: $0.

Total Play Time: 6-10 hours

Development Time: 112 days (June 6, 2021 – September 26,2021)

Release Date: September 26,2021

Platforms: Itch.io

Software Used: Unity, Blender

Game Link: https://chaoticplay.itch.io/clarks-magic-academy