Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
October 31, 2014
arrowPress Releases
October 31, 2014
PR Newswire
View All
View All     Submit Event

If you enjoy reading this site, you might also want to check out these UBM Tech sites:

Indie by Default - Part II
by Robert Madsen on 06/04/11 03:01:00 am   Expert Blogs   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


Part 2 of a 3 part series on staring and indie game studio.. check out Part 1 if you haven't seen it.

The new era of indie games 

I remember a time about as eight years ago when I was first researching the game industry.  The general consensus at that time was that the days of the small “garage” team game developer was over.

Games now cost millions of dollars to produce and thousands of man hours. Furthermore, specialization was the norm.  Not only were their designers, programmers and artists, but also specialists inside of each of those fields.  The conclusion: making a game on your own or with a few talented friends was no longer an option.

Fortunately, the indie game developers weren't listening. 

Now, more than ever, the environment and technology are open and supportive to small, independent games. An abundance of tools have cropped up that target the small indie studio.  Torque, Unity, XNA, and PlayFirst are just a few examples of low cost or free game engines.

Just as important are the avenues of distribution that have opened up. Services such as Steam, XBox Live Arcade, Kongregate, and many other services have come up that directly focus on smaller games. Finally, there are new platforms that make sense for the indie game including the PC, web, Facebook, iPhone, and Windows Mobile. The point is that the barriers of entry are now lower than ever.

I’m not saying that it’s easy. In fact, the competition is overwhelming on all of the promising platforms I named above.  But there is one thing to keep in mind:  Three years ago, few people took game development on the iPhone seriously.  Now it is one of the most prolific platforms for games.  The same is true of Facebook.  If these examples are indicative—and they seem to be—there is a huge market for the more “casual” games that indie studios are best at. 

Focus testing

No, I’m not talking about getting a bunch of kids in a room to play your next game. I’m talking about the need to focus or you’ll never get anything done! There are so many variables to consider when first starting an independent game that it can be overwhelming.

Once I had decided that I was going to get serious about making my own game, I was immediately lost in the details. What kind of game did I want to create? Which platform and language should I use? Should I use a game engine or should I just start from scratch? 

Decisions, decisions, decisions.

Ultimately I used two criteria to make these choices: experience and resources.

I asked myself, “What programming platform do you have the most experience with?” Although I am fluent in C++, I also did a great deal of development in Visual Basic and C# in my previous business.  I had a lot of experience in .NET web development as well.

Knowing that anything done in C++ doubled or tripled development time, I decided to use on C#. I also decided to use the web because I could leverage my existing knowledge of ASP.Net development.  This would allow me to target the web as well as Facebook with my game.

I realize the C# and .NET aren’t the most common tools to use for game programming, but this leads to the second criteria: resources.  In the beginning, I knew the only resource that I had was me, so I chose the platform that would allow me to produce meaningful results in a reasonable amount of time.

 I also knew that my greatest limitation was art. I am no artist! So, when it came to picking a game design, I chose a type of game that was not art intensive. I needed a game where even I could supply the art if needed, and hopefully I could get a real artist involved at some point in the future.

So, there’s my focus: a web based game--written in C# and ASP.Net--that doesn’t need a lot of art. Having this focus is what allowed me to move forward.  My advice:  moving forward is always better than not moving!

Related Jobs

Activision Publishing
Activision Publishing — Santa Monica, California, United States

Tools Programmer-Central Team
Vicarious Visions / Activision
Vicarious Visions / Activision — Albany, New York, United States

VFX Artist-Vicarious Visions
Magic Leap, Inc.
Magic Leap, Inc. — Wellington, New Zealand

Level Designer
Amazon — Seattle, Washington, United States

Sr. Software Development Engineer - Game Publishing


Armando Cerasoli
profile image
Nice! Part III, part III!! :D

I still prefer to use C++, since I can program the iOS, Android, macOS, Windows and Linux.

Christian Kulenkampff
profile image
Web based games in C++? What's about AS3/Flash/AIR :) it is available on even more non-console platforms... :) C# is available on many platforms through various engines and frameworks. Backend in C#/ASP.Net seems to be a good choice.

Evan Combs
profile image
Yeah, C++ doesn't seem ideal for web based games. Personally I wouldn't use Flash, especially when compared to the options you have with C#.

Armando Cerasoli
profile image
It's true, I wasn't thinking in web based games, otherwise I would use AS3 for compatibility or Unity. I haven't used C# not even once, but its syntax isn't so different from C++, right?.

Christian Kulenkampff
profile image
One has to differ between server side and client side...

You should give C# a try, just for wisdom :). It is a very comfortable language. No problem for C++ users - maybe one problem: you might not want to switch back ;).

Michael Compton
profile image
They are very similar but I can't really see why it should matter; syntax is something you can usually pickup very quickly, especially if you already understand the fundamentals of programming.

Possibly C++ programmers think that other languages have the same long list of gotchas to navigate that C++ has, which thankfully isn't the case.

There are plenty of pleasant languages to use in the Webspace for server side; Python, Ruby, Common Lisp.

On a side note I was a little surprised to see Window Mobile included while android was omitted, that surely isn't anything to do with market share, hehe.

Gene Dowen
profile image
Actually - why choose a broad set of platforms - if you choose one (x360 or ipad(2) or Android as examples) you can focus on it. To me, that focuses far further than just language and tools. As a total newb to game development (but looking forward to the fun stuff) I want to narrow my risks as much as possible. And a single target platform removes the integration between platforms (it must look exactly the same in xbox and android...).

(BTW I am very familar with SW development, just not games).


Robert Madsen
profile image
Thanks for the great discussion! I love C# for it's ease of development, C++ for it's power! But I'm a programming language junkie and I have coded in COBOL, Fortran, BASIC, Visual Basic, Visual Basic for Applications, VBScript, C, C++, C#, Python, Perl, Php, Java, Javascript to name a few! (Ya, bragging a little bit, but I know that there is someone out there with even more language mojo!).

@Armando I agree that Flash/AS3 is a great platform for web development. And Unity offers web, PC, and mobile integration...very tempting! But in the initial stage I didn't want to take a lot of time learning new tech. In the future, however...

@Christian's pretty hard to beat the ease of C#!

@Michael I have my sights on the 3 major mobile platoforms: iPhone/iPad, Android, Windows 7 Mobile, just not in the first version. Of course, that means using different tech.

@Gene I agree that focussing on a single platform is important, especially for a small team. Otherwise it is very easy to never get the project done! In this sense, C#/ASP.NET is a single platform for devloping on the web.

R :)