Categories
General

Indie Game Dev Podcast: Interview with Caravel Games

Erik Hermansen, one of the major developers at Caravel Games, discusses open source development with Action in the latest indie game developer’s podcast.

Long ago, I emailed Erik about his challenges with using open source for a game. He touches on a few of them in the interview, but I really wish they would have gone more in-depth in what it means to sell an open source game. Otherwise, I was glad to get an opportunity to learn more about what happens behind the scenes for one of my favorite indie developers. There was a focus on managing an open source project as well as Erik’s take on marketing.

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
Geek / Technical

ComicJuice Announced

Thanks to my friend Larry, I learned about a cool new technology called ComicJuice.

Imagine a tool that allows you to create comics easily and share them with others. You can place images anywhere, stretching and shrinking the relevant panels as you go. Word bubbles can easily be created to match any scene. The video demonstration was impressive.

Even more impressive? The developer spent only four days creating it!

It’s a fairly new technology, and the results of the work are a little sloppy currently, but I am sure that they will only get better with time. I can see ComicJuice becoming the YouTube of web comics.

Categories
Marketing/Business Politics/Government

LLC Annual Reports

It has been about a year since I first formed my LLC, and I have already submitted my tax return. Without going into specifics, GBGames, LLC posted losses in its first year. Looking back, I can say that one of my problems was that I didn’t do a very good job of managing my business (or myself!), but I can write about production and self-management in another post.

Last week I submitted my annual report to the Secretary of State, and it was easy.

In Forming an LLC in Illinois, I described the steps necessary to create a limited liability company for yourself. The initial payment of $500 required something other than a regular check, and I used a cashier’s check when I created GBGames, LLC. I was not sure if I would need to go through the trouble of getting another cashier’s check to pay the $250 annual fee, but it turns out that you could send a regular check.

Filing the report was pretty simple. The state sends you a form with your important information: business name, the primary contact, and principal business location. If nothing has changed, sign it, enclose the check, and mail it off.

The most confusing thing about the process was the difference between the address on the provided envelope and the form itself. I imagine it eventually gets to the same place, but why provide an envelope with a different address from the one that the form says it should go to?

In any case, GBGames, LLC will be going into its second year on March 22nd. Hopefully it will be a profitable one. B-)

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.