- What will my game be about? How can I instill an element of social justice in the game in order to help others learn about or experience certain issues?
- What tools will I use to make my game? What are the benefits of using certain tools or platforms? How will those benefits help me to communicate my message?
Short Development Time:
Since I don't have much time to develop my game (roughly a few hours a week for 5 weeks), I am most likely going to have to spend more time on the quality of the concept than on the actual game assets (such as art and music). Thus, it will probably be unnecessary to utilize a more robust, commercial game engine because I won't be able to take advantage of all the extra features in such a short time period. Better to go with something simple.
Low Budget:
My budget for this game is essentially zero. I don't have a lot of excess funds to spend on this game for the time being, so any tools that I utilize will most likely have to be free-to-use. Also, if I want to use this as an activity for my students in the future, I will need to have software that is most likely cheap or free for the school to license.
Easy Access to the Platform for Players:
One of the issues for many game developers is figuring out which platform they want to design for. Platforms are essentially the hardware and/or software upon which the game will be played, and types of platforms include such things as video game consoles, computers, and now even smartphones and tablet computers. Each platform has different requirements (some technical and some legal) that a game must meet in order for the game to be allowed on a certainly platform and for the game to run smoothly on that platform. Since I don't have the time to get my game approved to be distributed on a professional gaming platform, I will have to go with something extremely simple and easy to access--most likely online--so that there will be very few barriers between someone wanting to play my game and that person being able to actually play it.
Software Options for Developing My Game:
One option was Microsoft XNA Game Studio: this software is essentially free, and the application takes care of many of the basic programming elements necessary to have the game run on a Microsoft computer. Unfortunately, I would either need to learn more programming with a language like C# or borrow and modify a lot of free code in order to create a project using this software. Just programming the game for someone at my level would most likely take up more time than I have. Also, I would need to find a computer running Windows to both write and play my game.
Another option was using a professional game engine like Unity: this engine can create some beautiful and complex games. However, given my restrictions listed above, that is not the kind of game I am hoping to make at this time. Also, learning to use Unity would probably have a pretty steep learning curve, and there are far more features here than I need for my game. One plus side, however, is that the engine and development environment would be free to use (up until I start making an annual gross revenue of over $100,000 a year, that is, but the odds of that happening are pretty unlikely for me at this point).
After reviewing these very high end options, I decided to look for something more simple. I discovered Game Maker and other similar game making programs that were probably more appropriate for the scale of my project. However, many of these programs cost money--both for the software to make games and for the ability to export these games to different platforms. Also, many of these programs were still more complex than I needed.
I remembered using an application called Scratch in one of my education pre-requisite classes. Scratch is an application developed and maintained by the Lifelong Kindergarten Group at the MIT Media Lab. It is used to--amongst other things--teach students about computer programming. The program is very simple and easy to use (it utilizes drag-and-drop interfaces with programming blocks) but still powerful enough to make some pretty cool projects.
This tool was definitely closer to what I was looking for. However, Scratch was built mainly for much younger students. It is much more community-based and has guidelines restricting the kind of content that can be on the site. I am not planning on publishing anything obscene by any means. However, depending on which social justice issue I choose to address in my game, some of the game content might be a little heavy for the elementary-school-age users who frequent the Scratch community. I also don't necessarily want my game to be tied down by Scratch community rules. I decided to keep looking.
And then I found Snap! Snap! is based off of Scratch and is very similar. However, it is being provided by the University of Berkeley. Snap! has been developed to run in a computer browser, meaning that my game can be played on any device that can access the internet and run Javascript; in this way, I am not tied down to any particular type of computer or device. The interface is simple and easy to use, allowing me to develop my game quickly. And Snap! is also provided for free, which fits perfectly into my budget. Furthermore, Snap! is not connected to a community like Scratch is. Even though this might be a drawback for some in terms of sharing examples and other forms of support with those in the community, it also means that I am free of having to follow any community rules or guidelines, and I don't have to share my content with strangers.
After reviewing all of this information, I decided to go with Snap! to develop my game. So far, it has been a great choice. I actually began testing the program by animating a picture of Homer Simpson (depicted in the picture at the beginning of this post), and I had a lot of fun playing around with the program. This experience did present some new challenges as well, but I'll get to those in my next post.