Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Advice for Solo Developers

A topic by Jay Arnold created Nov 17, 2018 Views: 1,176 Replies: 7
Viewing posts 1 to 6
(1 edit) (+2)

"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

(+1)

What you wrote is really massif! All things you wrote are valid and interesting. As for the "ONE STEP AT A TIME" paragraph, I can tell you that I already follow the instructions you have given and I do not have stability problems (in my program). Instead, as you say in the paragraph "KEEP IT MOVING", I have to be careful not to incur problems of MENTAL STABILITY! I did not know that many developers (you say almost all) are perfectionists and tend to write and rewrite their code to enhance their performance to the detriment of the set of things related to the creation of a video game. I do not lose sight of the set of things to do; I just write some notes (on my PC) and if I can not do it immediately I will do later, but I lose a lot of time in the optimization. Sincere congratulations!

(+1)

I'm glad you can relate to what I'm saying here! Notes are a great way to organize your thoughts and clear your head sometimes. I pull up my notes almost every day and brainstorm some hypothetical feature. Then I am able to plan out what is necessary and what needs to wait until later. It's easy to come up with ideas, but it takes a mature developer to approach them in a logical order. Thanks for the reply!

Thank you. I saw that you are interested in knowing what each of us programmers is developing now; so I can tell you that I'm working on a video game a bit critical and contestable, at least here in Italy. In fact, the Italian State has had large profits from the monopolized state sale of the so-called "scratch cards". It is a game that involves many people to the point of becoming a dangerous mania: many spend much money to scratch these tickets and find the winning numbers, becoming poor. So I chose one and I'm developing a harmless video-game, without internet, which makes you realize how much money you can really win with the real one and how much money you lose!

Deleted 5 years ago
(+1)

Thank you ! for the heads up man ! I am a solo developer as well and all you said is currently happening to me too, :( Sometimes it can get an awful lot of struggling, hoping it will succeed.

For me, i better not asking so many question. what who when why and how about your game. Yes, i know reality is tough and so, thats why we need people connection and understanding (this word kinda contradicting my statement before). Its okay for the game have a flaw isn't that making it interesting? i dont know but, that is my point of view. just you do you man.

Sorry i dont have a critic about your game now. I will play, test the game give you some critics

amen

This is a really good topic! One thing I'd like to add is "make backups". I've lost a good chunk of old projects because I didn't have them properly backed up over the years, but since I figured out how to use Git it's not happened again for quite some time. And having a Git repo and doing commits regularly can get you out of a lot of trouble in case something goes awry - e.g. if you introduce a breaking change without realizing and now EVERYTHING stopped working. Or if you wanna try something out, realize it didn't work, and want to quickly get rid of it.