Tag: Programming
Becoming A Game Developer (Part 1)
by Porter on Aug.27, 2009, under Flash Industry, Help

Becoming A Game Developer
There’s a lot of work needed in order to become a game developer. People often feel that if they have an artist who can animate, and a programmer who knows the language, that they’ve got a team ready to produce quality games. In reality, those skills are just the tip of the iceberg. A team ready to produce games may be true, but nothing at all says those games are going to be of quality. It takes a lot more than knowing the coding language you’re using, or being an excellent artist; game design itself should be thought of as the third skill required along side programming and art.
I myself excel in my ability in game design. I admittedly lack in programming skills greatly in comparison to what I wish I knew, but I make up for that with my ability to both detect what makes a great game, and how to build one. I find it odd that most teams don’t feel they need a project manager of sorts, someone who understands how games work, what games are good, and what it takes to make them. The team doesn’t necessarily need someone dedicated specifically to this, but one of the artists or preferably programmers should have this skill.
The reason I give this position so much credit, other than the fact that it’s my strong point and I’m proud of it, is that it truly is a concept that I hope more teams embrace. We’ve all come to accept that average art won’t do, if you get higher quality art you’ll see your game value multiply by at least two-three times, if not significantly more. That being the artist’s job, we can look at the programmer now. The programmer is supposed to know what the game needs, then program it. They simply look at a set of instructions and bring the game to life. The last position, again in my opinion usually the secondary skill of the programmer, if not both members, is to know what it takes to make a great game. This however does not mean that the artist cannot have the mind set of a programmer and contain these skills as well, I simply imply that I believe them to be more common among programmers. They need to get over the hype of the game idea and analyze if the game will actually be quality fun; far too many games work as far as functionality, but when it comes to fun they’re simply a bore.
You may be wondering why I suggest that the programmer is the one who holds the magic of the third skill, the answer is simple. The programmer generally knows how the game works from the ground up. They must know how the ideas suggested will co-exist with ideas currently out there, and leave room for ideas to come. That being said, the programmer really shouldn’t be some guy reading an instruction manual on how to build the game, he should be deciding how the game itself is built. This can be done with a firm knowledge of programming, however it’s significantly easier if you possess the skill of understanding how games are built, as well as what makes them fun.
If you’ve already got these skills present within your team, you’re in great condition. If you lack these skills however, I highly suggest you look into partnering with somebody who has experience and understands the above concepts. They may seem like common sense at first, but it’s things like this that make the difference between the average games on the net and the big hits. I’ll continue on these thoughts with follow-up articles elaborating on how you can gain such skills yourself or refine what skills already exist. In the mean time, check out some other useful articles such as, The Importance of Plot and Game Inspiration, to help get yourself prepared for becoming a better game developer.
Who Should Bend?
by Porter on Jun.11, 2009, under Flash Industry, Programming

Who should bend?
If you’re a flash game developer I’m sure you’ve encountered what has got to be one of the most nagging things a flash game came do to it’s creator, or player for that matter. This nagging I speak of is lag, slow fps (frames per second) that makes a game look and run horrid. It runs fine on your computer, it looked great locally on your machine, but once it got tossed up on the web it all fell apart. This has always lingered a question within my head as I yelled back at the reviews out loud in my living room, who should bend, the developer, or the person playing your game receiving lag?
Like all arguments we have two sides to this, the first being that some people out there just need to learn when their computers are out of date. There was once a time when 512MB of ram was acceptable and got you by just fine, we also had phones that still used cords back then too, and we could only talk on them in the house. Once I became a member of the tech world, I’ve always tried to keep up enough to have my computer run the newest games on at least medium settings. I currently have an AMD duel 5600, 2 gigs of corsair RAM and a 9600 GT which was on sale for under $100 bucks. That’s a pretty good computer, and it will run any flash game perfectly fine. I often used to forget that my computer was once far above average (although still not that expensive, people just need to stop ripping themselves off at best buy and learn to put a computer together, it’s like Legos with a bit of research). This lead me to a huge discouragement when a few games of mine just didn’t play nearly as well as they should have due to frame rate issues. At the time I was highly convinced that all of the users complaining should just upgrade their computers because they were old and going on worthless.
The other side of the argument, as much as many of you will hate to admit, is the more logical side of the two. Despite the rage that some developers may have for people with lagging issues in what seems to be a perfectly running game, it’s really us the developers who should be catering to those users. No matter how bad some users computers may be, they’re another player out there, and as a developer our job is to please as many users as possible. More users equals more views, more views equals more cash from ads and happier sponsors, happy sponsors equals more business in the future. This also eliminates a lot of low votes due to people thinking the game is horrid because it’s literally unplayable, or just so slow it looks like it was made by an amateur. Having a high rating on some of the bigger sites can go a very long way, so it’s especially important to cater to those users who may drop a zero vote due to a poor playing experience.
With these few facts alone it’s rather obvious to see the damage that can be done due to a handful of users having frame rate issues. I don’t like a user complaining about the game running slow and dropping a zero vote on Newgrounds any more than any other developer, but the truth is we need to cater to those users or suffer the consequences. Perhaps one day when I’m rich from flash games I’ll buy all those users a new computer built from scratch, until then I’ll just have to optimize my games and be sure to test them on multiple machines of multiple performance.
Sticking With The Times
by Porter on Jun.07, 2009, under Flash Industry, Programming

