Skip to content

MDM Log

Aden Robertson edited this page Apr 23, 2025 · 23 revisions

MDM stands for "Method for Design Materialization." This is a way for us to track our progress across the project and better understand how our designs have progressed. This is accomplished through the timeline below, separated by key dates that highlight our work, including presentations, artist statements/journals, and pull requests.

Author, number of commits, and comments are all collected below for each Pull Request, all done to highlight our work and reflect the headspace we were in during each commit. For further exploration of each Pull Request, which by far was our primary documentation for the MDM (as demonstrated below), please view the closed Pull Request section of our repository here. These can also be found under the "Pull requests" tab along the top. This will provide a much more in-depth timeline that includes approvals, as well as a visual of the individual files we altered during the Pull Request. This is completely optional.

All dates are within the year 2025.

Timeline

January 13 to January 29

Proposal

Our early work encompasses work to better prepare us for our project proposal on January 29th. Much of it is initialization of the project, adding in early assets, and overall testing. Much of the documentation is also for testing purposes or is lacking for initialization reasons.

Proposal Presentation

Jan 16

Pull Request #1. Initial Setup

Aden | 1 commit

The initial setup for the entire project.

PR #2. Added AdenCube in samplescene

Aden | 1 commit

Testing if repo works.

Jan 22

PR #3. Adding Articy Plugin and Text mesh pro

Tate | 1 commit

Contains text mesh pro and the Articy plugin, Tested by Aden

Dear Dr. Scheiding, I am writing this commit because I am scared. Scared that it will break the project, scared that I am not a good Untiy developer, and most scared that I am being dumb and overthinking it.

PR #4. added player movement

Tate | 1 commit

added a basic 3d movement script. Access in movement scene.

Probably should not be a direct transform call, but handled by the player movement component. Oh well.

Dear Dr. Scheiding, I chose this movement option because it is what popped up when I looked for a simple 3d movement script for Unity. We are trying to recreate the fixed camera found in PlayStation games like final fantasy, resident evil, and silent hill. Off topic: do you like sparkling water? I do. I am a big Topo Chico fan. Please let me know!

With love, Tate

Aden approval: This is really neat code work. I'll make sure to build off of this.

Aden comment: Tetsing comment for MDM purposes. (Documentation assignment for the course).

Jan 23

PR #5. Add Readme

Aden | 2 commits

This provides a very initial description of the project for viewers while linking to a more in-depth overview in the wiki pages.

Commit 2: Fixed the link to the Home wiki page.

Tate comment: thanks for doing this aden! 😄

Kaylah's art journal on this day: Art.Journal.-.Kaylah.pdf

PR #6. Organization + Town testing

Aden | 1 commit

I reorganized a few files and created a handful of folders we will potentially need. Organization/specific directories create multiple, multiple merge conflicts, so I am trying to get ahead of that.

For the town testing, I created a scene and imported some Final Fantasy 9 background images that I will use to test player movement through towns. I hope to test scene transitions, camera movement, player movement vertically, and player resizing.

Tate approval: Wow this is a super cool first step!!!!

Jan 24

PR #7. Added character direction always forward and an interactable script

Tate | 1 commit

The character now turns to the direction they are walking, and there is now a interactable rectangle that turns green if you press space around it.

I am very tired right now. There was a bug with the new movement where it kept going after the button was pressed. I found the solution two hours ago. I did not realize that I had fixed it till 15 mins ago. I am happy that it works. That is all I have to say.

Tate comment: also a sprint is bound to the escape key

Jan 29

PR #8. Town Camera Movement

Aden | 3 commits

Commit 1: We want some scenes/areas to be long/tall, so I updated our PlayerMovement script to include camera movement alongside the player's. The camera is clamped so it does not go past the boundaries of the screen, and the player remains centered if they turn back from being past the camera boundaries so that the design can remain consistent. I have also started changing these boundaries regarding what plane (scene/area) the player is on. This will be expanded in the future once I get to test it more accurately following scene/area transitions.

Commit 2: We are going to have different planes/areas that the player will traverse within a single town, so I created a test for this. It involves trigger points and empty objects representing camera and player shots, which practically just teleports both onto the correlated empty object when the player collides with the correlated trigger point.

Commit 3: As previously referenced, this is an expanded tracking method for tracking plane numbers, so the PlayerMovement script can track what plane/area the player is currently on. This plane number will then be used to specify the camera's boundaries for that specific plane/area, which is already used for the 1st plane/area.

Tate comment: I think that this will work

Jan 30

PR #9. CLOSED Fixed direction movement and interaction

Tate | 2 commits

This would add all the things I made

