As future archaeologists will quickly realize, financial decisions are among the most influential parts of our lives. However, large numbers of people are not familiar with the most basic concepts of economics and finance.
To tackle this problem by leveraging the power of video games, Ryan Mininger developed Finances 101 using Phaser. Finances 101 is a cross-platform educational game created to teach the basics of finance and help people improve their lives by making smarter financial decisions.
Ryan has a mixed background of animation, video production, web design and 3D modeling. With a strong visual focus, Ryan took on the Flash stack during the last decade.
With the arrival of the iPhone and the advent of the mobile-first world, transitioning into HTML5 and cross-platform development became a must. Ryan was able to successfully complete this transition after enrolling in Zenva’s HTML5 courses, which provided him with the foundations to take on a real project such as Finances 101.
Ryan’s story is an example to follow. In an ever-changing technology landscape, constant learning, adaptation, and developing multiple complementary skills is the only path to success!
Can you tell us about your programming and game development journey?
I was fortunate to have had the opportunity to begin taking computer lessons before school in 5th grade on old Commodore PET computers with cassette tape drives for backup. I was learning rudimentary BASIC programming, but only got so far. A few years later, my school was using Apple ][e computers and had a raffle for an Apple ][c and my sister’s ticket was the winner!
While I only programmed in Apple’s BASIC language for very basic games. At the time, I was having more fun playing computer games than trying to make them. Fast forward a few years when I was in college and had access to the Internet via an older Macintosh, I was exposed to the WWW and newer computer games and eventually took classes to learn HTML and began creating web pages.
I continued to make websites using code snippets here and there wherever I could find and began learning some basic MySQL and PHP and also tried to work through the C for Dummies books, but never got very far. I even had a few game programming books, but the complexity of the code just flew over my head.
I was fortunate to work for a company that emphasized continuing education and I took a week-long course to learn Flash. That got me started doing more interactive CD-ROMs and websites using basic Actionscript. As a 3D animator and video editor, I also did quite a bit of graphics work and I was able to use Flash’s interface and complex nested timelines for several large complex projects.
Then Apple introduced the iPhone and all of my Flash knowledge was useless for creating apps for iOS. At least as far as I knew at that time. I got away from programming and Flash for a few years while working more on 3D and animating complex machinery and while doing so, I had to use a graphical interface for tying objects together.
I started to see the power of code again, but was still a visual person and not a code-based programmer, so I never really thought I would get to the point of making a real game.
As a Flash developer, how did you successfully transition into Phaser development?
The wonderful world of Phaser was introduced to my by a friend who helped develop the database backend to the game. I had met with a client about an HTML5 game project and my friend and I had discussed making some games for some time, but were both busy with other work projects.
After a few weeks passed, I started to panic that we would not meet the project deadline, so I began searching for training material. The Phaser website is loaded with wonderful examples and documentation, but it is difficult to know what to look for, if you don’t know the basics. While searching for tutorials about Phaser, I came across the Zenva’s HTML5 courses. I was able to view a sample of 3 tutorials and I immediately signed up and got to work learning Phaser!
What’s Finance 101 all about? Who is this game for?
Finances 101 is a game intended for students grade school though high school (or anyone really) to help learn about money management and making sound financial decisions. There is a real life game played at the college level, as well. The online game had originally been developed by another group of programmers in Flash, but it was rather outdated and also did not run on mobile devices, so it was time for an overhaul.
What was the biggest challenge and how did you solve it?
The biggest challenge for me was learning how and when to implement proper coding practices such as when to use a FOR loop in place of simply copying and pasting code several times. I solved many problems by simply reviewing the course lessons and opening the example code.
Eventually, things start to make sense and the next thing you know, I’m using an array as a clever placeholder for data that I need elsewhere in the game! I never dreamed I would have wrapped my head around Phaser. The game has 13 levels, and each level I coded has vast improvement in code optimization from level to level as I learned more and more. I could probably find ways to improve the code at earlier levels, but for now it is working, so I’ll make those improvements on my newer game ideas I am working on.
What advise would you give other Zenva students who haven’t built their first game yet?
My advice for Zenva students is to actually take the time and implement what you are learning in the course. I found that watching the videos was only part of the process. You must simply dive in and start to make changes to the existing code or try to make something from scratch and keep referencing the videos when you get stuck.
Once I actually started to type, a giant game programming world opened up before my eyes and it is absolutely amazing!
What’s next in store for Ryan?
The last several months of working on Finances 101 has allowed me to put together a large list of games that I want to make with Phaser. I have 3-4 in the works at various stages. One day, I would like to see one or more of my ideas get published in an app store and potentially have many people playing my games.
How can people reach you?