Home » How does a single non-artistic programmer make a game? [closed]

How does a single non-artistic programmer make a game? [closed]


I work full-time doing security software, and in my “free” time I work on my game. I’m not spending any money on making my game, I’m only using free software and making my own art. Don’t get me wrong, I’m NOT an artist, just a programmer. It’s not stopping me though. I just keep chugging away on my game, and I’ll worry about making it look really pretty later. Or just make it good enough that the art doesn’t matter. For now it’s ordained with what I call “Programmer Art”. Depending on the type of game you want to make, the art can be really important. But for a lot of games, it’s all about the gameplay. Look at Dwarf Fortress. Not really a lot of “art” involved, but the gameplay is great!

If anything, you can get your game built with Microsoft Paint textures and sprites, then you’d have something to show off to get an artist interested.

You should definitely try your hand at making a game. I love making my game. It’s the most fun I’ve ever had programming. Every aspect is a new interesting thing to learn.

Not everyone can do it all, so we just have to make do with the skills we have. Our skill is programming, so that’s what we do. I think it’s been proven more often than not, that it’s the gameplay (programming) that makes or breaks games, not the art.

An option is to take photos of things and use those. It’s fairly simple to create a texture or cubemap from a photo for example.

I want to add a slightly different point of view from what has been previously answered.

First, I disagree that gameplay is the only important thing in a game. Visuals sell, and you will most likely have your game played by other people if you show a pretty screenshot that catches their eye. Because of this, I do not recommend you disregard art, or use stock or placeholder art for your game. This also goes for sound and story (if your game has one).

Second, I wouldn’t recommend you work on a project alone. Having more people in your project is a great way to stay motivated, and also by sharing ideas with other members you are more likely to get a better game.

So what you have to do is gather people who are interested in making a game, and making a project with them. It sounds hard, but it is actually very easy, if you approach the problem from the right angle. I’ve done several indie games with other people, and I’ve had really good experiences doing so.

Let me tell you that you are in a very privileged position, being a programmer. There are lots of people in the world who love games and would want to make one for themselves, but only very few know how to code. Even though it is technically possible to one-man-army a game project being a programmer, it is simply impossible being an artist. You would be surprised to know that for every “how do I make a game if I’m a programmer and not an artist?” question, there are a dozen “how do I make a game if I’m an artist and not a programmer?” questions.

So, people are there. There’s a lot of artists and musicians and game designers who want to make games, and would do them for free. Unfortunately, pretty much everyone who is able to competently participate in the development of a game will most likely not be interested in joining your game, so that’s the problem you want to attack if you want to successfully make indie games.

In few words, it’s (good) programmers that are scarce, not artists.

In my opinion, there are two ways to solve this problem. I’ve done both, and I can assure you both work.

  1. If you’re interested in making games, but don’t have the specific requirement that they have to be your games, you can offer people to make their games! If you can prove you’re a competent programmer, there are lots of artist forums you can lurk, and if there’s an interesting idea, you can contact the artist by telling them you’re interested in making their game. If you say it right, it is almost guaranteed they will say “yes”.

  2. If you can prove you can make and complete games (for every finished indie game, there are thousands of projects that will never end), and if you have a good idea, you can hit the forums and propose that idea. Maybe the first time only one person will join you, but if you can deliver a finished product, and make sure you publicize your progress and success in said forum, you will gain credibility and more people will be interested in joining you for your next project.

    For my latest game, I was able to convince two graphic artists, one musician, one writer and nine voice actresses (two of them who are actually professional) to help me for free. Of course it is crucial to actually deliver. I did, and because of that I’m confident that I will be able to get their help, and other people’s help for the next project.

Keep in mind both of these options are viable only if you’re serious about making games. If you stop halfway, or if they sense you’re not being serious, you will lose reputation, and people won’t join you in subsequent projects, so proceed only if you’re actually capable, and willing to walk the walk.

Related Solutions

Pin-board effect with CSS [closed]

You can use JavaScript to accomplish this but it can't be done with CSS floats alone. A library like jQuery masonry will do it well. The reason? The specs on floats. In particular #5 which says, "The outer top of a floating box may not be higher than the outer...

Calculate the sum with minimum usage of numbers

Here's a hint: 23 : 11 + 11+ 1 ( 3 magic numbers) 120: 110+ 10 (2 magic numbers) The highest digit in the target number is the answer, since you need exactly k magic numbers (all having 1 in the relevant position) in order for the sum to contain the digit k. So...

Why not drop the “auto” keyword? [duplicate]

Your proposal would be rejected on the basis of backward compatibility alone. But let's say for the sake of argument that the standards committee like your idea. You don't take into account the numerous ways you can initialize a variable widget w; // (a) widget...

Recursive to iterative using a systematic method [closed]

So, to restate the question. We have a function f, in our case fac. def fac(n): if n==0: return 1 else: return n*fac(n-1) It is implemented recursively. We want to implement a function facOpt that does the same thing but iteratively. fac is written almost in...

How can I match values in one file to ranges from another?

if the data file sizes are not huge, there is a simpler way $ join input1 input2 | awk '$5<$4 && $3<$5 {print $2, $5-$3+1}' B100002 32 B100043 15 B123465 3 This Perl code seems to solve your problem It is a common idiom: to load the entire...

Javascript difference between “=” and “===” [duplicate]

You need to use == or === for equality checking. = is the assignment operator. You can read about assignment operators here on MDN. As a quick reference as you are learning JS: = assignment operator == equal to === equal value and equal type != not equal !==...

Compiler complains about misplaced else [closed]

Your compiler complains about an misplaced else because, well, there is an else without a preceding if: // ... for (j=1; j<n-i; j++) { if(a[j]<=a[j+1]) { // ... } // END OF IF } // END OF FOR else { continue; } // ... The else in your code does not follow...

Bootstrap – custom alerts with progress bar

/* !important are just used to overide the bootstrap css in the snippet */ .alertContainer { border-radius: 0 !important; border-width: 0 !important; padding: 0 !important; height: auto !important; position: absolute !important; bottom: 15px !important; left:...

How to Garbage Collect an external Javascript load?

Yes, s.onload = null is useful and will garbage collect! As of 2019, it is not possible to explicitly or programmatically trigger garbage collection in JavaScript. That means it collects when it wants. Although there is cases where setting to null may do a GC...

Math programming with python

At first, what you are looking for is the modulo operator and the function math.floor() Modulo from wikipedia: In computing, the modulo operation finds the remainder after division of one number by another (sometimes called modulus). for example: 12%12=0...

Android slide over letters to create a word [closed]

Here some advice you can use: First for each cell you can create an object that represents the state of that cell: class Cell { char mChar; int row,column; boolean isSelected; } then you can create a 2D array of your cells Cell[][] mTable = ... For views you...

Sum two integers in Java

You reused the x and y variable names (hence the variable x is already defined in method main error), and forgot to assign the ints read from the Scanner to the x and y variables. Besides, there's no need to create two Scanner objects. public static void...

Extend three classes that implements an interface in Java

Using this simplified implementation of the library, using method() instead of M(): interface IFC { void method(); } class A implements IFC { public void method() { System.out.println("method in A"); }; } As akuzminykh mentions in their comment You'd write a...