DeeganKosen_Devlog _W1-3
Devlog 1
It has been a very busy 3 weeks. I was not able to fully put my focus on this project, but good progress was still made. My role was to program and prepare the game before entering the production stage. It was also my job to help the artists in gathering references, plan out art implementation, and help determine what assets to be created. We also shifted from a fully 2D game into a 2.5D-ish game, where the game will be played in 2D but the assets and programming will be done in 3D.
Switching to 2.5D
The switch was done because aspects such as height and sorting order are easier to implement with the extra axis. Furthermore, the external tools we are planning to use work better in 3D. As of right now, we have not finalized our level making process and are currently trying to figure something out.
For now, I was able to create 3D colliders for the 2D tilemap by using the grid data and placing collider prefabs on each tile.
The 2D physics system in Unity doesn't interact with the 3D physics system, so placing the 3D colliders is a must. A tile's world location data can be obtained from the Tile Map component. Getting cellBounds.allPositionWithin will give the grid position of each tile, and calling CellToWorld(Vector3) with the grid position will give the tile position in the world.
I did this because Unity's tile map feature is very convenient and I thought that allowing it to create 3D tiles would greatly speed up level making. However, I quickly realised that sprites in 3D still have layer sorting issues and it would be better if everything is done with mesh quads. The tile map has a game object brush, but it is kind of inconvenient to use as you have to drag and drop the tile into the input instead of selecting from a pallet. I have looked at a couple of plugins from the asset store and github that might be useful. For now, building levels will have to go on with that until a better solution has been found.
Game Mechanics
During the first week, I made simple versions of our game's main mechanic, which is the growth ability and vine seeds. To make adding new features easier, I wanted to use interfaces for the growth ability interactions and plant interactions. This allows a common function to be called from different objects with their own implementation of that common function. That also means that to call this common function, there is no need to know what script is attached to the object as long as it implements the interface.
It has been a while since I have been using Unity, so this was a nice refresher of Unity's interface for me. Another way of doing this (calling a common function) is through inheritance, but I prefer doing it this way to prevent mess in the future.
Helping with Art
The last thing I did during these three weeks was helping the art creation of the game. I gathered references and gave explanations of how other games do certain things.
Above is an example of what I did, explaining how Legend of Zelda and Metroid Prime handle a light and dark version of the same place. I explained how color was shifted around for the effect these games were going for. This can also be used as reference for something similar like alternate versions or a group overtaking a certain place, which is what happens in our game.
Sprout
Status | In development |
Authors | Tmax007, Drarist76, WH0409, akiraking, tamel |
Genre | Puzzle |
Tags | 2D, environment, Exploration, Singleplayer, Top Down Adventure |
More posts
- Pre-Production Highlights (Aditya)8 days ago
- Dev Log_White Huang_W1-310 days ago
- Devlog #5 (Potential Expansion)55 days ago
- Dev Log #4(Future plan)56 days ago
- Devlog #3 (First Puzzle)57 days ago
- Devlog #2 (Bringing the Forest back to life)Oct 14, 2024
- Devlog #1 (Planting of a little Sprout!)Oct 14, 2024
Leave a comment
Log in with itch.io to leave a comment.