6+2 Games to get started in Unity—the 3D way
Any suggestion of 3D game projects?
That's a really common question. And if you already asked this, in public or to yourself, this article exists to help you.
Here's a list of 7 games, each introducing a different set of features to aid you in your journey of learning 3d game development techniques. The project-based approach to learning is a good one, but "just doing it" won't work—there has to be a path, a logical order of increased difficulty in each of these projects.
And finally, one really important lesson, these projects are not meant to be released to the public, we tried to do to that—trust us, it doesn't work. One thing is a game that's designed to sell to a known and studied market and another entirely different thing is a game that's being done for the purposes of learning the craft.
2D Gameplay Using 3D Graphics
This list is divided into two sections. The first section, this one, contains games that have 2d gameplay that looks nice in 3D. The final part of the list contains gameplay that's primarily 3D oriented.
1. Top-Down Shooter
This marks the beginning of your journey in 3D game making. The camera in this kind of game works even if in a fixed position, and you'll be able to learn how to import 3d models, create materials, how to use a single light source
- import mesh
- use of a real-time directional light
- positioning a fixed camera
2. Simple 3d racing game with fake physics
Doing actual, real, racing game physics isn't easy. The AI can be particularly complicated too. But for this project, you're going for something way easier to develop. The curves are going to "scripted", you'll only create an accelerate and brake mechanic followed by track switching.
- camera that follows the player
- if it feels right it's right (fake physics)
3. Simple 3D Point & Click
This project is going to be an excellent opportunity for creating a "control of narrative system" and that will include an optional inventory system and saving of game progress.
- mouse click raytrace through the camera
- use of spotlights to direct player's attention
- glow objects
- game progress persistence
Going Full 3D
Camera programming is an art. It's really tough, try playing games from the PS1 and N64 and you'll see how much time even the pros took to learn it, don't worry if your camera is not working perfectly in your first attempts.
4. Maze Game
The FPS mouse movement is universal and on this project, you can start studying it. Also, you'll go deeper in lighting, learning more about the subtleties of lighting using point lights for your torches, you might even want to start playing with post-processing to create more dramatic scenes.
- mouse based first person camera movement
- ambient lighting
- point lights to create interest
5. First-person spaceship shooting
Get everything from the first space shooting game, combine it with a raytrace check and put a screen-wide UI on top of everything and you'll get this game.
- responsive UI on top of the whole screen
- animated background
6. Roll Away Ball
Not that exciting at a first sight, but this project definitely has some lessons. You can approach it using physics simulation in a controlled way. Instead of letting it govern the game all the time you can let it run only on select times.
- physics vs scripted controls gameplay
- fixed camera rotations
You already worked on a really diverse set of games. Still craving for more? Here comes a new challenger. And another new challenger.
6+1. Simple 3D Platforming
That one is hard, the camera work here needs to be superb for a flawless gameplay experience.
- 3rd person camera
- geometry intersection tests for ledge grabbing mechanics
6+2. FPS (not extremely hard in Unity, really)
It's an obvious recommendation that a lot of people run away from it without even trying. If you have reached this far in the list you're more than capable already, give it a try.
- jumping mechanics
- crouching mechanics
- navigation system
- Behavior Tree AI
- using multiplayer assets
Too many projects, creating a workable list
Quite a big list, right? Should I do them all? In that order? I'd say with confidence that you'll definitely learn a lot from each project, but to make the best of your time you should create a schedule, try working on each project for no more than 2 weeks.
Another tip, use the Asset Store and be creative with it. There are lots of free assets that can be used in a way that was not originally intended for it. If you need cables and can't find a free package, try using a spaceship that has visible large cables and just hide the other parts of it. This is a tip I got from the Neon creative prototyping video from the official Unity channel.
More than clones
If you're studying game development you probably want to be able to create your own games in the future, games with your own original designs. That's also really tricky. Take the time you're alredy investing in studying these old classics and make changes. See what works, try to fix what was not working in the original games, be wild, anything can work if done correctly.
Ask your friends to play and get feedback
Get feedback. From your friends, from online communities, your mother. All feedback is useful, a few yet more useful. Some people might not want to hurt your feelings, but some people will try and find defects, even if there are none. I'm saying this as a precaution for you to take all feedback with a grain of salt, good or bad, only you can make the final decision of what's good or not, use feedback as a way to expand your vision, to see more clearly what was blurry, but don't let others make the final call for you.
This was a really different article, please let me know on twitter @juliomarcos. If you liked this kind of article, I can make more specialized ones, a list like that but focused on Action RPGs, perhaps? If that article was useful for you, please share it with your friends, they might find it useful too.
- 3d game projects
- learning path