I just finished the majority of the development for Triglotta 2 which will be released on Reformation Day. This means it’s time to start the next side project. For the umpteenth time I’m going back to working on a quiz game. I’ve gone back and forth so many times about the pros and cons of educational games and the pros and cons of the types of games within that subgenre. I’m finally just going to try to build one and learn from the experience. This project will be a rewrite and reimagining of the Table Talk Radio app with new games and a simpler format to allow for more frequent content updates. I may not be able to include as many soundbites, but I will try to keep them as best as I can as that was a major feature, at least in my mind.

Multiple Learning Paths

As with all my side projects, one of my goals is to learn and improve various development skills. My major focuses will be on really understanding Swift, improving my use of Xcode, and learning about the new UI Test feature.

Blogging the Process

The other major component of this side project is my plan to blog about the progress or lack there of. My plan is to write lightly filtered thoughts about my thoughts, what’s working, what’s not, what I’m learning, what I need to learn, where I’m falling short, what’s hard, and really what ever comes to mind that I can look at later and see where my processes worked and where I can improve.

I don’t know if this will be useful for me or anyone else, but I want to take the time to examine what I’m doing instead of just plowing ahead without some introspection.

I hope to build a full-time business making tech products that confess, teach, and defend the Faith once delivered to the saints. With that in mind, I have been building a couple of apps and trying to figure out what to charge for them so that I can progress toward this goal. And now those apps have stagnated. One is mostly in a good state, but it doesn’t have the features I would make money from and has been stagnant for a couple of months. The other app is about ready to be user tested, but it’s been in that state for about a month. Both have stagnated for the same reason: fear.

Root of Multiple Fears

There are multiple fears in play hear. Fear of not being good enough, offending people, failure, etc. Most of these fears would be alleviated if I weren’t planning on charging for the apps. I think there is value in the work I’ve done, but I’m not sure how much or if anyone else will perceive that value and if a person makes a purchase will my work meet or exceed the value that was paid for?

I’m missing out on several things at this point. I’m not learning anything about pricing or running a profitable business, and I’m also not learning about what is valuable to people and how to ship a great product. The thing I’m considering is not charging for the apps and giving people value for free. The Lord has blessed me with a wonderful job and I don’t need to make money from my apps at this point. The value for me of learning from shipping, building a reputation, and learning about what people are interested in is good enough for me right now. My hope is that these experiences will guide me into the time when I can feel comfortable in switching things into a business.

What’s Next

My plan is to focus on cleaning up the apps and getting them into shape based on not charging for them. I’ll take the summer to do testing and actually try to do some experimental marketing in hopes of a Reformation Day release.

I started my latest project which is a simple game with a high difficulty level (think Flappy Bird) where gameplay can be extended by answering increasingly difficult questions. It might be chocolate covered broccoli, but I’m here to learn.

I’m writing the game in Swift (as a learning exercise as well) and ran into something interesting. I had run across the common wisdom to default to using Structs over Classes. I followed this advice without completely understanding it. I knew that Structs were passed by value but with their ability to include functions they were mostly like Classes.

Until They Aren’t Alike

I was happily using Structs everywhere until I needed an Array as a property. I added and initialized the Array property just fine, but when I tried to assign a value to the Array I got the cryptic message: “Cannot assign to the result of this expression.” Looked like a valid Array assignment to me. I went and created a Playground to test the Array syntax and there was nothing wrong with that. So I did some Googling and eventually ran across this note about Structs: “The structure’s primary purpose is to encapsulate a few relatively simple data values.” Something in my mind told me that Arrays weren’t simple data values. I changed the declaration from Struct to Class and the Array assignment worked as I expected.

This is the pragmatic way I learn. I pickup generally accepted patterns and practices for the tools and languages I’m using and use them without complete understanding. Some would see this as problematic because I’m moving forward without complete knowledge of what I’m working with. I argue that complete knowledge of the tools, while desirable, is impractical. Using the commonly accepted wisdom to solve known problems frees me to add value by working on the solution or application I’m writing. I also have the confidence that when I run into problems while using the tools I can figure out and increase my understanding of them as I need to do so.

Do I Have a Right? is the best example I’ve run across of game-base learning. It uses elements of resource management games like Diner Dash, but instead of giving patrons the correct food, you must direct them to the proper lawyer who can address their constitutional problem. For example, an NPC may come in saying that she was told she can’t vote because she is not of drinking age, but is 20 years old. You would need to direct her to a lawyer who knows the 26th Amendment. Similarly, you might get a buy who comes in complaining that nobody will pay him to be an actor. You would need to let him know that you can’t help him since there is no constitutional guarantee that you be paid to be an actor.

I can imagine a version of this that might be used to teach various aspects of Christianity. An NPC might come in with a question about Jacob and the player would need to direct the NPC to an Old Testament scholar, or an NPC might come with a question about Baptism and being buried with Christ and would need to be directed to a Pauline scholar.

If you know of any other games that impart knowledge as a core part of the game, drop me a line on twitter @byamabe.

Wouldn’t it be great if learning was fun and engaging? We have a better chance of learning subjects we are interested in, but even then, learning a foreign language we’ve always dreamed of speaking can become boring and arduous if presented poorly.

Gamification

One way to make the learning process fun is to add game mechanics around the subject matter. This is known as gamification. Some examples would be adding a point system to learning vocabulary words, giving badges for being the first to mix a set of chemicals and get a specific reaction, and having levels for the amount physical activity you do in a day. In gamification the activities themselves aren’t any more inherently engaging, it is the process layer around them that keeps people interested.

Game-Based Learning (Educational Games)

Another way to make learning fun is to make learning an integral part of the game play. This is called an educational game or more fashionably game-based learning. Examples of game-based learning would be flashcards which drill a skill, the game Civilization used to teach about history and technological progress, and flight simulators to teach about aerodynamics and control systems.

Good and Bad

Both gamification and game-based learning can point to successes, failures, and cases of being oversold. In a previous dive into this field, Civilization was always held out as a model for game-based learning. There was talk of students taking deep dives into history and cultures because of exposure to the game. I’ve played at least 3 versions of the game and have yet to learn much more than some of the famous rulers in various civilizations. Maybe in the context of a good curriculum Civilization and other games can be used to spark curiosity. Other “kill and drill” games were routinely criticized and rightly to some extent, but I could see how you might actually learn some of the subject matter before you were bored to death or turned off by the subject.

Fun and Engaging Self-Directed Learning

What I’m attempting to do is create a game-based learning app where learning is part of the game play. I’m sure my early attempts will be little better than “kill and drill” or “chocolate-covered broccoli” games, but I hope to keep at it and find a formula for self-directed learning that is fun and engaging.