Ideas for Personal Projects for Game Developers
Published June 2020, updated May 2023
I recently participated in a panel with the University of Texas at Austin, discussing what students can do in the midst of a changing world and an industry that’s now mostly working from home. Internships may be rare, but there’s still lots that up-and-coming game developers can do to sharpen their skills and portfolio.
One question jumped out at me:
“Can you think of any concrete examples that have stood out to you in the past or outline what you would hope to see in a personal project?”
So I’ve jotted down these ideas for personal projects. I hope these ideas spark your own creativity!
Recreate a favorite classic game using modern techniques. Games like Tetris, Pac-Man, and Space Invaders are classic for a reason, and there’s lots to learn working with them.
A programmer could program a classic game in Unity, Unreal, or another game engine.
An artist could create their own original sprite-sheets for a classic game, at high-res or full-color.
An artist could create concept artwork for what a modern remake could look like.
A game designer could write a design doc and draw diagrams for a new feature in a classic game.
A game designer could write a design doc for a modern remake with reimagined gameplay.
A UI/UX designer could design the menus and HUDs* for the game or a reimagined version of it.
Recreate a core mechanic from a favorite game of yours. Mostly ideas for programmers…
A programmer could recreate the jump mechanics from Celeste in your own small game.
A programmer could recreate the Needler from Halo in your own small game.
A programmer could recreate the axe from God of War for PS4.
A level designer could recreate Dust from Counter-Strike as a greybox level.*
A level designer could recreate 2Fort from Team Fortress 2 as a greybox level.*
You can use placeholder assets, but try to understand why these mechanics feel so good.
Contribute to an open-source or fan project. Or make your own mods from scratch.
A programmer could contribute bug fixes or requested features to an open source project.
A programmer could program a new small feature for a game that’s modifiable.
An artist could create new models or skins for a game, and show them working in-game.
An artist or designer could make new levels, environments, or worlds for a game, using the same tools that professional developers do.
A designer could make a digital version of a favorite board / tabletop game in Tabletop Simulator.
A UI/UX designer could work on the website and social media designs for the project.
A writer could write a new story that takes place in an existing game or world. “Fan fiction” is just another name for “spec script”.*
Starting an open source or mod project is easy, but actually getting traction and finishing is difficult. Contributing to something already started is a great place to start.
Journalism and criticism are great ways to investigate & learn from your favorite games.
Replay your favorite game 10 times. You will notice new things every time you play, and you’ll learn more about what makes the game good and special and one of your favorites.
Write and publish a review for your favorite game. It doesn’t have to be a recent game, just write about your perspective on the game and why it’s still fun.
Research the history behind your favorite game and publish a blog post about it. What other games was it directly influenced by? What games did it influence? Where does it live in the family tree of the genre and franchise?
Write and publish a strategy guide or playthrough guide for your favorite level of a game. Or make a video of yourself playing the level, explaining the tips and tricks, and share the video on YouTube or Twitch.
Get involved with an online community and help make it as awesome as possible.
Find healthy online communities of like-minded people and participate in the discussion and work going on in that community.
Ask your favorite community managers, community organizers, or content creators (YouTubers, Twitch streamers, social media mavens) what you can do to help.
Ask the community members what they need help with on their own projects, and see if there’s a fit between their needs and your skills.
I’m not a fan of “working for free” or “unpaid internships” -- but collaborating on a project with friends to make something mutually beneficial is a beautiful thing. Know what you want to get out of any project before you start, and discuss your goals with your collaborators long before there are misunderstandings or hurt feelings.
Release your work on the Internet in a public way
Please “release” your work in a way that it can be easily found, shared, and reacted to on the Internet. A little bit of work can go a super long way towards legitimizing your work and portfolio.
Upload videos of your work to YouTube, Vimeo, Twitter, etc. This applies to any discipline.
If you’ve made a project for fun or for a class, release it as a downloadable game on Steam, Itch.io, or the mobile app stores. A downloadable link on your website is OK, but being in an app store looks much more professional.
You can also publish your work in a physical form – the work to upload and sell your artwork, designs, or real-world physical games to print-on-demand stores like Zazzle, TeeSpring, or TheGameCrafter is a very similar process to what it takes to release on the digital-only stores!
Make sure all of your projects, websites, and social media link to each other, or to a central website. Make it easy for people to learn about you, your projects, and your resume.
Tell people about your work
Once you’ve published your work, you can email, text, tweet, and blog these links out to the world without having to worry about attachments, file-sharing permissions, or anything else.
You can also email creators you respect with your links, and ask them for feedback. When you create fan art based on someone else’s stories, characters, and worlds -- the original creators would probably love to see it! Send them an email or tweet at them.
Getting to know other game developers, and having them know you and your work, is an important part of being a professional game developer. Be yourself, bring your passion and your talents to what you do and the communities you engage in.
Here are some places to find existing projects to contribute to:
GitHub: https://github.com/search?q=game&type=Topics
Steam Workshop: https://steamcommunity.com/workshop/
Find mods for games you play: https://steamcommunity.com/workshop/?browsesort=Playtime&browsefilter=Playtime&p=1
Mod DB: https://www.moddb.com/
Popular moddable PC games: https://www.moddb.com/games/top
Nexus Mods: https://www.nexusmods.com/
More inspirational links:
Recreating game mechanics: https://twitter.com/andre_mc/status/1210243879934537730
Resources for game developers: https://patrickcurry.com/austin/
Links from our pals at Finji:
Freelancing tips: https://blog.adamatomic.com/post/167978447580/notes-on-freelancing
Working w/ indie publishers: https://blog.adamatomic.com/post/172365388065/gdc-wrap-up-part-1-notes-on-indie-publishing
Figuring out possible good next indie projects: https://www.youtube.com/watch?v=PYpHbuF08Mk
* Clarifying some of the jargon:
“HUD” = “heads up display” -- the user-interface that appears on-screen during gameplay. Different than the “main menu” which usually appears before gameplay, and the “pause menu”, which appears when the game is paused.
“Greybox level” or “graybox level” = a playable level in a game without art. Often a colorless grey version created by level designers, which is later made beautiful by environment artists. More...
“Spec script” = “speculative script” -- an unsolicited and initially unpaid screenplay. You write it and send it to folks in the hopes of selling it. More...
About this Document
Compiled by Patrick Curry: https://patrickcurry.com/
Link to share this document: https://patrickcurry.com/projectideas/
FarBridge Outreach program: https://farbridge.com/outreach/