Well, I am sad that this project didn't work out at all. I would have loved to watch my master teacher's chemistry kids test the game and start seeing connections between manipulating variables and manipulating puzzle pieces. That's why I plan to continue this project long after my tech class is over. However, for the purposes of my assignment, I would say I have learned quite a bit from this venture.
I learned that creating a video game is a HUGE undertaking.
I learned that even though fixing bugs is a hair-pulling nightmare, the process of puzzle-solving with code is really fun.
I learned that GameSalad is not a program that I will use in the future.
I learned that sometimes you make a lot of breakthroughs with a project but everything still falls to pieces and that's ok. Having a project not work is just an excuse to try it again at a later time (and with a different program!).
Guiding Questions for this Project:
What will the graphic layout of the game interface look like?
The layout was designed to be a basic, easy-to-use game board with places for tiles.
What graphics, characters, pictures, colors, etc. will I use in this game?
Well, my excellent graphic design skills were able to conjure up a red square and a blue square for puzzle pieces... quite elegant, I know, but it gets the job done.
How can I make my own tile sheets in GameSalad?
I never figured this one out. The way GameSalad works is more conducive to creating individual picture files rather than clumping all of the pictures onto one file and having GameSalad chop it into pieces.
How can I make the game work with mouse clicks (for PC users) and swipe gestures (for smartphone users)?
I learned that the program has different commands for PC controls and touch controls, both of which are easy to incorporate into the game code. The tricky part was figuring out how to group all of the smaller pieces into the large "PC" or "touch" categories in the code.
How will I publish the game? Github? App store? My professional website?
I didn't get this far, but I probably would have ended up publishing the game on Github and on my class websites. No need to make money off of this project -- it was purely for the sake of helping my students better understand unit conversions.
How will I incorporate aspects of mastery, autonomy, and purpose in this game so that high school students will WANT to play it?
The mastery comes from leveling up, receiving immediate feedback about moves made, and seeing how what you do with colored squares is applicable to what you do with symbols and number. The autonomy comes from students being able to play the game at their own pace. The purpose comes from getting to play a game instead of doing worksheets for homework. Most kids would likely prefer the former of the two options.
How will I test the teaching efficacy of this game? (Remember, the whole point of this is to help high school students to better understand unit conversions and have fun in the process!)
I was going to use my master teacher's first chemistry classes as a control and his second chemistry class as test subjects, since the second class struggles the most and needs the most help. I would have given the test subjects the game and tracked how they performed on homework, tests, and labs throughout the semester. I would have then compared their scores and learning to that of the control group to see what effect the game had on their learning unit conversions (which are used EVERYWHERE in chemistry).
How does coding work in GameSalad?
Coding in GameSalad was a new experience for me. I am used to typing lines of code, but GameSalad uses a drag-and-drop scheme.
Where can I find some free assets for the game? (Assets are things like tile sheets, animations, code snippets, characters, etc.)
There are a lot of online repositories for game assets. I looked through some of these and didn't find what I was looking for, so I decided to make it simple with square puzzle pieces.
Who can I bribe to field test this game for me?
Kids. No bribery needed. I would just say, "Hey, I made this game for you -- tell me what you think" and they would say, "Cool! I've never had a teacher make a video game for me! I would love to try this for you!" That's exactly what would have transpired, I'm sure, had this project worked...
I have some bad news.
After working on this project for a few weeks, encountering obstacles in the building process and finding solutions around those obstacles, I have finally come to an obstacle that is beyond my ability to circumvent. The program I have been using to create this educational, practical video game for chemistry students is broken!! When I try to click on the attributes for the characters I place in the game, nothing happens. This is not an issue with my programming or my game -- it's an issue with the software that I'm using. Apparently, other Windows users have had problems with GameSalad glitching or freezing or not responding. According to one source, which I included in the picture below, GameSalad has a large Mac user base and the developers are lackadaisical in responding to issues posed by Windows users. This means that my bug reports probably won't be addressed any time soon.
Just to be sure that the issue was with the software and not with my computer, I took a screenshot of my task manager. It shows that my processor was running at 9% with a memory usage of 61% -- not enough to cause the program to freeze. No, the non-responsiveness is an issue with the user interface of the software. I have noticed a few bugs while working with GameSalad since I started this project, but so far none of the issues have been "game-changing". This one, however, means game over for my project... or at least the project as I originally intended it...
It turns out that there are a plethora of "game engines" (programs designed to help you make video games) available on the web. I mentioned this a little bit in my first post for this project. While
Well, I figured out how to stop the pieces from switching with each other... to some degree. I've noticed that, as I build the project, more bugs keep popping up and taking a lot of my time to fix. Now the problem is that, instead of switching with each other, sometimes the puzzles pieces annihilate each other! I don't know how to stop this from happening, but it's something I'm going to have to fix. You can see in the pictures below that when I place the blue tile onto the placeholder (white dashed square), it snaps into place like it's supposed to; the red tile does the same. But when I remove the blue tile and try to place it on the red tile, instead of replacing the square it deletes it! When I remove the blue tile, the red tile is nowhere to be seen. This is not good. I can't have pieces of the puzzle go missing while students are trying to solve conversion problems.
So far, I really don't like using GameSalad. I keep getting lost when I try to find the appropriate layers in the code to add new commands. In regular programming environments, I can recognize the structure of the code by looking at the brackets (when programming in C) or the indents (in Python). With this, I have to keep track of which pieces of code belong to which groups of code, making it hard to "see" the structure. This is probably why I keep running into all these bugs.
Another thing I'm learning is that trying to make a game is a HUGE commitment. There are so many things that can go wrong. Fortunately, this is more about the learning process than about the result. So far, I've been learning how to plug holes in a plan and test my ideas from every angle conceivable. Relating this to teaching, I can see how being able to respond to "bugs" in a lesson plan and adapt to them at a moment's notice is an important skill.
So far, I've figured out how to use the GameSalad coding scheme. It's pretty interesting and very similar to graphic programming languages like Scratch. Speaking of which, I'm thinking about teaching computer science classes in the future and starting my students off with Scratch because of its friendly learning curve...
Back to this project: I designed a few basic assets and developed some code to get the basic click-and-drag mechanics working. The idea is for the player to click (or touch, depending on whether the player is using a computer or a mobile device) and drag puzzle pieces into the squares provided. I figured out how to get the pieces to snap into place, but there are some glitches. Sometimes the pieces swap with each other, a problem I have yet to fix. More on that in my next post.
For one of my classes at CSU San Marcos, 20% of my grade is based off of a project in which I must learn something using technology.
Right away I know what I'm going to do: I want to build a multi-platform game that teaches students how to perform unit conversions. I've been wanting to do a game development project like this for about a year, but haven't had time to fully devote to it. I've used the Unity game engine before and loved it (check out this game I made last year), but I want to make a game that students could potentially play in class or on school computers. Unity requires the user to download the Unity Webplayer, which some school computers might try to block. That's why I'm going to learn how to use the GameSalad engine for this project: it makes games for mobile and PC platforms, allows users to interact via touch-technology, and it seems to play nicely with HTML5 without needing any additional downloads on the user-end (or so I've heard). In theory, a benevolent teacher could paste the code for this game into their class website so that students could use it to practice unit conversions independently.
I got the idea for the unit conversion game after substitute teaching for my co-teacher at Vista High. At the time, his chemistry students were struggling to understand how to solve conversion problems with moles. Recognizing that mole conversions are just a matter of finding suitable puzzle pieces and cancelling out numerator-denominator pairs, I thought it would be fairly straightforward to represent the process graphically.
In this game (which will be designed to work on PC's, tablets, and smartphones alike), the player will receive a "Given" puzzle piece and a "Result" puzzle piece. In order to change the "Given" into the "Result," the player will have to strategically place "Toolbox" puzzle pieces that each have a "Numerator" and "Denominator." The puzzle pieces will start off looking like simple, colored rectangles. As the player progresses through the game, the player will have to deal with symbols, words, patterns, numbers, and... yes, units (like the mole).
If successful, the end result of my project will be a distributable (read "working") game that can be played on smartphones or PC's. I might even need to do some field testing with a couple of willing colleagues and students...
In the meantime, I have a TON of research to do. Google, I need you now.
Guiding Questions for this Project: