"Advice for Solo Developers"
ABOUT ME.
For the past several months, I've been putting my all into developing my own indie game project. It is the most ambitious project I have ever started. I had made games when I was way younger when I had just learned the basics of coding, but I knew this time I was gonna give it my all. I wanted to make an epic side-scrolling adventure with loads of content, inspired by many of my favorite games growing up. This meant that loads of art and music would have to be created to bring my idea to life, and every detail would be hard coded or designed in the editor. The journey so far has been fun and tasking, but is far from over. During this time, I have been doing a bunch of thinking and came up with some helpful ideas for all fellow solo game developers who are currently or about to start development on a huge project. You'll also get a lot out of this if you are starting your first game.
I have no plans to stop development, and will be taking these ideas with me as I continue to create the literal game of my dreams. I think that many of you can do the same, but it must be approached it in a way that is good for the project, and for you as a human being.
GRAND VISION.
If you are the sole developer of a game, you will start off knowing better than anyone, what your game will be. There has to be some sort of vision you had that encouraged you to make a game all by yourself. Always be thinking about what that final product will look like, sound like, and how it will play. What will the player feel while they are playing? Why am I creating this game? If we ask ourselves these questions, and always come up with better answers to them, then the game will better reflect the vision.
BE REALISTIC.
I'm sure anyone would like to make the perfect game that is everything you could imagine. However actually making these ideas play on the screen can take much more skill than you might anticipate. If you are creating your first game, start with the basics. It's fun to think about what could be, but only seriously consider the features that you already have an idea for how they could be incorporated. Even if you have confidence that you can learn how via the Internet, you may be wrong. If your idea is truly groundbreaking, there might not be a tutorial for it. Also try to be realistic with your milestones, If you're trying to make something you've never even attempted, expect it to take twice long as you would expect in the first place. If you promise more than you can deliver, you might end up upsetting a community that you worked so hard to attain (more on that later.)
ONE STEP AT A TIME.
One of the most important things is to have a grand vision, but keep looking at your feet as you reach it. With an ambitious project, it's easy to get over excited about the next feature you are going to add. I've learned recently that Its crucial you build a solid foundation by solidifying what you have already made. If you do that, I assure you will have a much more stable and clean game once you finally do reach that anticipated next feature.
It's okay to get excited about getting close to those milestones we all set for ourselves as game developers, but don't rush when your'e close to done, because that is when you might introduce a minor issue that could be worked a better way, but was just settled for so that you can move on to the exciting stuff. I promise you the things you look forward to incorporating will behave a lot better if you think the foundation through in an efficient way.
KEEP IT MOVING.
There is another side to this, some developers get so wrapped up in optimization in a way that slows their development progress to a near halt. It is when this happens that developers' milestones begin to seem far away and that they might never reach them. Many become demotivated because they end up rewriting the same code numerous times just for that extra few frames per second. While fps and smooth play is important, so is your sanity. Sometimes we just need to add that exciting feature, just to keep us looking forward and development in motion.
I worked on a game called "Seed of Andromeda" a few years back. I didn't code, I was working as the lead sound designer, while my older brother coded and designed the game itself in C++. He reworked the core code so many times I lost count, each time performing a bit better, and able to handle new functions he was creating. After the couple of years of development of the game he had a gnarly engine with loads of potential, but it was broken into parts that he never really connected. The work he did was incredibly impressive, considering he was basically the sole programmer for most of the time it was worked on. He had a 1:1 scale 3D voxel planets, orbiting in a binary star system, with procedural generation, and volumetric water physics (just to name a few features.) The game looked great, but ended up falling behind what he anticipated having by that time in terms of gameplay.
He abandoned the project after accepting a job from Arena Net, and did the right thing by making it Open Sourced.
,COMMUNITY.
One thing, among many, that my brother did really well, was build a community for people interested in his game. He created his own website and forum for the development of his project. There people could see his Development Logs (which he actively posted,) provide feedback, submit fan art and suggestions, and download the game for testing. It's important to get people interested and then involved, when you have a community, you will find yourself acquiring a more refined vision. Having people play your game can help you find unseen bugs, and get an outside view of your game. You will be able to answer those questions we ask ourselves: "How will people play it? What will the player feel while they are playing?"
I found one thing that really compelled him to make something great, was the fact that people were excited for what he was creating. He was doing it for the right reason, which was to make something that not only made him happy, but other people as well. If people don't know about your game, and you aren't actively searching for the people who want to, then you must ask yourself: "why am I creating this game?"
If you are making a game for money, that's understandable, money is great, but you will make a better game if you have the player in mind instead of how many advertisements you can squeeze in before it gets annoying.
___________________________________________________________
Thank you for taking the time to read my post. I know it was long, but I had a lot to say. I'm not a saint by my own rules though. As a developer I'm not doing the best job at all of the points I made. I have yet to build any sort of community, and am always adding shit that can wait. I guess I kind of made this post so I could clear my head and realize these ideas in the future. If you found this post useful, let me know why? How is the development of your game? If you are working on one. Or maybe tell me what kind of game you'd like to make (realistic or unrealistic.)
If you'd like to check out the project I'm working on you can read more about it and download the Alpha Demo HERE.
Follow me on Twitter. and Instagram @JaydogProduces