Categories
Game Development

Oracle’s Eye Development: Having a Ball

While I didn’t work on Oracle’s Eye as much as I would have liked these past two weeks, I did make some progress. I created a Ball class, drew up a Ball sprite with eight frames of animation, and got it into the game.

I had to change some of the design and the code. I found that the Player couldn’t walk around the small Room with the Ball in the way, and it is partly because of the way I did collision detection.

To make the Player respect the Wall boundaries, I coded a simple test: if the Player’s movement would cause it to collide with something on the same level as it, then don’t move. It worked great when I only had Floor tiles on a lower level and Wall tiles at the same level as the Player. Now that there is a new object to interact with the Player, I needed to change the code. I don’t feel discouraged at all since the purpose of my original code was to have something and anything working. I’m supposed to change it as the project evolves. Months ago, my much more novice self would probably have been discouraged to think about the need to change code that I already wrote. That’s experience for you. B-)

For the time being, I simply put the Ball on a different, third level. It simply spins in place, but the Player can walk past it now. Well, actually, it walks over it. It’s not an ideal “solution” but it will do for now.

But the point of this last session was to get a Ball into the game. I’ve accomplished it, although it isn’t too functional. What it did do is bring a number of issues to light:

  • The Ball spins nicely, but only in one direction. I’ll need it to move in four directions when I finally get it to move around. I can step backwards through the animation to account for rolling right and left, but I just realized that I’ll also have to make it move up and down. I’ll need more sprite images.
  • I’ll need to think about how I am going to let the game know that the Player has touched the Ball or that the Ball hit a Wall. I am thinking that I will need to add a significant chunk of code to handle Game Events. Not trivial at all.
  • I need to also think about how to load levels. I now have three of the four significant objects ready. The last one is the Goal Tile. I will need to be able to load levels that specify not only the Floor and Wall tile layouts but also the locations of the Ball and Player objects.

On another note entirely, I also need to start thinking about sound. I might not have any significant music, but I should probably have some sound effects. Besides using the PC speaker back in the QBasic days, I haven’t done much with audio programming. What an ideal project to learn about it. B-)

Categories
Games General

Aspiring To Be Cool With Video Games

The New Mainstream: How Hip Hop and Geek Culture Are Revolutionizing America’s Pop Culture is one of the latest articles in the Escapist. This week’s issue focused on hip hop and its relationship with video games. According to this specific article, the middle class used to aspire to be rich by becoming doctors or lawyers, but these days the rich are made up of geeks. Geeks generally like to play video games. Hence, if you want to aspire to be rich, you’ll likely want a big entertainment center with a few game consoles.

So what that means is that some of the wealthiest people in our society like to spend lavishly on games and tech. And that, in turn, means that games and tech have become aspirational goods on the Street.

Which leads to the current bizarre case: Games are now cool because middle class teenagers are emulating hip hop moguls who are adopting the trappings of wealth which are defined by Silicon Valley millionaires who like games and tech.

The New Mainstream is why technology is now a luxury good and style suddenly matters. It’s why Microsoft’s Xbox 360 looks like it was designed by Apple, and Nintendo’s Gameboy Micro looks like it was designed by Nokia. It’s why, today, it’s cool to own an Alienware computer with a stylized case and building your own PC from parts just means you’re broke. It’s why the Motorola Razr was such a huge success. It’s why you can expect Rockstar to release its own line of hip hop lifestyle clothing one of these days.

It’s all very interesting. I don’t think I’ve ever been concerned with style when it comes to my geekery. Heck, I don’t even own a Mac. On the other hand, I have to admit being impressed by a modded computer case or two. So maybe it just makes sense that as technology has evolved it has to become stylized. BMW and Jaguar have come a long way from Ford’s Model T. Perhaps it won’t be so easy to impress people with the technology. People might think that something that doesn’t look as amazing as its internal workings must be shoddy.

But in my defense, I build my own computer partly because I can, partly because I like customizing my machine, and partly because I am broke. You get a lot more bang for buck building it yourself. Also, I’m, uh, keeping it real. Yeah, that’s right. So you can go take your super-stylized, factory-built, expensive paper weight excuse for a computer and go home because you won’t be able to hold a candle to me when we play Pong. Fool.

Categories
Personal Development

Waking Up

I’ve been trying to wake up earlier since I found that I could get a lot accomplished in the early morning hours. Eventually I’d like to get up at 5AM, get some of my own work accomplished, then leave for my day job.

Some days it is easy. The alarm goes off at 5:45AM, and I get up pretty much immediately. My backup alarm, my cell phone, will go off in about 15 minutes, and so I sometimes find that I’ll need to take it with me to breakfast so that I can turn it off before someone else wakes up. B-)