Aden closed this PR and commented: Closed due to merge conflicts regarding script organization and content.

PR #10. Integration of collision

Tate | 1 commit

This is just me adding my previous branch of npc interaction and collision to the camera shifting scene. Shot.cs throws an error still

no new design considerations

Aden approval: Merge conflict seems to be resolved.

February 5

PR #11. Articy Implementation

Tate | 1 commit

This is adding all the Articy assets to the project. Implimiments First Eliza Scene

PR #12. Stationary Camera movement

Aden | 3 commits

We decided to have the camera stationary to better emulate the style of Final Fantasy 9, which makes stationary NPCs feel stationary and not like they are shifting with the camera.

Tate approval: :) :) :) :)

Feb 10

PR #13. Eliza Scene 2

Tate and Kaylah | 1 commit

This is the second scene with Eliza, Dinner with her and Melio written by Kaylah.

PR #14. Add UI

Kaylah | 3 commits image This is just an initial creation for what the dialogue box should look like. I wanted to incorporate warm colors with the tan and brown, and they will serve as complimentary colors for the pixelated text on top. I got these assetsfrom Canva, but because I don't have Premium, I had to screenshot these pngs and run them through remove.bg to make them transparent. This convoluted process made these images pixelated, so in my next rendition for these dialogue boxes, I might just make them myself on Procreate.

Also, that text is just placeholder text. Tate said he wants to use the text from Final Fantasy Mystic Quest.

Here is a link to the Canva: https://www.canva.com/design/DAGeEw5o5vE/OlM0ulTJMec2RrSCIYmi2g/edit?utm_content=DAGeEw5o5vE&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

PR #15. Added initial overworld

Aden | 1 commit

We wanted a curved world that hides locales from the player, nudging them to explore the overworld. I found this shader that mimics Animal Crossing's curved world and used it for our overworld: https://alastaira.wordpress.com/2013/10/25/animal-crossing-curved-world-shader/

The shader curves anything that is attached to it along the camera. I also updated player controls specifically for the overworld and made them feel like Final Fantasy 9 tank controls to simulate that game's traversal.

Tate approval: this looks very cool, things to think about for further implementation:

  • skybox
  • rotating in all directions
  • brown/yellow "fog" for distant objects

PR #16. Fixed .gitignore (missing '*')

Arthur | 1 commit

Added the missing * to end of the .gitignore file so it actually ignores the stuff now

Feb 12

PR #17. Skybox, Fog, and player shadow for overworld

Aden | 1 commit

Commit 1: I found this free Skybox asset: https://assetstore.unity.com/packages/vfx/shaders/free-skybox-extended-shader-107400. This is a good design for the overworld Skybox for multiple reasons.

  1. It is dynamic (the clouds move).
  2. We can adjust most settings, namely the color.
  3. We can add fog and adjust almost every aspect of it. This allows our world to rotate but not be unnatural by giving the player a lack of visibility. Commit 2: The traditional casted shadow provided by Unity did not translate well with the curved world. Because the curved world is not super smooth it looks like the player is making super long jumps with casted shadow. I made a drop shadow so the shadow stays with the player at all times.

Commit 3: Added 2 towns and a dock, all curved so they are immediately hidden from player view to simulate some exploration. Dock from: https://sketchfab.com/3d-models/broken-wooden-dock-ps1-e9f17996ebde497f8841cc5f7037d6a0

Tate approval: big moves, keep grinding 🤑🤑🤑

Aden note while logging this: In hindsight, I believe I may have removed the fog for testing and never put it back...

PR #18. Articy implement

Tate | 3 commits

  • changed character display names
  • events now update character progression status
  • global variables now contain names of events

Arthur approval: Expected changes to only Articy Files

Tate comment: This pr enables us to easily keep track of the events tied to each character, and pull whichever event we need depending on time, choices, and relationships.

PR #19. Visible Folders

Aden | 1 commit

Just put a temp txt file in folders to make them visible on github. Delete the files when things actually get added

PR #20. Add art

Kaylah | 4 commits

"After sketching out the characters, their names kind of just came to me. I mainly used Pinterest for ideas on their costumes, to better understand what kind of clothes they would be wearing in the medieval times. For Eliza, I copied and pasted her character next to each other to make another version of herself with a different facial expression. In the future, I want to try working on the exact same base model, without duplicating and moving, and utilize layers to toggle on and off different expressions on the same model. This will certainly help eliminate the need of having to change every model individually if there is something I want to change about her, because I will instead have only one model to work with. Also, this will help the model remain in the same position of its frame."

--> notes taken from art journal, 1/23/25

