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?

Categories
Game Development Games

IGF 2007

I know that the 2006 IGF is still underway, but a week or so ago I decided that I will be submitting a game to IGF 2007.

I must have read or heard something about thinking huge. Something about how you can’t become larger than life if you stick with the safe and easy. Whatever it was, I felt inspired. The decision seemed easy. Why not submit a game to the Independent Games Festival?

I’m still struggling with my supposedly simple project from August, and a couple of weeks ago I would have thought it was crazy to even think about submitting my game to the IGF. After all, how could I possibly compete with the other, more experienced game developers?

I know how. $95 and a submitted entry form. I’ll obviously need to have a game to submit, but I have the rest of the year to make one. Entering the competition is the easy part, and yet it tends to be the most overlooked step in being successful.

It’s ambitious, perhaps overly so. After all, I’m still fairly green when it comes to game development. Of course, a lot can change in a year. Just making this decision puts me way ahead of what I did last year for IGF. B-)

Categories
General

More Spam Weirdness

So, I’ve gotten spam on poker, nudity, mortgages, poker, medicine, poker, and poker. I’ve even gotten trojan spam, where the message looks perfectly legitimate and even points to a legitimate site, but also includes spam links. I guess it is designed to throw off blacklisting or spam filtering. I find it usually has to do with poker.

Today I find spam for…flowers.

Flowers? As if I am really going to see one of the tens of spam comments and think to myself, “Oh, yeah! Flowers! I should pick up a bunch of them on the way home from work!” Of course, someone out there is clicking and buying.

I really need to add anti-bot capabilities to my comments section again.

Categories
Politics/Government

Jack Thompson’s Modest Proposal

I was about to make a huge post about Jack Thompson’s “modest proposal”, but I just realized that besides the game industry magazines and news sites, no one is reporting it. It is probably just as well.

If you’re curious, I’ll link to the Joystiq article.

I gained slightly more respect for him after listening to the interview podcast on Game Politics, but this proposal sank my opinion of him.

EDIT: Ctrl-Alt-Delete has a comic and an open letter about the “modest proposal”.

Categories
General

Get Health Insurance

Over a year ago, I had asked on the Dexterity forums, now the Indie Gamer forums, about health insurance. I was planning on researching the topic, but getting feedback from people who actually deal with the issue would be valuable. What coverage should I expect to need? How much should I expect to pay? What type should I get? I got a number of responses, and someone suggested I go to eHealth Insurance. It’s a great site, and I found my current insurance through it.

Some of the comments were about not getting insurance at all. The thinking was that if I was young, fairly healthy, and almost never go to the doctor’s office, the cost of health insurance would be too much. Others argued that emergencies can cost a lot more, and having to pay a few thousand dollars is preferrable to paying $10,000.

I haven’t had to worry about medical expenses before, but shortly after I was approved for my current insurance plan, I started getting a pain under my jaw. I didn’t know if it was a lymph node or salivary gland, but I did what I always did: drink plenty of water and try to get a good night’s sleep. It didn’t get better, and by the third day the pain was on my right side as well.

I made an appointment with my doctor, went through some hassle to get my insurance ID number as I had not received my insurance cards yet, and discovered I had an infection of some sort involving my tonsils. The doctor prescribed some medicine, and I only had to pay $30 for the visit.

The drug store didn’t take so kindly to the lack of insurance cards and so I had to pay full price. A small bottle of generic brand medicine cost me almost $90. Ouch! It’s a one-time purchase, and so I don’t have to worry about it much afterwards, but I can’t begin to comprehend the costs for people who need regular refills on their prescriptions and don’t have insurance.

If you are contemplating the benefits of health insurance or think that it costs too much with little benefit, I would strongly urge you to reconsider. I’m paying about $65 per month. $780 per year might sound like a lot of money, and people with families can expect to pay a bit less than that amount per month, but it is definitely worth it. Best case scenario is I pay almost $800. Worst-case: $5,000. Still a lot of money, but it is definitely a lot better than having to pay the full cost of emergency rooms, surgery, or doctor visits. Even the healthy people can get into car accidents.

Categories
General

The Reading Habit

