Categories
Game Development Games Geek / Technical General

Video Games as Educational Tools

Thanks to Slashdot, I learned about a News.com article entitled More video games, fewer books at schools?. Apparently some educators are proposing that video games should be used as teaching tools as much or more than books currently are.

Using video games as a tool to educate sounds like a great opportunity. Reading about economic variables can be mind-numbing, especially without context. It is easier to understand how supply and demand affect a business when you play one of the variations of Lemonade Stand. Learning about history is difficult if you treat it as a series of dates and names that you need to memorize for a quiz or test. It is easier to remember that Japan bombed Pearl Harbor on December 7th or that MacArthur said “I shall return” when driven from the Philippines if you play a game such as Koei’s PTO 2. Heck, I learned that Japan is in a timezone that puts that date at December 6th because of that game. Solving physics questions might be interesting, but calculating trajectories to launch bananas at opponents in Gorillas can demonstrate the concepts for you.

Good articles can provide balanced viewpoints, but this one had some strange quotes.

“But there’s still a question about the value to the extent that most of the world is not a video game. They’re not getting problems in real world situation,” [Dr. Joshua Freedman] said.

Most of the world is not a book, either. Children aren’t currently getting problems in real world situations anyway. I remember a physics problem involving a car approaching an intersection. You needed to determine if the car should continue, getting safely on the other side before the light turns red, or if it should stop to avoid an accident. I got the answer wrong. Why? Because the teacher did not tell me that the question was not about the safety of the car but about the red light. See, if you treat it like real life, then my answer would have been correct because I took into account the idea that if the light turns red when you are in the middle of the intersection, you’d be fine. The teacher assumed that as soon as the light turned red, the cross traffic’s light turned green AND, here’s the kicker, the cross traffic has instantaneous velocity. If this is an example of the real world settings children are expected to be getting, then I am sure that video games can do much better.

Technology taking over life is an article that touches on Hasbro’s new ION Educational Game System, but it mostly serves as a warning that technology is not a replacement for exercise or social interaction.

Well, neither is reading books, and yet I don’t see articles warning against the dangers of reading to the detriment of health or experiencing life.

I am not claiming that books are bad. I love reading books. I think that books are great for entertainment and learning. I just find it strange that when video games are offered as an educational tool, the arguments against it are that children aren’t getting real world situations or that they aren’t exercising or interacting. Even the person who argues for the need of video games in schools is quoted as saying something negative about them:

My 6-year-old, Julian, can step into a video game and a world of rules and figure them out. He’s not scared of the unknown or scared of failing. I think that’s something valuable that video games provide. But, I want him to experience much more, and [have] relationships outside of games.

And, of course, there are the quotes from the game-playing children who say some of the most uninformed things, such as equating entrepreneurship with hustling. These quotes are almost as bad as the news articles that use child game players to act as the balance to the arguments of psychologists and lawyers.

As I read the article, I got a weird vibe. It was almost as if there was a bias against the idea of video games being used to do more than subvert children. I don’t get it. I think using video games as educational tools is a natural fit. The Oregon Trail taught me history and geography. Lemonade Stand taught me about the challenges involved in running a business. Both expanded my vocabulary, as I didn’t know what it meant to caulk a wagon or what advertising was before playing those games. I learned that “inadequate” meant that there wasn’t enough grass to feed my oxen, which explained why they were dying whenever I got those messages. At the time, I had to look up these words in a dead-tree dictionary. I remember looking up scurvy in an encyclopedia when my character fainted from the disease in The Illusion of Gaia. And there were countless historical strategy games that led me to crack open my history books and read AHEAD of what my class was scheduled to learn in order to understand what really happened in the world I was participating in.

Books and video games. Why can’t they be complementary?

Categories
Game Development Personal Development

Thousander Club Update: March 19th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 60.75 (current year) = 323 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000

I spent a little over 10 hours on development this week, which is decent compared to previous weeks and considering that I did not put in development time for about half of the week due to all sorts of events. I managed to clean the existing code, fixing a few bugs in the process. I had to get functionality into separate functions so that the menu system would have simple function calls to make to do anything of importance. For instance, if I want to let the player restart a fresh game, I would prefer to call reinitializeGame() than to wrangle all of the appropriate variables. It also helps during development to simply be able to hit the ‘R’ key and have the game call that function. Restarting the game without restarting the application just makes testing that much faster.

My menu system has a stack of Menu objects. If there is a Menu in the stack, then the game is essentially paused and updates are passed through the Menu. Right now, I can pause and resume the game using the PauseMenu object. I can’t actually display choices or let the player pick among them, but I imagine it won’t be too much work to use the existing InputSystem to allow the player to choose among the selections. The menus I create for this game won’t be very general-purpose at all and will likely need to hard-code the choices, but since this project doesn’t need anything incredibly general-purpose, it will be fine.

