Categories
Game Development General

Unanticipated Game Development Obstacle: The Weather

In the past couple of days, I have been putting in more hours than usual. If I could keep it up, I might actually hit 20 hours for the week. I already figured that I couldn’t, what with today being Valentine’s Day (or Singles Awareness Day, or Ferris Wheel Day, or IBM Founding Day, or whatever you would like to celebrate) and Friday and Saturday evenings have me either attending or hosting a party.

What I didn’t anticipate being a problem was the weather. I drove my girlfriend to work today, and it takes an hour to get there and back on a normal day. On top of it all, due to the snowfall that Chicago hasn’t seen in seven years, SUV drivers just can’t seem to figure out why drivers of normal cars don’t want to have to drive off the street in the snow. We just can’t seem to get the wheels to go forward when part of the street actually becomes “off-road”. How about if you would be so nice as to drive your consumer-grade tank in the snow so the rest of us could actually get some traction? Thanks.

Also, parking back at home was tough. Most spots were snow traps, leaving unsuspecting vehicles unable to move. Any good, cleaned spots were taken. I don’t have a shovel as it’s been seven years since we saw any snow that merited having one. It took me over 15 minutes to find a spot even after I got home.

That’s fifteen minutes I could have spent tweaking variables or adding a new feature or even just THINKING about what I need to finish my Space Invaders clone. You would think that the weather would mean that I would have even more time to spend indoors, and now that I mention it, yeah, I would rather not leave home and deal with having to find a parking spot later or deal with a tank rush in my neighborhood.

Categories
Games Geek / Technical General

If Old Games Were Made Today…

Plenty of people would argue that today’s games are influenced by yesterday’s games. For example, jumping puzzles are not as common as they once were because game developers have learned that jumping puzzles generally suck, something we wouldn’t know if game after game didn’t use such puzzles as filler. Likewise, using the WASD keys to control the game is so pervasive, no one even thinks twice about putting it in a game such as Harry Potter and the Chamber of Secrets, a game that is not targeted to hardcore audiences, the only ones who would expect to use WASD.

But what would happen if old games were made for the first time today? Would they be the same games, or would “conventional wisdom” dictate changes? Below are a few guesses:

  • Donkey Kong, Mario Bros, and Berzerk wouldn’t be considered casual enough. Significant changes would need to take place to make them more acceptable to mainstream audiences. Donkey Kong would need to throw different colored barrels that Jumpman would need to collect and match. Player clicks would dictate where Mario and Luigi should go and in what order to clean the pipes. Robots in Berzerk would be changed to colorful bugs, and the player would control the bouncing smiley face to try to save the flowers that for some reason are growing everywhere.
  • Pac-man, Space Invaders, and Asteroids would provide medals with different shapes, names, and colors. Collect all of the medals, and show off to your friends!
  • Centipede would be made into an RTS based on insects. There would be three factions, each with different abilities. Koreans would watch people play this game in stadiums and on television.
  • Tetris would feature pop music and psychedelic colors flashing to a beat.
  • Defender would be panned as too simplistic as the enemies don’t shoot nearly often enough to provide a real challenge.
  • SimCity would be considered too free form. There should be specific goals, such as destroying as many buildings as possible in three minutes or tearing up the streets to prevent the SimCitizens from getting to work on time. Also, you would need to match three Residential Zones to get the condos, not just two. Eventually politicians would blast it for providing training to terrorists since they could set the city on fire or cause an earthquake on command.
  • Jack Thompson would point to Custer’s Revenge as typical of sex-and-violence training simulators being marketed to children and takes it upon himself to “shutdown Mystique”. Sales of the game would skyrocket due to the publicity.
  • E.T. would have multiplayer modes featuring kids flying through moonlit skies and saving dying flowers. Co-op mode would feature multiple phone components strewn throughout the world. Naturally, it would be a prime candidate for in-game advertising, specifically for The Hershey Company’s Reese’s Pieces. E.T. would still be considered the worst video game ever, and I would probably still be the only person who liked it.

Any other guesses?

Categories
General

Gamedev.net is still down?!?

I sometimes go to GameDev.net for the Unix, “alternative library” (whatever that means), and beginner discussion forums. At the very least, it is a good source of technical knowledge, and I love perusing the archive of articles.