PR #21. Add Gibson Piers' Character Expressions

Kaylah | 3 commits

I really like Gibson's character. He's big, expressive, and looks different than the rest. It was fun making his expressions, because he is a naturally compassionate character, as he shows his care through his sister, Ebony, and the boy, Melio, two characters that look up to him.

Creating his character helped me understand how his narrative will flow, and seeing his kind eyes and big laugh shows what kind of person he is.

Feb 17

PR #22. Overworld Additions

Aden | 6 commits

Commit 1: Making the overworld a lot nicer. I am not done yet though. All textures are very ps1-esque to give a ps1 feeling for the whole overworld. The ocean and river also use a video player material to animate the water, giving some cool dynamic visuals.

Commit 2: I added a forest and waterfall to the overworld among some smaller things and updates. All of this was added to give the world a stronger environment for the player to latch onto. Every fantasy world needs a forest of course, and the waterfall gives the second town some dynamic imagery.

The forest has a long forest wall to block off the northmost boundary. This wall uses Ocarina of Time wall boundary textures. I added an entrance and stairs down to the dock, all with ps1 style textures. Finally, the waterfall and new river uses the same ps1-esque flowing water material. All of these were used to give our game an old ps1/n64 feeling.

(The other 4 commits were just logistical work/fixes)

Our first check in presentation, highlighting what we have done so far: Check In 1.pdf

Feb 19

PR #23. renaming stuff again

Tate | 1 commit

  • Character tech names are now their first name
  • neutral typo fixed i think

Arthur approval: Expected invisible changes from a proprietary filetype.

March 5

PR #24. Overworld: Added camp and forest hideaway

Aden | 1 commit

I added a camp and kid's hideaway to the forest. All of what I added and how it looks is based on the descriptions I was given or what assets I could find that worked. For the camp, I wanted a semi-permanent but easy and simply looking camp, so it is pretty much just a bed and campfire but also has some barrels to simulate storage. I placed it by the river because maybe that would be a source of water and to fill out that side of the map a bit. For the forest hideaway, I was told it is like a kid's hideaway that they made in the forest, so I placed it a little further back in the forest to try and hide it a bit but still close to the edge since kids would probably not want to be too far out. All it is is a tent and some log seats, and thankfully (it took me forever) I found a good-looking tent model with a patchy texture, so it kind of looks like a kid snatched some spears and stitched together some probably also stolen clothes.

Tate approval: looking cool joker!

PR #25. bracket fix

Tate | 1 commit

  • fixed articy script error caused by brackets

Arthur comment: Changes to proprietary file

Arthur approval: Proprietary Blob is proprietary.

PR #26. Dialogue UI

Arthur | 30 commits

(Finally) finished adding a dialogue box to the game.

Based on some of Kaylah's visualizations, the dialogue box will automatically display a played Articy Dialogue flow. It can handle up to 4 different dialogue branches/options by way of keyboard. It has support to automatically query character portraits by name. It projects the player's bounding box into screenspace to avoid blocking the players' view at any given moment.

Keeping the UI out of the way of the action is critical in any game. I figured it would be much quicker & easier for the team to have it move, than to have framing be a consideration for every single level implementation in the future.

Tate approval: thank you so much for the hard work!

Mar 12

PR #27. Added props to forest hideaway

Aden | 1 commit

Tasked with adding sticks, rocks, a campfire, and a wooden sword, shield, and slingshot "for the young boy melio's arc." I placed these items in a scattered about location to hopefully get the design that it is a kid's hideaway. All of the assets were found with a PS1/N64/lowpoly style in mind like most everything else to, again, simulate that PS1 era of fantasy world.

Arthur approval: Commit does not affect any other scenes, so they're shouldn't be any merge conflicts.

PR #28. Melio overworld movement + time system

Aden | 1 commit

This commit adds in AI Navigation for NPC movement (specifically for the overworld, but its scalable I hope) alongside a clock system.

I baked a NavMesh into the overworld terrain so I could have the NPC Melio traverse from town A to his forest hideaway seamlessly and without me having to hard code any navigations. I tried using Vector3.MoveTowards but that is very braindead as the NPC does not have any AI to register its surroundings; Melio just kept running into things. I then was about to create an animation before doing AI navigation, but I realized that because of all of the obstacles in the overworld (notably the painted trees), it would take me a long while to make an animation that looked good. I created a Melio-specific and an NPCNavigator script. The NPCNavigator script simply gets the assigned object's NavMeshAgent component and houses a Move() function that sets the object's destination to a determined target. I did not want to put anything too specific into this file so we can use it across multiple NPCs, like I do in the Melio script. The Melio script determines what scene it is currently in, what time it is, and what it should do if those parameters line up. For example, I have it checking: if it is in the overworld (the first scene) and if it is 1:30pm/13:30, then call the NPCNavigator's Move() function to go to the hideaway. This is the foundation to have our NPCs navigate throughout our scenes to simulate their realism and have them at their designated locations at the correct times.