Categories
Game Development Personal Development

Reminder to Be a Hero

Inspired by Andy’s words, I changed my desktop wallpaper.

As a lone wolf, I am not accountable to anyone but myself, so it is sometimes too easy to get distracted. It isn’t as if someone else will put together my games for me if I slack off. I am either making progress or I am not.

If I am not purposefully thinking about game development, then other things will start to fill my thoughts. Since I am almost always in front of my computer, having it give me a specific message can only help to keep game development at the front of my mind.

My cell phone doubles as my morning alarm, and I recently posted a reminder on my cell phone’s wallpaper. It simply says, “Why do I want to get up early? To get financially independent as fast as I can.” How can I hit snooze when my financial independence is at stake?!? I can’t help but want to get up early in the morning!

I am also going to change my browser’s home page to a list of projects and next actions. Are there any other places an indie game developer can use to place reminders to focus on development?

Categories
Game Design Game Development Games General

Good IGF Quote by Andy Schatz

If you also didn’t get to go to the IGF and GDC, whatever your excuse, you can still watch the awards show at Gamespot. The show was one part inspiration, one part comedy, and one part romance.

This year, the IGF was hosted by former winner Andy Schatz. He’s not only an indie, but a snazzy dresser. He is also a great host, and his opening remarks almost gave me chills. Almost.

We’re indies. Someone else can wear the suit. Tonight’s show is all about the heroes of game development. Tonight we honor the ones who wake up and stumble to their computers in their bathrobes and their underwear for “work” all to pursue the dream of developing the next gaming breakthrough. THESE are the developers that will expand the public’s perception of the power of video games.

99% of us might not make it, and that’s what makes every single one of you a hero.

You. A hero. Chills, right? B-)

Being an indie sometimes means doing things even though there are plenty of reminders that you are likely to fail. The IGF is a highly visible celebration of the victories, and I think Andy did a great job of capturing the sentiment in those few sentences.

Categories
Game Development Personal Development

Thousander Club Update: March 12th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 50.25 (current year) = 312.5 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000

I couldn’t easily add new code to handle a menu system, so I spent some time cleaning up and refactoring existing code. Things are definitely easier to modify now that they are in separate functions. For instance, I separated out the code to handle initializing the main timer, which means that when I put a menu system in and need it to start a new game, I can simply call that function instead of worrying about updating individual variables.

There are still a few more areas of code that need updating, but I can easily see how a menu system could interact with the game now that I have a few more functions to call. Starting a new game from a menu option is going to be much easier with a function called initializeNewGame(), which will be much easier to write when the individual components involved in initializing a game are also simple function calls.

Categories
Game Development Marketing/Business

Production Lag Bad for Business

After filing my taxes and learning that my business operated at a loss last year, I realized that I needed to focus on results a lot more than I have been. I can’t sell anything unless I have something to sell, and I haven’t been doing a good job of creating that something. It is already March, and so the first quarter of the year is finished. I thought about the progress I have made for the year, and I am not pleased with it.

Before January, my Space Invaders clone was playable yet unpolished. I’ve since improved how playable it was, fixing the code that handles frame-rate independent movement and tweaking how the aliens move. I have added a simple text-based HUD and most recently played around with a decent font to use.

It shouldn’t have taken me three months to get to this point, and I still need to add quite a bit if I want non-technical players to be able to pick it up and play. I have already decided that I need to release a standard clone as v1.0 before I bother trying to create something innovative. Taking more time to release something just means that I will take just as much time to start work on something new.

My business and I have been coasting along on only a few hours a week. It is a common problem I seem to be having, and maybe these days I’ve added a few hours to my weeks, but I need to consistently put in at least 10 hours a week if I want to get significantly more completed. 10 hours a week is two hours a day, five days a week, so it shouldn’t be too hard to do at all, especially since I tend to work on weekends.

So, what’s left? As far as code is concerned, the major thing I need to implement is a simple menu system. It’s simple in that all the options I need to provide the player is to start a new game, view the credits, and exit. When the player pauses the game, it should ask if he/she wants to quit. There are still a few more code-related things, but they are related to my content needs.

Since silent video games have been out of style since the 1920s, I will need to add sound effects at a minimum, but I may have to skip adding music if I want to release something sooner rather than later.

As for graphical content, programmer art, as sexy as it may be, needs to get replaced. I think I am pleased with the fonts I have chosen. I’ve spent a few sessions of development just looking at them in the context of the game, and I am ready to move on to something else. The various entities in the game need an overhaul. The player’s ship doesn’t even look like a ship, and I don’t like the idea of a ship hovering back and forth on the ground anyway. I would prefer that it look like a tank, with a turret that faces up. Actually, there are plenty of theme changes I could make, each of which requiring different graphics needs, but I can concentrate on choosing among them after v1.0 is released. The same goes for replacing the static alien and missile sprites and the boring explosion effects.