Other days it is a struggle. I can actually feel a battle between my body and my mind. “Ok, I’m up. I just need to move out of bed and get going. Move the blanket, move my leg, move my arm…why am I not moving?”

Why the difference? Some days I just don’t feel like getting up. Everyone has those days. Some people have them more than others. Sometimes the feeling is overwhelming. Logically I know I want to get out of bed. I’ll be late for work if I don’t get up. On Saturday and Sunday, I still like to get up early so I can get a lot accomplished before most errands and appointments are set. I’ll end up with less time for the things I want to accomplish. And yet, I’ll still stay in bed.

I had to take care of my cat when my parents were away for a week. My father would generally feed him and change the litter box, but I had to take over these responsibilities. My father works early, and so he wakes up even earlier. My cat is used to getting food at a certain time. I woke up to my alarm and stayed in bed long enough to think about getting out of it. It was one of those epic struggles between the mind and the body, and my mind was losing.

Then I remembered that my cat was depending on me for food. I got up immediately and easily.

Again, why the difference?

Purpose. I woke up with a purpose. Apparently getting to work on time wasn’t as motivating as making sure my cat was happy and fat (I found out that week he was 18 pounds, or 8.16 kilograms to the rest of the world).

When I spend the night before thinking about what I want to do the next day, I find that waking up is a lot easier, even if I went to sleep very late. On the other hand, when I just go to sleep without a thought to tomorrow, even if I get enough sleep, I’ll struggle to get out of bed. I’ve found myself lying wide-eyed and awake but unable to move simply because I didn’t have a compelling reason to get up.

I’ve read about how making todo or next action lists the night before is useful because it makes the next day purpose-driven. It also helps remind you that you have a reason to get up in the morning.

Categories
Marketing/Business

Proximity Effect

For some time I’ve been reading the words of naysayers who believe that the golden age of indie game development has passed and that there is too much competition. When you were the only one around, it was “easy” to make a living from your games. Now there is too much competition and it is hard to get your name out there. Blah blah blah.

Seth Godin wrote about the proximity effect. It basically describes how most products actually sell well when they are part of a category. Books sell next to other books. Fish sells next to other fish. No one is complaining about how there is too much competition in a bookstore because it is exactly where the sales occur.

Steve Pavlina’s article on how to create successful shareware games mentioned the idea of selling the sizzle instead of the steak. The difference between your freely available demo and your full version is what you are selling. Don’t tell me that I’ll get the five levels from the demo. I already have them. Tell me about the 100 levels I’ll get if I pay for the game. Of course, if you go to a higher altitude and compare your offerings with your competitors, what are you selling now? You may offer 105 levels, but if the other game can run on an operating system of the player’s choice, will it matter?

At a bar, you don’t have to sell vodka. You should have to sell why your vodka tells a better story than the other guy’s vodka.

You should be concerned about how your potential customers will perceive the benefits of paying for the full version, but you should also think about how paying for your full version compares to paying for someone else’s full version. Why should I buy Flatspace 2 when I could buy Gish or Tribal Trouble? Why should I pay for Darwinia when I could pay for Geneforge 3? Why Alien Flux instead of any of the above?

Of course, no one wants to get into a silly cold war by claiming to have one more feature than the competition. Mainstream game developers and publishers already do so when they make a sequel to a game that has more graphics, more sound, more controller buttons, more more more more more…

Still, there is more to worry about than how your game competes with itself. Indie game portals may make it easier to get an audience, and obviously competition is a concern, but you basically have to convince the potential customer that your game is well worth the money AND worth more than an offering from another developer.

Categories
Marketing/Business

Incorporating GBGames: The Business Plan

I’ve had a chance to read through some of the materials I’ve received from my visit to SCORE. For the most part, I know about the different things involved in running a business, but I’ve never dealt with the details. I haven’t asked the hard questions.

For example, “What business am I in?” How I answer this question will pretty much dictate how I run my business, so I can’t just blow it off. Perhaps while I write my business plan, I’ll change or refine the answer. Still, it is a very good question that I’ve never answered. I will need to describe my business in terms of how it works, how I plan on making it profitable, and should also identify clear goals. I already know why I want to be in business, but I will need to clarify the how and what.

Since marketing is an important aspect of any business, it deserves its own section of the business plan. It’s tough, but I’ll need to be able to identify who my customers are. “Gamers” isn’t good enough, but am I going to be targetting casual game players? Interstitial gamers? Hardcore gamers bored of the mainstream offerings? How about people who would otherwise be hardcore game players but can’t overcome their fear of a complicated interface? Whose life do I want to change? What’s my pricing strategy? Is the market for my kind of games growing?

