Archive

Archive for the ‘Game Development’ Category

How relevant is C/C++ in this new age of game development?

August 4th, 2010 Joseph Burchett 2 comments

At my last game development meetup, the topic of discussion was social games, the room was filled with about five people.  As the discussion progressed deeper into Farmville, and “why is Zynga making so much money” talk, a lot of us began to throw around a lot of different technologies that could be used to make social games and just games in general. I must say there were a lot of options discussed, UDK, Flash/Action Script 3.0, Objective-C, C#,  and Unity.

Even though the topic of the night was about social games the conversations kept leading into “why exactly learn C and C++”, this was also brought up because one of the people at the meetup was saying he wanted to go back to school and do computer science, but we all managed to convince him other wise simply because there were so many technologies out there that could do what he wanted without having to learn all the nitty gritty. We also told him that if the theory is what he was after, the magical powers of the internets could help him.

Soon everyone in the room had come to the conclusion that really it all depends on where you want to be in the game industry.  If you want to do the “indie” thing then you don’t necessarily have to learn C/C++ hardcore, getting into all that crazy Open GL/Direct X madness. There are so many other ways you can make games (and faster) without even touching that stuff. But if you want to get into the mainstream game development world meaning working with Epic, EA, Nintendo, etc,  then yes, you do indeed need to learn C/C++ like the back of your hand.

I have noticed that just about every new person who comes to my meet ups, wanting to get into the game industry as a programmer always assume that they have to learn C/C++ this is so far from truth these days, the world of game development has become very diverse giving lots of options to up and coming developers. Sure there are very good reasons why C++ was (and still is) used for really hardcore game development, but these days a game doesn’t have to be a graphical powerhouse to succeed.

One of the first things any new game developer should stop and ask themselves is “where do I actually want to be in the game industry”? Very often these days new developers will come from the world of just playing those super high quality games thinking that is all that is out there. Possibly looking down upon any other type of gaming; browser, mobile, etc. These areas are booming, and to some extent making more then the “mainstream”. These type of, dare I say “casual” games also allow for more innovation and provide more creative freedom the developer.

This entire industry is a huge gamble, developers come and go, people get laid off all the time! It’s better to have a focus, know what your good at… Trying to be a jack of all trades can be good, but it’s not easy and I would say specializing in an area of game development would be more helpful in the long run. “Find yourself” before you journey into the big bad world and get involved in the community.  I honestly can’t stress that enough, getting involved in the game development community and networking will open a ton of opportunities for you.

I suppose the point that I was attempting to make is that these are crazy times for the game industry right now, tons of radical changes are happening and things are moving extremely fast.  I am not saying to go with the next hot thing, but for up and coming game developers to not always assume that you have to spend four to six years learning hardcore computer science, thinking that you have to start building your own game engine and learning every single possible detail of C/C++, you have options now, use them.

I am really curious to hear what others think about this topic, so by all means tell me how wrong I am! Ha.

Where do you go for all your game development needs?

July 28th, 2010 Joseph Burchett 5 comments

Was doing some snooping around the Internets trying to find or really even think of one central location where all them lovely game developers come and do their thing, but sadly I couldn’t really think of one good place.  There is of course Flash Game License, which do to it’s nature (buying and selling Flash Games) developers flock to the forums. Then there is flashgameblogs, gotoandlearn, active tuts, flashkit, devmaster.net, random social sites such as stumbleupon, reddit, digg, and so on…  Where do you go when you want to find info on game development?

My video interview on how to get into the flash game industry

October 6th, 2009 Joseph Burchett No comments

Go to 8bitfeed.com to watch my very first video interview, I discuss ways to get into the Flash based web industry and my thoughts on how to get into the Flash game industry and the game industry in general. Apologies for the odd eye blinking and my constant looking down… I couldn’t wear my glasses because of the glare, I am blind as a Bat without them! Anyways, I hope you all enjoy and find it all very informative.

Also make sure to check out all the other videos, articles and features at 8bitfeed.com, great web site for anything tech related!

http://8bitfeed.com/2009/10/joseph-burchett-interview/

Technical debt and game development

August 12th, 2009 Joseph Burchett 4 comments

Lets say you have a game idea, a really good game idea, with tons of funding and no worries at all, you are financially in a safe place and with a very strong and balanced team of programmers, designers, and and artists. A couple of months have passed by and your game is out and booming! I mean you are really making some serious cash, heck you are even about to break even. But then suddenly the money begins to stop coming in as fast… You begin to wonder why. You have the perfect team, everyone is top notch in their profession it just doesn’t seem to add up. But then you start looking to the forum and seeing comments pouring in talking about how the game is slowing down, bugs are being found and people are complaining about more and more issues. So of course you go and try and fix these problems, but then suddenly your developers begin running into their own problems. They are unable to easily track down a bug, things keep happening really randomly, hours upon hours are spent tracking down mundane issues, moving through waves and waves un-structured and barely documented code. This situation is what you would call being in
Technical Debt.

Technical debt is when you start loosing money because you are losing players from not being able to fix issues fast enough, or not being able to easily add new features fast enough. Now of course an argument can be made that a lot of really big company’s may have really unmanageable code and they are thriving and doing really well… This may be true but you also have to keep in mind that because whatever made them so successful was good enough to allow them to grow at an astounding rate they were then able to just toss more and more developers at the spaghetti code because they could offered it. But if you are a much smaller company you are almost always doomed to fail. Because when you are in “start up” mode you need to be able to effectively support and expand your game without issues and with as quick a turn around as possible.

A lot of people would also argue that in time once enough money has come in then they will then be able to sit down and begin re-factoring the code to make it work more effectively… But way to often people get in the mind set of “well, it does work… Ill just make it better later”, and they never get back to it! This makes for bad engineering and badly designed code. It is still very possible to dish out a product in a short amount of time if you train your developers to code in a clean and effective way; K.I.S.S. This is something honestly that a lot of so called “Software Engineers” are lacking these days…. Discipline.

By becoming more discipline it allows you to be much more productive because instead of having to wave through tons and tons of code you can look through simple, small and very clean looking code, this in turn making it super easy to find a solution to a problem. By doing things this way you also allow your developers to develop good coding habits and very effective code. When they begin to develop these good habits and practices it makes it easier to design a very loosely-coupled system, which in turn makes it easier to introduce new features into the game thus earning you money and making your users very happy!

To sum it all up it’s a very bad idea to think that just because you are able to get your game out there fast by simply slapping some code together in the end it will always come back to haunt you and possibly doom your project to ever having any type of success in the future.

All these thoughts are merely my opinions on the idea of technical debt and game development (or really any type of software development) I am sure many others share different ideas on the subject and id love to hear what you have to say. Also here are a couple of links to articles on how to optimize our code.

Round up of ActionScript 3.0 and Flex optimization techniques and practices
The Java Posse discuss technical debt
50+ important flash developers
.Net related but still good talk on writing good code

Although I have discussed in this post the down side to technical debt there can also be a good side to it all as well…  This excellent blog post discusses why you should “embrace technical debt” http://www.startuplessonslearned.com/2009/07/embrace-technical-debt.html.  Very good read.