Current Development Logs:
Devlog 1 - Intro & Level Editor
Devlog 2 - Minimap & Character Stats
Devlog 3 - Pre Alpha Gameplay Video
Devlog 4 - Taking Stock
Devlog 5 - Papercraft Remake
Devlog 6 - Artist Introduction
Devlog 1 - Intro & Level Editor:
I wanted to play a streamlined RPG dungeon crawler on my phone. I've played many but haven't found one with a suitably low level of commitment to play that is easily interrupted and re-engaged. I like the simplicity of old school, tiled, turn-based, roguelike RPGs. Their systems suit the needs of a mobile RPG. However, with the hardware power on phones nowadays, I'd like to see that tile-gameplay formula translated into 3D in a First Person perspective so I feel like I'm really diving into a dungeon inside my phone.
With that intention and direction, I determined these Design Pillars:
- explore interactive, 3D world in First Person
- control with minimal input
- combat in turns, with player choice of when to engage and disengage
- collect/upgrade loot, but never need to micro-manage it
- progress experience/abilities, but never need to overthink/overstrategize them
With these design pillars in mind, I set out to start building something. Unity was my engine choice as I have experimented with it in the past and feel comfortable using it. I'm not an expert, but there are many resources whenever I have a question. I allotted myself a budget $0.00 so Unity's price and Asset Store freebies fit my needs for now. This will remain an experiment, and not a commercial venture, for the time being so I'm fine with using placeholder assets if they look alright and set the appropriate tone.
3D Game Tiles:
I spent some time building placeholder objects in front of the camera in Unity to come up with the field of view. I prototyped a traversal mechanism, and planned the screen layout. When I was happy with the direction, I started building a simple set of 3D Tiles for every wall variation (open, wall, corner, hall, dead end):
I created a system for linking the open sides of the tiles to each other so they could be navigated by the camera and the simple input control I had written (move forward one block, turn left/right). With base interactivity in place, I began assembling a level. I quickly realized that even with vertex snapping, it was a pain to design and build a level. I've written several 2D Tile Editors and 2D Engines in the past so I thought maybe I should write a quick windows app for designing levels in a 2D Tile Editor.
2D Tile Editor:
For an experiment, I decided to try to write a 2D Tile Editor in Unity as a separate level of the same game project. I created base Tile class that is used in both the 2D editor and the 3D game. I wrote a system to generate a grid of quads with mouse click events as the level representation, and another set of quads with click events as the menu buttons. I float the camera over the grid in Orthographic view. After a little research on reading/writing XML, I had a simple but functional 2D Tile Editor that could create new, load, and save levels:
3D Generated Level:
In Unity, the game level is empty, save for the player. The level gets generated when it loads the data from the 2D Editor. The 3D Game Tiles correspond to the 2D Editor Tiles matching location and orientation (using only a different offset between them as the 2D tiles are 1x1 and the 3D tiles are 10x10). The placeholder tile linking system I'd created before was replaced. Now, when the level is exported from the Editor, each tile checks its open sides to see if there are other tiles to link to and auto generates its tile links for the in game movement system to use:
The lower right output screen shows the game running and a preview of the interaction system. Once a tile is entered, hotspots become active on the ground. The player can touch the forward one to move to the next tile, or the left/right ones to turn left/right. The hotspots disappear when the player is moving or turning. If a monster spawned on the next tile, a single hotspot appears at its feet (touch to attack) and the movement/turn hotspots are turned off. When the monster is defeated, its hotspot disappears and the movement/turn hotspots are turned on.
That's all for this update. I started monster and loot spawning last night so I'm going to get the basics of combat and collection in today.
Thanks for dropping by!