You say: "I want to program my own game!", I'm not sure that you do...
Title image from Everything You Need To Start Making Games (As A Beginner) by Juniper Dev
Recently, a friend told me that his 8-year-old son wants to learn coding so he can make games. It's a fairly common thing to want to do when you're young: you see something cool, so you want to make your own version. It works fine with drawings, comics, songs, stories, videos; many people, young and old, want to emulate what they see, creating their own spin and ading their own ideas.
I spent many years as a Computer Science educator, teaching students from 11 to 18 years old how to code, from Scratch games, to text-based, console coding, through to 2d video games. Everyone has an idea they want to make, and if you want to actually realise that idea yourself, you're in for a long and complex journey. I remember a number of times that students of mine wanted to make a game for their final year project, there was often a "I want to program a 3d game in Unreal Engine", but after a discussion, their description ended up being some level design and using all the engine tools to implement exactly what they wanted, and there wasn't enough coding that would be done for it to meet the project.
Building the Dream
It turns out they didn't really want to program a game, they just wanted to design the concepts of a game. My usual analogy is about someone who wants to "create their dream house", what do you actually want to do? Is it drawing this?
Or do you want to do this?
Maybe it's some of the nitty-gritty, and you actually want to build it:
My advice to those who want to make games is to figure out which part you actually want to make:
The naive "house creator" probably just wants to do one or both of the first two, plus some interior decoration. The hidden details will scare them: materials, load-bearing, plumbing, electricity, land surveys, foundations, and a dozen other things.
I'd guess that most people who want to "make their dream house" really want to just come up with the basic concepts and have it magiced into existence.
Making a Game
If you want to make a game, the first step is to figure out what part you actually want to make. What are you really most interested in?
Do you want to just come up with the overall idea or concept for something cool and add the details?
Maybe you think that a daycare simulator is a good idea. You have the format, the overall goal, and you have loads of ideas like changing nappies, filling in accident report forms. This is probably the easiest thing to do: there are no barriers to entry other than imagination, you don't really have to learn much at all. This does mean that there are many, many people who could do this, so your "idea for a game" isn't worth much. You can't copyright it, so you can't really sell it, and actually getting it implemented will take a lot of work , time, and skill. If this is all you have, you either need to learn to use tools that will help you implement your idea, or pay other people a lot of money to do that for you.
Do you want to design the game world and environments?
If you've ever used a level editor, or just imagined some changes to a stage in a game you're playing, you'll have thought of this. Maybe you love Mario Maker or modding skyrim, or just building things in Minecraft. The amount of programming needed here can easily be zero: there are a lot of tools that let you do this for existing games, or create worlds, levels, or stages for use in new games. You could learn 3d modelling or 2d art if you want to really design everything yourself,or just find free assets to use in your worlds. You can keep it simple: Fire up Tiled or Unity get some youtube tutorials up, and you can get going in less than an hour. You'll need to actually get a game working in your environments at some point, and again, that's more work for you or someone else.
Do you want to tell the game story?
Maybe you have a grand idea for a story: character arcs, twists and turns, friendships, betrayals, and all that. You could just write a book, but a game is more alive. It's similar to the world-design idea above, and similarly, you don't really need any programming. There are tools to make entire visual novels if that's your thing, look up Twine or RenPy, fire up RPG maker and go, or figure out a dialogue system in UnrealEngine and make a "walking simulator". This can be another case where the barrier to entry is very low: anyone can write a story (not necessarily a good story!), it requires no budget or specialist skills or tools.
Do you want to come up with some gameplay mechanics and how everything works?
This is where some programming might come in. If you're making something relatively similar to existing genres (platformer, RPG, 1st-person shooter), you can still just use a tool or engine, but if your ideas are quite new or different, you might have some work to do. For example, you'll not easily find a tool that lets you incorporate complex time travel into your game, or control how plants should grow. Maybe you want to make a puzzle game: I'm pretty sure you'll be programming most of it in this case; outside of a few popular categories of puzzler, most puzzle games have fairly unique mechanics that aren't "built-in" to existing tools. You can start with an existing engine.framework like Unreal or Godot, but there'll be lots of programming to do too!
Do you want to make the whole thing just so you can control it all?
When I started making my first "proper" game (after finishing many small games and prototypes), I looked at Solar2D, Godot, and GameMaker, and I'm pretty sure I could have used any of them to do what I wanted, but I felt I was limiting myself by using one tool and I would rather understand and control everything that was happening. If I had chosen one of them, some things would have been less work (user interface implementation and dialogue systems are good examples), but I wanted to make all of it. I wanted control over it all. I wanted to build a world, create the mechanics, tell the story, and code the whole engine for the challenge of it.
Of course, as I'm not a total sadist, I did use a framework for input handling, content management and graphics rendering (MonoGame), and a physics engine for... physics (AetherPhysics2D, based on Box2D), but I ended-up extending both of those to meet my needs (attaching each end of a rope to a moving object and simulating push/pull motion made the physics engine unhappy). I also ended up creating a bespoke menu system that I can reuse in another project very easily and that I have total control over.
Summary
Anyone who wants to get into making games needs to have a step-back and think about what they want to do and why.
For some if it's story, level design, or worldbuilding, modding existing games will be enough: this might be environment design, character design, quest design. If that's what you want, get modding! If you want to make money from this (as selling mods can be difficult or just not possible with licensing), practise, get good, build a portfolio, and try to get hired.
If you want your own simple thing, starting on the level of GameMaker or RPG maker might be a better start: you have more control and can sell what you make.
If you want more complexity, there's a lot out there, the big, most well-known tools of Unity, Unreal Engine are sort-of "industry standard", but you can easily find others.
If you're like me, you enjoy the actual programming part as much as the "making a game" part, you're just as happy learning new things and figuring out how to implement features as you are designing levels and telling a story.
Get AraCore Astromining Ventures (demo)
AraCore Astromining Ventures (demo)
Explore space, mine asteroid, get rich, uncover a vast interplanetary conspiracy.
Status | In development |
Author | El Crabo Grande |
Genre | Action |
Tags | 2D, Exploration, Meaningful Choices, Pixel Art, Space, Story Rich |
More posts
- How not to make a game11 hours ago
- The need for tutorials65 days ago
- Level design time!Nov 19, 2024
- Demo launchNov 15, 2024
- Mechanics and story updatesOct 19, 2024
- The Unexpected: Quantum asteroids, replicating rocks, and Spaceships made of gasSep 07, 2024
Leave a comment
Log in with itch.io to leave a comment.