3D Videogame DevLog
16 Oct 2022 - ongoing | Author: Laurin
Current Progress
1-14-24
- VROID models walking around with Mixamo animations. Can change to a healing class. Have one party member following you.
So far I have:
- Inventory & Inventory UI
- Quick Inventory / Equipment Selection
- Weather
- Ocean / Water
- Third Person Character Controller & Camera
- Pickup Items
- Hunger / Thirst / Strength Depletion & UI
- Read NPC Dialogue
- Take damage from Enemy
- Fully rigged 3D character
I’m working on creating:
- Affinity system (at least with party members)
- Combat
- Swimming
- Climbing
- Sailing / Boating
- Puzzles
- Camping (to fill Hunger, Strength needs)
- Armor / Clothing effects
Among other things…
Introduction
Many developers start out creating small games, I’m no exception. In high school I was creating my own versions of Mario, Pacman, etc. However I wanted to create something bigger for several years. I developed characters: their personalities, looks, etc in high school. I jotted down gameplay ideas for years during and post college. During the pandemic lockdowns, I finally began creating my dream game: A 3D Zelda-like world with an invisible spiritual world. My favorite games have mostly all been in 3D: Mario Sunshine, Mario Galaxy 1 & 2, Breath of the Wild, Wind Waker, Harvest Moon.
What I’ve Learned (Quick Reference)
3D Modeling
Workflow
So the flow I’ve found that works for me
- Create mesh (preferably find a base-mesh online with a usable license and modify it. SketchFab has a lot of models)
- Rig using rigify
- Create detailed animations in blender
- Bake the animations and generate a game rig with Game Core Tools add-on.
- If you are missing bones, have too many, or the bones are disconnected, fix the rig. It’s still less work than doing it yourself.
- Shift select the mesh and the rig
- Export to fbx
- In Unity, click the fbx obj and update the inspector to use ‘humanoid’. Apply the change. If there are errors you can choose ‘configure’ and see what bones are missing, etc.
Rigging
- Game rigs are different from animation rigs.
- Animation rigs, like rigify in blender, help you get animation details down but are too rigorous for game engines.
- You have to provide a seperate game rig for game engines that has less bones but specific ones for a humanoid. You then ‘bake’ the animations made in blender so your detailed animations are beautifully kept and the engine can run smoothly (physics) with the game rig.
- Game rigs also can use generic animations like mixamo.
- Mixamo has free characters and free animations that can be mapped to any rig.
- Downloading Y or X bot is great for programming 3D humanoid movement if you’re model isn’t finished. It gets you many animations you’ll need while you finish the art.
Blender
Keyboard Shortcuts
Alt-H : UnHide all hidden objects
Timeline
- 2020 I began learning Unity. With the help of the Brackeys youtube channel I slowly became familiar with the popular game engine. I also began learning about shaders, which I found is a feat of itself.
- 2021 I began learning modeling, and was still trying to pinpoint what I was going for in the story and for gameplay.
- 2022 I found Thomas Brush and learned what I was doing wrong:
- I had no design document - therefore I was creating without knowing what I was supposed to be creating. The worst nightmare for a programmer trying to program - you can’t think creatively and program it at the same time. The design needs to come first.
- I needed to create a small polished version of my game showing what it was all about, not start creating the entire thing. And I needed to get feedback on that small polished version to see if the game was interesting to others.
- 2023
- Found a 3D modeling program (VROID) that is easy to create 3D human models, fully rigged.
- Able to transition to the ‘Battle’ scene
- Basic character animations and UI
- Still working towards that small core snippet to show publishers
Bugs
Tears in model in animation
Solution: The model needs to be in T pose
Unity crashes when stopping play mode
Solution: something has a leak. The red items in the world are the culprit. Delete them and it should work again.
objects are weight painted red but don’t move with the bone
Solution: Blender doesn’t always weight paint the back of the object. You’ll have to do it.
Unity
C#
Blender