The clock system is all determined by the new GameManager script. This script has the DoNotDestroyOnLoad() function called in it so hopefully it should remain a single instance across any scene we traverse as long as it is created in our introductory scene, which is the overworld. This will allow a clock to flow linearly throughout the entire game, allowing us to schedule events during certain times like what I did with Melio, and hopefully have them happen across scenes. All of this is to simulate some realism and passage of time, a key part to the message of our game and how the player/character should value their time. I created a simple UI element for the clock to, mainly for testing but we may keep it in so the player can keep track

This is a foundational commit. I am sure much of this will improve over time.

Arthur approval: GameManager.cs will need a pause/unpause functionality, but I can add that in very easily. You might want to rename Melio's character file, because he will presumably have a non-overworld representation.

PR #29. Add character expressions for Melio, Irwin, and Ebony

Kaylah | 12 commits

This PR contains the character Expressions for 3 characters.

For Irwin, I wanted his expressions to be as muted as possible. After all, he is a quiet person, a man of few words. So, his character expressions only range from shifting eye position, and slight movement from the corner of his lips. I gave him 2 neutral expressions, with an open and closed mouth, because I wanted some variation in that. After all, I didn't know if it would look weird if his mouth was closed the entire time, since he uses his neutral expression a lot, so I created neutral 2, so he can switch between the two.

For Melio, he is just a child, so his expressions are way more expressive. He is a naturally joyful person, so he gets excited easily and everything fascinates him. His neutral is a resting face of curiosity, and he his special facial expressions are embarrassment and devious, showing more qualities of a child who can be easily embarrassed and mischievous.

For Ebony, she is also a young character, at the age of 19, so she is slightly mature, but she also has devious as one of her expressions. I just realized that two of her expressions have an error, so I will need to fix that before this PR gets merged.

For now, I commit my changes and make my PR through GitHub, because I do not have the repo locally on my computer (since my main focus is narrative and 2D design). So, when it comes to creating new folders on gitHub, I have to create a new file too, so I will work on deleting those extra files too before this PR gets merged.

Arthur approval: Added art files, no code conflicts

Our second check in presentation, highlighting what we have done since the last check in presentation: Check In 2.pdf

April 7

PR #33. Basic framework of Eliza's narritve has been put out on articy.

Tate | 1 commit

Changes: instead of selecting scene by friendliness, now the Technical name of what scene should be played is stored under the character by CutsceneInformation.NextScene

this probably is still full of holes, specifically around the party scene (quest 4), but I will be fixing that soon.

These scenes are now added:

  • Eliza Hub
  • Eliza 3.1
  • Eliza 3.2
  • Eliza 4
  • Eliza 4.5
  • Eliza 5 The main thing that I had to figure out was making it so that the quest dialogue would only play once, then go back to the hub (default) text. this was really annoying, but I found out that I could just make it link to the hub unless it hadnt been played yet. I think that it works but I still need to refine this for when other characters have dialogue tied to another characters quest. custom events could be overwritten if this is done wrong.

Aden note while logging this: I HAVE NO IDEA WHERE PRs 30–32 WENT HAHAHA. Like genuinely there is no trace of them. They were most likely deleted instead of closed for whatever the reason was.

Apr 14

PR #34. Fuzzification

Arthur | 5 commits

Added a fuzzification system, with an initial time fuzzification class as an example. This will allow us to deal avoid dealing in hard values where it might be jarring for the player.

PR #35. Town interaction final

Aden | 2 commits

I now have townA all connected through loading new scenes.

Using Neha's Blender renders (2D images of a 3D environment), I connected the town to a central hub, which has all 4 houses surrounding a well and is zoomed out a bit. The player traverses through the hub across all 4 directions (up, down, left, right) since it is a zoomed out, large area. As the player walks to the individual houses, they collide with the object that transitions them to the scene with the individual house. There is a baker, tavern, barn, and blacksmith, all chosen and designed to give off a medieval feeling. The player only moves left to right within these scenes, as it is just a close up on the individual house. The static camera that follows the player and stops moving when the player reaches the far end are all designs taken from Final Fantasy 9, since that is our main source of reference.

Arthur approval: Looks good

PR #36. Integrate fuzzifier

Arthur | 6 commits

Added a time handler to GameManager which holds the a fuzzifier instance, & is used to check schedules.

