Becoming An Indie Game Developer

Started by
2 comments, last by hyyou 7 years, 9 months ago

Backstory

Hello, I've programmed some games before like tic-toe, chess, hangman, memory test, backgammon, poker with advanced features like achievements, AI difficulty settings and cooperative play mode. I have also done some of the exercises at project euler (exercise 50-52 was were I stopped), and also some other problems and small programs all of those applications where done in visual studio using C# , but enough of the portfolio, recently I started thinking about developing a real game because I considered myself experienced enough. So I started programming a 2D game in visual studio using windows forms, I regretted that decision few days after because I realised that well that's not the place to create games, that's when I decided to switch to something more powerful which is meant to be used for games namely Unity engine. This was my first time I was using an actual engine, my main idea was continue creating the game where I left it off in visual studio, so I did, I've worked on this game in unity for maybe 2 weeks or so, the engine was something new but I kinda got the hang of it because it's still quite similar to the normal coding environment I'm used to. The main problem were the graphics, my game had a top-down 2D view, basically there was a really small amount of graphics on the internet fitting my theme and view style. That's when I decided to hire a 2D artist to draw some stuff for me, the problem here was that I was short on money and all the people that bid on my project asked for more than I could afford. Anyway I managed to find a person that has relatively good portfolio and the price was good for me, so I hired him the illustrations where great I totally loved them enter image description here

However the person that I hired wasn't that good when it came to animating the characters, each one of them must have 10 different animations and the requirement was around 7 sprites per animation, that ended up as being a lot of work with not much difference in the final product and also it was going to take a lot of time and that's where we agreed (me and the designer) to simply cancel the project. I was feeling kinda bad because for some days I couldn't find any graphic designer to animate my illustrations which I already payed for and where sitting there collecting dust. I started to realise that even if they had around 10 frames per animation which would end up in around 2000 different sprites, would still not give me that smooth quality I'm looking for. That's when I started reviewing the idea to actually develop a 3D game, the pros at first look where a lot more than the cons. I can deliver an intense fighting combat, I have more space on the screen, and biggest things was that I found that 3D models prices where much lower than I thought, over 50 animations for 15-30 bucks ! This would've cost me a fortune if it was 2D. Again with the little knowledge I have over the game engine and the main components a real game consists of I switched to 3D, now I have absolutely no idea what's going on with the game engine and how things are working in the three dimensional space. The 2D I managed to get the hang of real quick but for some reason 3D is just much harder for me, instead of learning while coding, now I decided to actually learn stuff before I start.

Question

Those are the things I found to be required as an indie game developer :

  • Math
  • Physics
  • Graphics
  • Materials & Shaders
  • Animations
  • Sound
  • Lightning
  • Game cameras
  • Crossplatform deployment
  • Graphics,math,physics common concepts
  • Game design
  • AI

Take in mind that I'm only good at programming and that's the only topic I have experience with that's why it's not include I only lack knowledge over the AI. What are the Sub-categories of those topics ? What else should I add to my list ? Which topic is the best to start with ? Any general tips that you can give from personal experience as an indie developer are highly appreciated.

Advertisement

Alright, so first off welcome to the indie developer community!

Now points I feel i should bring up.

It sounds like you are trying to bite off more than you can chew. I would start with the 2d game stuff as 3d Vector math is more challenging and seeing as it's ( i assume any way ) your first game with unity you're much better off starting with 2d just to get a better feeling for how the engine does stuff and to make the transition easier when you do finally move to 3D.

Next is the point about failed projects and other such sad things about game development. Don't feel bad about a failed project. Treat it as if it were ( because it is ) a learning experience. You have now learned that a good all around artist is hard to come by, art is expensive, and that you were WAY out of scope.

Scope brings me nicely into my next point. Scope is probably the most important thing about successful game design and development. Scope is not overdoing yourself of biting off more than you can chew. Start small. Ask your self, what do i want the game to be about ? cool got that? start there, don't add anything else until you have core mechanics down and a basis to start from. Once that is all mocked up and working ( without art - this will be my next point ) move onto your next small addition that you think will be a major part of the game, and slowly add to it, but don't reach beyond your bounds. KISS - keep it simple stupid is a great idea here.

Art. About art, it can be hard to find an artist that fits your needs. My advice would be forget the art, don't worry about how pretty it is, just get it working nicely. Once you have a really prototype, or a couple of prototypes ( I recommend at least 2, so that you can choose between the best option - this may not be what you though the original idea was going to be, but the other prototype was better so use that ). Once you have that prototype and you've got the core mechanics etc, get some friends and internet testing going, take notes and do another iteration. Once you've done that you can then proceed to find an artist. Once at this stage make sure you have a good plan for what needs to be done in the prototype, and let the artist know what you need, so they can tell you whether or not they are able to do so. art is expensive so get modular stuff made ( stuff that can be reused a lot ) and reuse other stuff that you've already purchased where you can.

I know this isn't the "learning before i start " stuff you wanted, but I feel you would benefit more from making smaller games before trying to learn to make something huge.

Here is a small set of recommendations for the learn before if you really want it:

-A* for pathing

-use university websites for compsci related third year papers. Like, computer graphics, user interface, computational science, AI etc as most of them release there lecture info and have lots of readings for free online.

-Lighting, learn about the Phong model eg. Ambient, specular, diffuse.

-Animation: learn about Forward kinematics, and inverse kinematics for 3d ( and some 2d ) and the principals of stretch and distortion.

-Shaders can be hard so I recommend trying to learn about GLSL

-Math: I'm unsure of your current background, so... Pythag, matrices manipulation.

-Graphics: learn about the graphics pipeline and how batch calls are made, so you can learn to use drawing in an efficient way.

Best of luck with it all. Hope to see your next game :D

About art, if you need vector art, you can learn how to make some with the tutorials at 2D Game Art For Programmers: http://www.2dgameartguru.com.

With vector art, you can create simple art using just primitive shapes like ellipses and rectangles. Or more complex art with advanced features.I used to don't know how to do art myself until this.

The author also offers paid tutorials and assets.

He once gave away some paid assets. It was some 2D top down character animation. But it must be somewhere deep down in my email inbox. If you're interested in this, I can try to find it for you. (UPDATED: Sorry dude, I afraid I've accidentally deleted it a long time ago)

Here are some of his tutorial blogs on Gamasutra:

2D Game Art For Programmers - Part 1

2D Game Art For Programmers - Part 2

And this is one of his very first tutorial, I guess:

tutorial_sample1.jpg

And a top down character animation tutorial:

tutorial_sample31.jpg

Twitter: [twitter]DleanJeans[/twitter]

I have created a game library with C++ alone, and I am quite satisfied with the result.

My step in the last few years :-

1. Learn Opengl from NeHe -> glsl -> try to create a minimal defered shader engine

2. Learn Box2D -> try to create a small library that support a compound with constraint & custom collision callback

3. Merge them altogether -> create tiny library that bind physic & graphic together

4. delete all of them (Because I used Java. Java is too slow.)

5. Learn Ogre3D (C++) -> encapsulate it (Shader, GLSL, Mesh Loader, Transparent, etc.)

6. Learn Bullet -> encapsulate it (Rigid & constraint & filter callback & collision callback)

7. Bind 5 & 6. together -> test

8. delete all of them ( bad design, because low experience )

9. Learn software architecture e.g. component based

10. rewrite all of them again, now plan with a paper & pencil before write the real code

11. Learn more about C++

12. re-architecture the result from 10.

That is a really hard work. I almost quit many times.

This topic is closed to new replies.

Advertisement