But for the past week, the site has been down. If you go to the website, you will be greeted by some ravenous humans getting ready to devour a subdued and near-sighted rhinocerous, and the following note:

We detected an attempted malicious attack on the site and have decided to take the site offline to assess any impact. GameDev.net will be back online as soon as possible.

How rough an attack could it have been? I know that they use Windows-based servers and ASP-based scripting, but I would think at the most a day or two of downtime would have been enough to fix whatever issues they are encountering. Clearly something more nefarious is going on…

Categories
Games Geek / Technical General

Every NES Game on eBay

A friend of mine sent me this eBay auction for every NES game ever made, including the NES system.

Besides 670 officially licensed NES games and the NES system, you can also win the unlicensed games, ROB the robot, the Power Glove, the Power Pad, and a number of other accessories.

Normally I wouldn’t give much thought to an NES auction, but as of this writing the bidding is at $4,550.00. Eep!

I already have the two Wizardry and Zelda games listed, and so I’m good for now; however, if someone in Chicago wins this auction, I would have no problem hanging out to play any number of the other games.

Categories
General

Thousander Club Update: February 5th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 21 (current year) = 283.25 / 1000
Game Ideas: 616 (previous year) + 0 (current year) = 616 / 1000

I finally hit the point where I needed to refactor and abstract some of my code for the Space Invaders clone. When I tried to start with abstractions, I didn’t have the mental agility or experience to tell me what I needed. Now that I have some concrete code, I know what is working well and what needs improvement.

Until now, my aliens, my bullets, and my ship were all KrSprite objects. In the Kyra Sprite Engine, each sprite holds its own position data as integer coordinates, and so I just used that data to handle movement. It worked fine, except that it wasn’t very precise. If I wanted to move an object by 10 pixels, there was no problem, but if I wanted to move an object 10.1 pixels, I woud lose that precision. The end result was jerky animation and a feeling that there was a lack in the control scheme.

I never liked the idea that my physics code was dependent on the graphical representation, but it worked well enough for me to concentrate on implementing missing features. One of those features is to get the aliens to slow down to a sane speed. To do so, I need to get more accurate updates, which requires a separate set of position variables. It seemed like it was time to create the general-purpose Entity class.

The Entity class that I originally wrote for Oracle’s Eye Prime involved State and Action objects. I didn’t need anything nearly so complicated. An Entity just needs to hold a position and the sprite. In the future, I may abstract it to use a general-purpose Representation, but that’s only because I don’t like the idea of having to include the Kyra header for this class. I’ll abstract it further when I need to do so, but no sooner. I seem to have more success with the iterative changes. B-)

Now that I have this Entity object, I find that the animation and movement can be slower, smoother, and easier to tweak. I can now specify movement speeds in terms of pixels per second instead of using arbitrary numbers that appear to work well.

I started out with updating just the player’s ship. Everything else gets a delta of zero, which is kind of surreal because the aliens still fire bullets at random. The bullets are also frozen in place next to the aliens. Anyway, the player’s ship used to move very quickly between frames, taking a little over a second to travel the width of the screen, but now it takes longer to travel from one side to the other.

I did the same thing with the bullet movement, and finally I applied it to the aliens. Now everything moves at much saner speeds, and I can easily tweak to get the right balance between the ship’s speed, the various bullet speeds, and the alien’s speeds.

Categories
Game Development Games Geek / Technical General Marketing/Business

Miss Out on GDC Again?

Last year, I had to enjoy the Game Developers Conference remotely, reading the coverage of the event by other indie bloggers.

Yesterday was the last day that I could get a discount to register for the March event. Even discounted, the prices are a bit steep, and I really would have liked to go to attend the keynotes and the tutorials. Since I am not a VIP or giga in any way, I had to settle for the Indie Expo pass. I could manage that price, even without the discount.

Before I registered, I checked to see how much airfare and a hotel room would cost for the week. Ouch.

I don’t want to miss out on GDC again, so I am trying to figure out how I can afford to go. I think if I can find someone to share a hotel room with, it won’t be so bad. Failing that, perhaps I may not be able to stay for the entire week. Maybe I’ll just stay for a few days, timing it so I can attend the Independent Games Festival.