Times++
Believe it or not there are a lot of developers out there who still use AS2, and a handful of them aren’t looking to move on either. Flash is constantly advancing and many developers choose to stay behind, is there any harm done in this? I was once one of these people and thought that I would be just fine without getting with the times, I was very wrong.
I admittedly used AS2 for too long, up until a few months ago to be exact. Just months before that I wasn’t using arrays, for loops or even custom functions. I had no understanding of OOP and I had never dared to create objects and manipulate classes. I did however produce a game that sold for $1500 with what knowledge I did have, so the question is, do you really need to know all the fancy programming mechanics to be a game developer? Technically the answer is no, but rest assured that you will be far behind and spend at least five times longer than the average developer who is up to date with programs, languages, and programming methods. I once coded something in slightly above 300 lines of code that could easily have been done with a for loop in less then 15, that’s just one of many examples I could offer.
Time management is probably the biggest downside of using an outdated language and having a lack of knowledge as to what you can do with your programming language and how to do it. There’s a lot of downtime in searching forums for how to do something, if you’re learning that’s great, but make sure you take in whatever you search for, else it’s just time wasted. As mentioned above you will spend a lot of time making up work-arounds and trying to figure out a way to do a simple task in a rather complex way, all because you just don’t know what your language is capable of. Another huge time saver of sticking with the times, is that you can reuse your code. With the methods of Object Oriented Programming (OOP) you can develop code that is 100% reusable in many projects to come. From every game of a certain genre to literally every project you have from then on out, you are able to reuse your class files, if they apply.
Ever had an idea that was amazing, and just didn’t know how to make it come to life? This thought leads me to my next thought, and most important reason for staying up to date. At the turning point at which I realized I had to update my knowledge in programming, I said something that sticks with me to this day, it is as follows,
“I can’t stand being restricted by what I don’t know how to program, I should only ever be restricted by what my mind can come up with.” -Porter
A simple idea, but it holds a lot of meaning. I’m a very creative person, I have ideas that once created could make me rich, of course this takes time, thus why I’m still eating Ramen noodles at a rate most likely unhealthy to the human body. Regardless of my financial status and desire to add a bit of humor, I mean what I said that day. One should never not be able to create something simply because they don’t know how, if you can come up with a great idea, why let something of a simpler nature stop you? This idea drove me to learn AS3 and OOP at any cost. I sacrificed a few projects and took a leave from my game development time, but I learned a lot. I’m now back with new knowledge, and I’m far more experienced then I ever would have been had I continued my career as an AS2/non OOP programmer.
I know some of you are probably reading this and still thinking that you’re perfectly well off without these techniques, and still refuse to move on, but I assure you that if you take the leap you’ll feel much better about your work in the end. I’ve been where you are and I’ve made good money doing it, but there’s a limit to your abilities and to limit yourself by something so simple is just foolish. The last argument to be made against upgrading is that you can code at a faster rate. This may in fact be true, but I remind you that with OOP you can reuse your code for every future project, something that non OOP programming will never allow as fluidly as OOP supports. It may be a long road, and it may be a lot of work, but from my own personal experience on the matter, I assure you that it’s one you won’t regret taking.