In January I started to keep track of the books that I read. I have been keeping a simple text file with the books I am currently reading and a list of books that I have finished reading. I even started to track the number of weeks that have gone by and also how many books I would have to read to keep on track for reading a book per week.

I am placing a few new links at the top of my blog. One will be the general explanation of my book tracking, and the other will be the current year’s list of books. Eventually the former will also act as my list of archives as it will link to former years.

I started reading more often last year, but it was only this year that I started to keep track of it. Previously I would read only if something very interesting came along, such as the Harry Potter books or The Lord of the Rings. The last time I read on my own regularly was probably grade school. In just one short year I know that I am much better for reading as often as I now do.

Categories
Game Development

Oracle’s Eye Development: The Room 2

Last night’s Oracle’s Eye programming session was still productive, although not as much as I would have liked. I last had a Room that would get created, and the Player would be able to walk over it.

I wanted the Player and the Walls to be on the same hiearchical level, and the Floors should be underneath. That way, Floors can be added to Kyra‘s KrImageTree as much as I want without the Player getting covered.

I already knew that I could setup the Tree by creating KrImNodes to act as the root of subtrees. Normally if you just add nodes to the tree, the later nodes will cover the earlier ones. I could instead add nodes to the child nodes instead to control the hiearchy. For instance, I could create a background and a foreground by adding background and foreground KrImNodes:

KrImNode* background = new KrImNode;
KrImNode* foreground = new KrImNode;
engine_->Tree()->AddNode( 0, background );
engine_->Tree()->AddNode( 0, foreground );

AddNode() takes as arguments the parent node and the node you want to add. In the above example, I am adding two new nodes to the root node. Now I can put as many items in the background as I want, and I won’t have to worry about covering up anything in the foreground tree. I already used this technique before with my Game in a Day in June.

What I learned was that I could also name a node. Kyra doesn’t care about the name, but I found that I could name a node and than search for a node with that name.

KrImNode* background = new KrImNode;
KrImNode* foreground = new KrImNode;
background->SetNodeName( "background" );
foreground->SetNodeName( "foreground" );
engine_->Tree()->AddNode( 0, background );
engine_->Tree()->AddNode( 0, foreground );

Now if another section of my code doesn’t know the specific pointers to the nodes in question, I can still do a search and get the information I need. For instance, in my GameWorldFactory’s createRoom() function:

engine_->Tree()->AddNode(
engine_->Tree()->FindNodeByName( "background" ),
floor->getSprite()
);

The result is that the Player can walk over the FloorTiles and gets covered by the WallTiles if the Player sprite was added to the foreground before the Room’s Tiles were.

The cool thing is that the separation of the Tiles into the hierarchy also makes it a lot easier to do collision detection. My previous code to move the player:

void GameWorld::moveY( const double distance )
{
player_->moveY( distance );
}

My current code to move the player:

void GameWorld::moveY( const double distance )
{
engine_->Tree()->Walk();
//! Check if moving Player sprite would intersect a wall.
//! If so, do not move the Player.
player_->moveY( distance );
if ( engine_->Tree()->CheckSiblingCollision (
player_->getSprite(),
&spritesHit,
0
) )
{
//! Reverse direction to restore position.
player_->moveY( -distance );
}
}

Since the Player’s sprite and the WallTiles’ sprites are siblings, and the FloorTiles’ sprites aren’t, I can simply check for collision with the siblings. CheckSiblingCollision() returns true if there was a collision, and so what I do is move the Player back the same distance, which should place it where it was before the move.

Unfortunately, it doesn’t quite seem to work. The Player does obey the WallTiles, but it then gets stuck. I think the problem is the double precision used for the distance. The sprite makes use of integers to move, and so I am probably losing precision. When I move the player back, it might be just short of where it should be.

Before this week, I was looking at a single Tile and a Player that moved around it. Now I have an actual Room and simple, although flawed, collision detection to keep the Player in the Room.

I’m also wondering if PlayState should still own the Kyra engine. I think that maybe GameWorld should own it instead since it makes use of it more, but for now I at least know that the project is working. I can always optimize later, and in the meantime I am making steady progress.