PR #37. Added initial Start scene + NPC models

Aden | 1 commit

The initial start scene is just so we can start finalizing the build index to help with NPC schedules

The NPC models were taken from this pack: https://sketchfab.com/3d-models/low-poly-characters-aee6cd7563ee48c88468878386f253a5 . We elected to use temporary models since none of us had the time (or experience) to make custom models, so yes these models barely resemble their 2D art counterparts. In our big brainstorming dock under Character Narratives (editor note: located under Additional Documents in the Wiki), we have the counterparts with their models beside themselves. (Aden editor note: many of them are reflected in the game, but there are still some bugs so Sybil and the farmer do not have their 2D art in game.) We decided to match skin tone instead of looks just for the sake of maintaining race. At this point, they are not integrated just yet

Arthur approval: Nice work changing Melio's script to reflect the updates

Apr 15

PR #38. Added NPC and player models to town A

Aden | 3 commits

Commit 1: Finally getting rid of the temporary or nonexistent models. I mean, they are not perfect per se (the models do not match the NPC looks really and the player moves around on his butt), but they are free models so it is better than nothing. We tried to have them at least look somewhat similar to their profiles. Kaylah found the models: https://sketchfab.com/3d-models/low-poly-characters-aee6cd7563ee48c88468878386f253a5

Commit 2: We added some background music, one audio track for the title + overworld and one for all of the town scenes. Audio blends between scenes (does not restart) when the scenes share the same audio clip to keep everything consistent. The start and overworld share an audio clip to provide a nice transition, and all of the town scenes share the same audio clip to give off a classic PS1 era town vibe. Kaylah found the audio. The start screen just has a "start" button for now so the audio and GameManager has a beginning scene to start their processes from. It will get updated later

Commit 3: Using the FF9 style we used in our proposal. Looks nice and hopefully everything scales correctly, but this game is meant to be played in 4:3 to simulate the games of the late 90s, so everything was primarily designed for that. (Aden editor note: we decided to build the game with standard Unity screen settings because some of our UI messed up in a 4:3 ratio.)

Arthur approval: Knocking it out man. Well done.

Apr 16

PR #39. Gate scene

Aden | 2 commits

  • Added gate scene to buffer between overworld and town hub. This is where the guard will be. The gate is also displayed in the overworld for the town and closed, while the gate scene itself shows the gate open, inviting the player in (which is how the player enters the town, by colliding with the gate image)
  • Moved back town A in the overworld and added the gate image. A 3d model would have looked better but unfortunately that was just not in the cards. Textures would have to be redone mainly. I tried to hide it between some trees so maybe it does not look terrible
  • Made the TimeText not destroy on load so we have a clock in every scene. Hopefully this works

Arthur approval: Looks clean!

Apr 21

PR #40. Party scene

Tate | 2 commits

Adds flavor text for every appearing NPC + party invitation quest

I think I found a workaround for the too many cut scenes problem. I make every quest dialogue only appear in the hub itself as a dialogue option that only appears while a quest is active. This could balloon the size of the hub scene if there are like 6 quest for that character, but it works and the quest wont even be in the game anyway so whatever. I am very tired I stayed up all night to make something that will never be seen. This is kinda like Sisyphus if you think about it.

PR #41. Integrating dialogue

Arthur and Aden | 12 commits

The player can now interact with each character within Town A. There are still some art assets that are messed up, but at least the base functionality is there

Arthur approval: should work great

PR #42. Fix input

Arthur | 2 commits

Fixed being able to move around during dialogue, the player character falling over, etc.

Aden comment: This is some really good polish. Any bugs like this immediately take the player out of the experience, so any we can squash will result in better design

PR #43. Fix input

Arthur | 2 commits

Renamed character portraits

Tate approval: thank you so much

Apr 22

PR #44. Adding build of game

Aden 1 commit

This simply adds the zipped build file to the repository. It also adjusts the build settings to revert back to standard Unity build settings since the 4:3 aspect ratio messed up some of our UI.

Arthur added a release of the game here. This contains our source code and build in respective zip files, highlighting the finished build of the project at the end of the semester we set out to complete it in!

Submission

April 22 marks the submission of our game for our course! The Pull Requests above hopefully give a comprehensive view of how this project progressed. While we ended up under scope with a lot of ideas cut, we ended up with an expansive overworld that leads into a town with 6 separate scenes, 5 of which include interactive dialogue between the player and different NPCs. For a more comprehensive breakdown of what we left out as well as what we would include if we pursue this project further, please view the Future Expansion Statement under Additional Documents!

Clone this wiki locally