v0.2.0-alpha | “The Overworld Map Begins”


If you’re familiar with the game “Punch Club” and how you move about the city on the Map, then you’ll be familiar with the general idea I’m going for with the Overworld. The Overworld screen will be the primary interface for the Life Sim portion of the game.

This milestone I was focused on getting it’s core mechanics up and running, and implementing the basic gameplay concepts.

  1. Node based map travel
    1. I like using Asset Store packages whenever I can! Luckily I found a great one called Node Map to do the heavy lifting for the map travel system. First, I needed to integrate the Node Map asset into my project and make it work with my Virtual Pointer system and the SOAP asset which my project uses heavily.
    2. Next I added support for specific Location Nodes
      • These locations are nodes but with extra features. They store a ton of data in scriptable objects that I can reference elsewhere in the scene. Including location name, description, scene name to load, quest status, etc.
      • They also allow navigation using directional inputs (like a d-pad or WASD). It works kinda like navigating between buttons in a UI but for specific location nodes with 3D meshes instead.
    3. I then built a NodeManager script to track all this stuff in one place and to output relevant data to scriptable variables, so they can be used in other systems like the TimeManager. This includes data like current location name, current path time cost, travel progress, current node name, etc.
    4. With this all setup I can now travel between my existing demo scenes as if they were game levels!
  2. TimeManager
    1. I needed a system to track the current in-game time and to handle all the calculations and data related to it.
    2. Calculates sun and moon position based on current time AND current season
      • Each season has different sunrise and sunset times. The system calculates current sun position based off of these values and saves it to a scriptable variable as a normalized value. I can use this data to control sun position, lighting, and other effects later in the polish stage
    3. Time passes while “Waiting” at an interval of x real time seconds to 1 in-game minute, where x can be customized in the debug menu. I’ve generally been hovering around .1 seconds per minute.
    4. Time also passes while traveling, at a predetermined travel cost rate which is stored (and can be customized) on each path between nodes.
      • Timescale can also be adjusted in the debug menu. Helpful if I want to add a fast forward mechanic later
    5. I can now travel between locations, launch scenes, pass the time, and see a visual representation of the sun and moon positions

And that’s it for this Overworld v2 milestone! I will now spend some time tinkering and planning to come up with a list of goals for Overworld v3, as well as the other gameplay scenes and mechanics. This process will repeat until the gameplay feels right and is ready to move from the Prototype phase (Alpha) into production phase (Beta)

I have found this video incredibly helpful for mentally organizing the work that has to go into making a game, all small scale developers should give it a watch: https://www.youtube.com/watch?v=NsMHicoZTzQ&list=PLvWvVygcE3o6RUHaq-RowbGqWqA-sYC8R

I plan on following this process of design by iteration on my gameplay and mechanics during the alpha(prototype) phase, before moving onto the beta(production)where I will be adding the ACTUAL content to the game. Stuff like the characters, levels, quests, consequences, etc.

If you’re interested in the game development process you can follow my actual live production road map here: https://kenrampage.notion.site/37c67f6642604f80a3202654f74c7a34?v=b531b709491d4aa696ce8589f29a3499

Thank you so much for reading this far! I’m willing to bet you’re a lovely person with lots of friends

xoxo

-Ken Rampage

Files

PTH_WEBGL_V0.2.0-alpha.rc2.zip Play in browser
43 days ago

Leave a comment

Log in with itch.io to leave a comment.