First Log!


Hello and welcome to the first devlog submission for Torches and Treasures. Lately I've been feeling nostalgic revisiting some older action RPGs I grew up with such as Legend of Zelda, Gauntlet and the Forgotten Realms games. This has inspired me to start a new game project. I want this game to have the allure of a classic top down dungeon crawler but with a multiplayer, team driven dynamic. Groups will need to work together. Sometimes they will split up to different areas of dungeons. Puzzles, traps and secrets. I am developing this game in Unity 6 URP and using Synty graphical assets. I'd like to create most of my own tools and systems for this game and shy away from pre-coded assets and frameworks. I will be referencing the Unity Scripting API documentation.

Networking



This will be a multiplayer game and I've chosen Mirror for networking in Unity.  I've used Mirror in my projects in the past and have had great results. This was the very first thing I did after setting up the project. Setup was fairly simple and the Mirror documentation was adequate and easy to understand. After dropping in a simple testing scene, I wrote some simple logic for movement and tested four clients. One host and three remote connections. All tested good with high and steady ping. All movements and cameras synced. Boom! We're connected! I wanted to at least get the networking foundation in before going forward with anything else.


Player Controller


Next I'll design and implement a player controller and also network sync movement/animations across all four clients. 

Created a new animation controller and assigned the animation states I wanted for Idle, Walk, Run, Strafe Left and Strafe Right. I made float parameters for speed and strafe, then referenced them in my code to activate the animations during movement. I setup the player as a Rigidbody and then adjusted/tested collision on player and environment. The controller is something I want to spend a good amount of time on as I want it to feel as smooth as possible.  Putting emphasis and importance on the flexibility required to achieve exactly what I want in a player controller for this type of game. It needs to feel nimble and responsive without being over complicated. Simplicity is key.  






So far the controller feels fluid and responsive. I'm quite pleased with it and now I want to add footsteps. I'm not getting into different footstep sound types but do plan on doing that later.  First I check to see if the player is moving and grounded. Then determine and control the timing of the sounds. I added some footsteps sounds to an audioclip array and also using pitch variation for realism. Next I want to implement a new Jump animation state and further progress the character controller.



Player Characters and Map

As mentioned I'm using Synty graphical assets for this game. Here are the four player characters I am using from the Fantasy Mini pack. Knight, Wizard, Warrior and Rogue. I plan on using male and female versions. These come pre-rigged but are not animated which is why I am making a custom controller for these. I put together a few dungeon rooms using the Synty Prototype pack. The idea is to make some pre-made, modular type rooms that I can piece together to make some maps. I created one map for testing and added some simple post processing and ambience.


Main Menu/Home Screen

Created a simple home screen and implemented button logic for character selection, host game, connect to host and quit application. Players must first select their character before starting or joining a game. Character selection menu shows available characters and stats.




Closing Thoughts

Got a lot done over the last few days and happy with the progress so far. I'll continue to work on the player controller, adding new animation states. Player-environment interaction is priority right now as I do not plan on adding combat at this time. I would rather master player movement and implement some simple stats like Health and Stamina. Health will be affected by traps and pitfalls. Also poisons like gas or toxins. Stamina will deplete when running or performing actions. Will also need to apply more syncing across the network such as player animations which are not currently syncing.

Leave a comment

Log in with itch.io to leave a comment.