I want to add a menu system sooner rather than later. Other than sound, the menu is the only part that is missing, and it will be easier to code up a menu system than to create or find decent sound effects.

Will this game improve the bottom line for my business? Probably not by itself, but the sooner I finish it, the sooner I can work on something that people may be willing to pay to play, and the sooner I can join the ranks of those people who claim to have truly finished a game. Taking a longer time to finish this game than necessary is a huge liability for my business.

Categories
Game Development Personal Development

Thousander Club Update: March 5th

For this week’s Thousander Club update:

Game Hours: 262.25 (previous year) + 40.5 (current year) = 302.75 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000

I do not have much to report for this week. I am not going to GDC, but I hope to read the reports from a number of people, including Arthur Mortega. This year, if anyone finds a Darwinian or something equally as cool, please pick one up for me.

Next year I know to get the Indie Pass as soon as I can.

Categories
Game Development General Marketing/Business Politics/Government

An Indie Guide to Copyright Law

I recently finished writing an article called What an Indie Needs to Know About Copyright.

I wrote it because it still amazes me how many independent game developers do not know about copyright. Either they overestimate what it is that copyright does for them, or they underestimate what it does for other people. The entire purpose of copyright is sometimes confused! What can you do with public domain works? What about fair use? What IS copyright actually protecting?

I don’t pretend that I know everything about copyright law, but I have done a fair amount of research, and I hope I have condensed that knowledge into something useful and easy to read for other indie developers. In the end, there are a few resources you could consult for more details, and of course you should consult a lawyer about anything you aren’t sure about. It’s your business to know, after all, and the expense may be worth it.

I want to thank Keith “Uhfgood” Weatherby II and Kelli Lydon for proof reading and providing some great feedback.

Categories
Game Development Geek / Technical Personal Development

POTM for February: Countdown Clock Extension for Firefox

The general idea of the Project of the Month is to donate some money to an open source project and write a blog post about it. Everyone knows about the major open source projects, such as the Linux kernel or Firefox, but there are plenty of examples of open source projects that impact you in some way that might not appear on most people’s radars.

For this month’s POTM entry, I decided to go with the Countdown Clock extension for Firefox.

Whenever I install Firefox on a new computer, I always make sure to install a few extensions, and Countdown Clock is one of them. Basically, you use it as a timer to countdown to some future time. You can countdown to a specific date and time, or you could set it to be relative to the current time. I don’t normally use it for long term countdowns, such as to my birthday or a hot date, but I do use it to timebox. Timeboxing is when you give yourself a set time, say 30 minutes, to do as much as you can at a specific task. For example, when I program, I sometimes have trouble getting motivated to do anything, and after three hours, I might have nothing accomplished. With Countdown Clock, I set it for 45 minutes, and it is almost like I am in college again, working on a paper at the last minute. All of a sudden, I’m focused, and sometimes I’m in The Zone. I can get a lot accomplished in that 45 minutes, knowing that I can take a small break once that time is up. I can also reset the timer again, getting two or more sessions of 45 minutes in an evening.

45 minutes also happens to correspond with how often I have to change a load of laundry, so I can work on game development and still know when to head to the laundry room. Timeboxing and clean clothes: a winning combination.

You can set Countdown Clock to popup an announcement, but I chose not to have the popup. The message still appears in the bottom corner of Firefox when the coutndown is finished, and I find that having a .wav file play is good enough for me. I chose to use a long screaming laugh from Gir of Invader Zim. You just can’t mistake it for some music or sound effect from an application I happen to be running at the time.

One of the side-effects of running Countdown Clock is that the bottom of the browser has the last message you asked it to say. It’s weird when it says something like “Get laundry!” or “Time to eat lunch!”, especially when the message makes no sense, but I like to set it to something inspirational. Currently I use “Don’t ruin your mind” to remind me not to idle away at pointless websites when I could be doing something on purpose.

Thanks go to the developer, Frederic Mercille, for making a wonderful extension.

Categories
Game Design Game Development Games Geek / Technical Linux Game Development

Open Source Game Development Discussion Podcast

Thanks to LinuxGames.com, I learned about the latest podcast of Open Source On The Air. This podcast focuses on open source game developers from the Thousand Parsec and Wesnoth projects as well as Kruel Studios.

I find it interesting that the developers pretty much agreed that quality artwork was their main concern. I suppose when you are all programmers, finding good code isn’t a problem.