It will be a lot easier to direct and control my own business if I have an idea of the resources I’ll have to use. I can’t make good decisions if I am not sure how much money I’ll have to work with from one month to the next. I’ll need to specify a startup budget as well as an operating budget.

Who is my competition? And not just other indie game developers, either. What other products and services are competing with me? People don’t watch television as much, but it still poses an alternative if I don’t make my offerings compelling enough. For that matter, people might prefer using instant messenger clients and talking with their friends rather than play my game. Identifying the competition allows me to try to enhance my own offerings.

I’ve never addressed these questions in detail, but I can already see how doing so will go a long way towards improving my chances of succeding.

Categories
Games Geek / Technical

RealTimeBattle: A Programming Game

I’ve seen programming games that can teach you Java by programming the AI of your robot. Of course, it was Java specific, and as nice as Java might be, there could still be some reasons for you to want to learn something else. Other games might teach their own language, which wouldn’t be very useful directly. Enter RealTimeBattle.

RealTimeBattle is a programming game, in which robots controlled by programs are fighting each other. The goal is to destroy the enemies, using the radar to examine the environment and the cannon to shoot. You can play RTB on many different platforms, but my favorite feature is the fact that robots can be constructed in almost any programming language.

You talk to the server by using the standard input and output. You don’t need any specific functions from a library. You just need to be able to send and receive regular text. What you do with the information might make use of various properties of your specific language, but so long as you can manipulate text, you can program a robot to compete.

RTB is now at version 1.0.8.

Categories
Marketing/Business

SCORE! First Step to Formalizing My Own Company

It’s one thing to tell people, “Yeah, I am planning on starting my own business.”

It’s another thing, you know, to start.

Almost two weeks ago, I made an appointment with SCORE, which is a resource partner of the Small Business Administration. SCORE stands for Service Corps of Retired Executives, and it is made up of volunteers who help existing and emerging small businesses. A few people had suggested I talk to the SBA to get free information about starting and running my own business. It was slightly frustrating since their websites don’t make it easy to find the information you want. Some of it is outdated, as SCORE lists Triton College as a location. When I called, I was told that office closed two years ago. Whoops. I made the appointment for the office located in downtown Chicago. It turns out that it is also in the same building that the train station is in, which is convenient.

Usually a meeting is for an hour, and the mentor will provide feedback on what it is you want to do. In my case, I wanted advice on what I needed to do to form my own company. I had read articles on the subject of legal entities, such as subchapter S Corporations and Limited Liability Companies, but they were always generalized for the United States and not Illinois. It’s good general informationt to know, but I needed specifics. I wanted to know what I would have to do to incorporate GBGames. I can fill out forms and even pay another business to do it for me, but what then? Does GBGames have any obligations as a business? Do I have to prove that I am trying to make money? Do I have to actually show revenue within so many years? Profit? Can my business be revoked if I don’t meet some simple requirement? Taxes? Startup costs? What can I write-off as an expense?

The mentor said that he was surprised that I had as much knowledge about the subject as I did. Apparently most people come in with an idea for a business. The mentor usually provides guidance in the form of “Well, did you think about this aspect?” and otherwise points out potential pitfalls. Still, he did give me a bit to think about. He handed me a number of pamphlets, articles, and government tax form instructions.

For some reason I haven’t written out a business plan yet. Part of it is probably because I only recently decided to actually start my company, and so I am finding a lot of thought processes that need to be changed. I find I am still in the mindset of “someday” on some issues.

A budget should be written out. I have some money in the bank, and I have some idea of what my expenses will be, but I really should try to get the details. I only have so much money in total, and some of it will have to go to non-business expenses. I’ll need to worry about food and rent among other expenses, and so knowing how much I can dedicate to my business will be very important.

In any case, it is good to know that I can get free information on the subject. SCORE allows walk-ins as well as appointments for after-hours. My mentor said that I seemed very enthusiastic and that I appeared knowledgeable at least in the types of issues I might have to deal with as a business owner. That’s much better than finding that I am seriously lacking. B-)

I have a few more things to read, but it seems that forming a business won’t be very difficult. If I ask for professional assistance it might just be to verify that the forms are filled out correctly. I’ll likely make another appointment for next month. Nearly unlimited, free, and professional advice is a great deal.

Categories
Game Development Geek / Technical

Java Language Performance

Urban performance legends, revisited points out that in many cases, memory allocation and deallocation is faster in Java than in the fastest C/C++ implementations. It’s an interesting read, and it definitely seems to go against the common understanding that C/C++ are needed for faster performance. Of course, it only looks at memory allocation and deallocation, and so it doesn’t touch on other issues.