No matter what, I don’t want to miss GDC again.

EDIT: Ok, apparently the pass I was going to purchase is now sold out, which means that the only way I could go is if I use the Expo pass. I don’t think it will be worth the cost for a hotel and the hassle involved if I can’t even go to the Indie Games Summit.

Categories
Geek / Technical General

POTM for January: GnuCash

This month’s Project of the Month is GnuCash, the personal and small-business financial-accounting software.

I use GnuCash to keep track of my finances. Even before I started my business, GnuCash helped me to organize my income, expenses, and bills. I have stopped using my checkbook’s registry just because it is easier to use GnuCash to update my savings and checking accounts.

What appealed to me was the familiarity I already had with this system. I took a couple of years of accounting in high school (thanks, Mr. Mullin!), and so I was quite familiar with ledgers, journals, debits, and credits. Don’t think that you need to know accounting to use GnuCash. It’s just that knowledge of the principles of accounting help, regardless of the application or tools you use to balance your books. I haven’t used anything like Quicken or Money, so I can’t comment on them. I do know that when trying to setup either of those programs on someone else’s machine, I had a tough time figuring out how to enter transactions. It just wasn’t worth the effort to figure out how those applications tried to make it “easier” for me.

By the way, if you already use Quicken or Money, it can import your data, so if accounting software is the only thing preventing you from moving to a different operating system, you don’t have to feel that your data is stuck.

GnuCash provides a way to see your financial data in customizable reports, complete with graphs and charts. You can use multiple currencies, track your stock portfolio, manage your small business, reconcile your statements, and schedule transactions. I personally haven’t used all of these features, but I am starting to do more and more. I recently decided to transfer a set amount each month to my ING Direct account, and instead of requiring me to remember to manually enter the amount each month, GnuCash does it for me.

The only feature I am waiting for is the ability to close balances. Supposedly, the code is actually written for this feature, but it is disabled since it has not been tested thoroughly enough. For now, each December 31st, I manually transfer all of my expenses and revenues into a temporary account, then I transfer the balance to my equity account.

To donate to this project, please visit http://sourceforge.net/donate/index.php?group_id=192 or learn about other ways to help.

Categories
Geek / Technical General

Project of the Month

Larry Garfield has announced the Open Source Project of the Month.

While there are some major, ubiquitous pieces of open source such as the Linux kernel, OpenOffice.org, Mozilla, and Apache, there is plenty of great pieces of open source out there that doesn’t get funding from companies such as Red Hat, IBM, or hardware manufacturers.

While many would argue that fame is more important than money to open source volunteers, I’ve yet to meet one that didn’t like money as well as fame. Really, who wouldn’t? The goal of Project of the Month is to provide a little of each to open source developers, whether they’re already getting revenue from their work or not. The vast majority of open source code is also free-as-in-beer, and while I won’t say that anything is “owed” to those developers (they do, after all, release their code free-as-in-beer by choice), it’s still polite to acknowledge their work.

POTM has two steps each month:

  • Donate $25 USD to an open source project of your choice.
  • Blog about the project.

The idea is to promote and show appreciation for the lesser-known open source projects out there. For more details on how to participate, check Larry’s POTM blog post.

Categories
General

AI Programming Competition Announced

Thousand Parsec announced an AI competition.

One major prize and one minor prize will be awarded in each of the two categories:

* “Battle Points” – The AI which gains the most “battle points” via beating other AI into a bloody pulp.
* “Good Code” – The AI with the code judged to be the “best”.

It seems that the competition will involve a Thousand Parsec game server, and each competitor will face all other competitors in two separate types of battles. The “Good Code” competition will use the expected criteria: how easy is it to maintain, and how easy it is to use.

You can use any language, so long as it has an open source implementation that runs on Ubuntu Dapper. Get your entry in by March 1st, 2007!

Categories
Game Development General

XNA Being Ported to Mono

Speaking of XNA, Mono.Xna “is an open-source implementation of Microsoft XNA”.

It is still a baby project, but hopefully it will actually allow developers to create truly cross-platform games. The source to it is available in the Mono subversion repository. Mono, of course, is the open source, UNIX version of the .NET development platform.