This book is focused on how to program a simple game using DragonRuby Game Toolkit. It briefly touches upon game design, sound, and art, but there’s a lot more to making games than coding them.
This Extra Credit chapter goes over the mindset to keep when making games and how to study the games you play. The more games you make, the better you’ll get it. That sounds obvious, but it lets you off the hook for making basic games at the beginning.
When you’re just starting out in any creative endeavor, set your sights on small projects that you can realistically finish. It’s easy to want to try to make a big game that’s like your favorites, but if you were starting out with creative writing, you’d start by writing short stories, not an epic novel. Why? Because you don’t have the stamina and skills yet to write a novel or make a huge game. Sure, a select few can work on their first game or novel for years and finish it and have some success. But it’s more likely than not that you’ll abandon your project due to challenges and lost interest.
When you have an idea for a game, ask yourself what you can cut from it while still maintaining its core essence. Don’t dwell on adding a bunch of complex systems. Focus on the fun and how you can subtract to bring the fun forward. Arcade games do a great job of making short, repayable, minimal experiences.
When making your small games, finish them! Finishing what you start is so important. Having a bunch of unreleased prototypes isn’t fun for anyone. It’s okay to share works in progress and tiny games. Finish what you make and release it. Shipping games is a muscle and a different skill set than building the game. The more practice you get, the better you'll be at finishing your games.
Release your games for free for a while. Don’t put the pressure on yourself of making a commercial project when you’re just starting out. Your goal should be to build an audience of fans who enjoy your games. Make that barrier as low as possible by releasing your game for the web and the major operating systems. And release them for free.
Would you rather make and release a free game 1000 people play or a paid game that only 5 people play? It’s defeating to release a paid game no one buys.
Also, your first games won’t be very good. That’s okay! No one who starts playing the guitar is very good right at the beginning. The only way to get better is to suck at first and keep working at it. Getting your games in people’s hands and getting feedback is much more important than trying to make money. Once you’ve shipped a bunch of small games, you’ll have gained new skills and confidence. You’ll also be grounded in reality and not fantasizing about selling millions of copies of your idea. Make and release small, humble games for free for a while.
When you’re making your small, free games, don’t worry about being original. That may sound like blasphemy, but the best way to learn is to copy mechanics and systems from your favorite games to learn. You’ll inevitably infuse your own sensibilities into them and make something unique. When we learn an instrument, we play covers of our favorite songs and that’s encouraged. What would it be like to “cover” your favorite game? Originality will come with time when the ideas are flowing and you don't agree with how other games do something. You'll naturally want to do something different!
Game jams are constrained events where people make games within a certain time frame, sometimes with specific rules. They're a great way to start and finish a game in a short period of time. You can experiment and take risks and connect with the community of your fellow participants. I can't recommend them enough. Try to do at least one jam a year (or more if your heart desires).
Share your work. Whether on a YouTube channel, blog, or social network. Post screenshots. Share what you learn. Talk about what worked and what didn’t. Help other game developers. Don’t think about it as marketing, even though it is. Be genuine and share your progress.
If you’re interested in making games, it’s likely you enjoy playing them. When you’re playing games, think about how they work. From the systems to the menu design to how the UI is structured. What do you like? What can’t you stand? How would you make something similar? Take notes and intentionally think about the games you’re playing. Incorporate the aspects you love into the games you make and discard what you can stand.
Find a community of developers making similar caliber games. Whether it’s a Discord or in-person meet-up group, surround yourself with people making games who have similar goals to you. Support and push each other. Play each other’s games and learn from one another. You may even find collaborators among the community with different strengths that you complement to make an even better game.
It's important to take breaks. Pace yourself! If you love games and are enjoying making them, think about what it'd be like to make games for the next 40 years of your life instead of just the next 4 months. What would you do differently to sustain yourself?
Being a game developer requires determination and passion, but it also requires a lot of self-care. ❤️