Still, people have noticed that Java is becoming a good language to use for game development. Tribal Trouble by Oddlabs is an example of a game that makes use of Java heavily. It’s a 3D real-time strategy game, and it wasn’t that long ago when it was common knowledge that you just couldn’t make a decent game in Java. Now there is some proof, at least from the point of view of memory allocation issues, that Java performs better than C or C++.

Of course, interpreted languages, such as Python, are also coming into their own as game programming languages. Lower-level languages are obviously still used in some applications, and so presumably Java doesn’t perform better in certain cases, but the point is that it is getting easier to develop software.

Categories
Politics/Government

Jack Thompson Loses An “Ally”

America’s National Institute on Media and the Family sent out an open letter asking Jack Thompson to stop acting as if the institute is an ally in his fight against the video game industry.

Your commentary has included extreme hyperbole and your tactics have included personally attacking individuals for whom I have a great deal of respect. I believe that respect is essential in all our dealings, including respect for those with whom we disagree. Some of the people that you have publicly criticized are not only people of integrity, but are people who have worked to improve the lives of children.

Even though we have no formal relationship your use of my name and your inclusion of my name in correspondence have created the impression that we condone these tactics. We do not. The result is that our position and reputation as a research based, non-partisan, solution-focused organization has been jeopardized. Consequently, I ask that you cease using the Institute’s or my name in any way that would give the impression that we support your efforts. I also ask that you remove the link to our website that appears on your site.

Maybe it might not mean much, but it shows that it isn’t just 13-year video game fans and predatorial game developers who think Thompson goes a bit too far.

Categories
Politics/Government

Game Developer Unions?

Code Union, Code Better in the latest Escapist talks about the benefits of organizing software developers to reverse the pendulum which has currently swung “in the direction of upper management, to the point where workers are forced to accept low pay and long hours out of fear”.

The author fears that besides the threat of outsourcing cogs in a wheel to cheaper nations, the current developers are working for longer hours and little pay as it is. He compares the situation with the meatpacking or coal mining industries of yesteryear.

In ea_spouse, we had our Upton Sinclair, but we’re without a Teddy Roosevelt. Without a friend in politics, we’re a massive blob with no direction, no drive. Someone is going to have to step up from within to give us a figurehead. The industry is in the middle of a rockstar drought, but we need someone like the industry’s founding fathers, able to capture our hearts and minds, not only with a game, but with a personality and a cause. But with corporate cultures disintegrating as bottom lines and mergers usurp artistic vision, rockstars are getting harder and harder to come by.

Pray for one to rise from the bowels of some dungeon-like cube farm. We need a savior-caliber leader to keep us together, and to keep us employed.

I’m not intimately familiar with EA’s work practices, but I’m familiar with the stories. Near-80-hour weeks without pay to make up for it. If you can’t handle it, we’ll find someone who will. With EA being such a giant in the game industry, a lot of people feel that they have no choice but to work in such dismal conditions.

But Blancato has brought up a good point: where is the strong leader to say “No!” to EA? With EA working with so many development teams and such big names as Will Wright and now Steven Spielberg, why haven’t any of them said anything?

Obviously some people love working for EA, and the bad news is getting a lot more press than it might otherwise have at some other company. Still, if people hate the conditions so much, wouldn’t some of their major game developers have a say? Will Wright at EA Maxis? Rick Hall at EA Origin? Heck, Peter Molyneux’s games get published by EA. Why not him? Wouldn’t someone want to step up for their teams and say, “You know, I don’t think you should treat the rest of them so badly. They need better work conditions, or I’m out of here.”? Would it be too farfetched to hear one day that Spielberg decided not to work with EA due to the conditions of the developers?

It’s generally considered normal in the game industry to work long hours and go through crunch periods to meet deadlines. It’s almost been a badge of honor. Still, plenty of studies have shown that there are fewer errors when working sane hours and people get to take breaks and go get some sleep. Forcing people to work 60+ hour weeks for months at a time is not only abuse but also counterproductive. EA took it to an extreme.

Some EA studios apparently do better than others as far as employee satisfaction. They come in expecting crunch periods towards the end of a project, but they also get great benefits and extra vacation time. According to ea_spouse, some or all of these benefits were going to be revoked. It definitely can’t be all good there.

I write all this not being someone on the inside. I’ve never worked at any major game company, let alone any of EA’s studios. I don’t really know too many game developers, but I’ve heard and read from some of them. Everyone knows the horror stories, whether they are glorified or not. Maybe someone will read what I have to say and dismiss it as just another irrelavant opinion. Still, why haven’t we heard from some of the studio’s major figures regarding EA’s work practices? Obviously no one wants to lose his/her job, but they can’t really fire everyone, nor could they allow some non-EA game studio to pick up their stars, right?