-
Notifications
You must be signed in to change notification settings - Fork 1
MDM Log
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.
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.
Aden | 1 commit
The initial setup for the entire project.
Aden | 1 commit
Testing if repo works.
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.
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).
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! 😄
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!!!!
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
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
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.
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.
Tate | 1 commit
This is adding all the Articy assets to the project. Implimiments First Eliza Scene
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: :) :) :) :)
Tate and Kaylah | 1 commit
This is the second scene with Eliza, Dinner with her and Melio written by Kaylah.
Kaylah | 3 commits
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
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
Arthur | 1 commit
Added the missing * to end of the .gitignore file so it actually ignores the stuff now
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.
- It is dynamic (the clouds move).
- We can adjust most settings, namely the color.
- 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 comment: In hindsight, I believe I may have removed the fog for testing and never put it back...
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.
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
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
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.
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)
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.
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!
Tate | 1 commit
- fixed articy script error caused by brackets
Arthur comment: Changes to proprietary file
Arthur approval: Proprietary Blob is proprietary.
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!
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.
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.