Author: Matt

  • Winterstart Banff Run

    Last night Heather and I went to Banff for a night run.

    It was a pretty enjoyable event that we’ll be sure to do again next year.  The race was packed with 2000 runners all done up with glow sticks and head lamps running in the dark.  To cap it off the after run party was sponsored by Big Rock Brewery with free beer!

  • Creating a Resource Management Game on iOS

    Over the last week I’ve been trying to reverse engineer some of the hit games on iOS like DragonVale, Pocket Planes, Tiny Tower, Simpsons Tap Out and Paradise Cove. These have been historically some of the most profitable games on the App Store. They are complex resource management type games and I want to create one myself.

    The first thing that you notice is that unlike most other games on iOS these ones have a loading screen which can actually take a while, and they require an internet connection. I actually made a couple pages of notes just on the loading screen to understand what it needs to do.

    One thing that these games seem to have a lot of problems with is the economy. None of them get it quite right. Though I think Tiny Tower is perhaps the best of the bunch. Paradise Cove is frustratingly slow (perhaps intentionally) where the money you make is rarely enough to build the next thing. DragonVale on the other hand makes it easy to get rich and it becomes hard to spend all the money you make fast enough.

    Developing a good economy should (at least in theory) be a lot like the real economy. The more money that is created in the economy the more “inflationary” pressure there should be on prices. A game should allow for some interesting modeling of these effects and would make for an interesting platform to test some of those ECON 101 theories.

    The technical aspects of creating a big game like this are fairly intense. There are some big server requirements to store the game state for every player who plays and APIs to keep the device in sync with the server. This is required to allow for playing the same environment across multiple devices, allowing the player to view/interact with their friends game, preventing cheating, and it gives me, the developer, the ability to bug fix and support players if problems come up.

    The other big thing about these games is that they won’t work if there isn’t some simple side games within them. Many of these games have simple games of chance or other game mechanics other than just the resource management and expansion to play with. DragonVale has the collection of cross-breeds, Paradise Cove has the mermaid and pirate fights, The Simpsons has killing the zombies. These extra game mechanics can make the game significantly more engaging.

    So how much work is it to create one of these games – even a very simple one? A lot. Even starting with a base of code from my other games I’m estimating at least 3 months of full time work to finish one. Long enough that there’s a good chance of failure. No risk no reward!

  • Getting ready for Winter

    Winter seems to have struck early here in Calgary.

    It’s left me with a bit of a conundrum for getting to work.  All of the transit options in this city suck including driving your own car.

    • The buses are never on time, and always delayed or late
    • The C-Train doesn’t get me to the office, and gets hung up a lot in the cold and doesn’t run often enough
    • The roads don’t get cleared or salted, and it gets to -40 degrees so biking is both dangerous and frigid
    • The side walks also are icy, not cleaned so walking is slow, dangerous and cold.
    • Parking is stupid expensive in this city, and traffic sucks
    • Innovative car sharing option car2go trades the parking concern with finding an available car within walking distance

    Luckily I only have to be in the office 2 days a week.

  • A New Game Project

    It’s been a while since I’ve worked on an iOS game.  After the disappointing sales from Zombie Tap Out I figured that the game section of the App Store was getting a little to difficult to compete in.

    I’m finally ready now to get back in the game and start working on something new.  The idea for this next project is to actually make a solid business investment and try to create the best possible game I can make.  To get it working it’s going to be a team effort and will require bringing in some talent to do the graphics work and making sure the game is fully tested before releasing it.

    This game is going to be one of the best ones that I’ve been playing myself and which has been successful in the app store.  The resource management style gameplay of games like Farmville are strangely addictive and is what I’m going to attempt to build.

    These games are deceptively difficult to create.  There are so many art assets required that it’s not possible to package them in the app and so they need to be provided from a webserver.  Being able to optimize the gameplay without submitting a new game to Apple requires many of the game rules to be up-datable on the go.  And preventing cheating requires saving the game state for every player and keeping the game in sync between the server and all the users potential different devices – resolving conflicts when they come up.

    going to be a real challenge,  but also lots of fun, and lots of potential to be a big hit.

  • Gamification of Everything

    Gamification is the process of adding game mechanics to things that are not games.

    There are really two motivations for the use of gamification.  The first is that people who develop games have learned a lot about what makes a game engaging, fun and addictive and we can take what they’ve learned and apply it somewhere else.  The second thing is that as a society we increasingly seek out things that give us positive and continual feedback.  Once the expectation of rewards for your actions has been created, it’s difficult to remove those rewards.  As gamification spreads over more industries those businesses without gamified experiences will potentially suffer.

    Humans are quickly transitioning to a gaming culture.  I grew up in the age of Mario Bros. and the current kids will grow up with a near infinite selection of games on their phone and at home on their big screen.  We are becoming accustomed to the way points systems, leader boards and badges work so that when we see them you don’t need to explain these concepts.  People just get it.

    Games provide a very interesting and addictive feedback mechanism that triggers all the right spots in your brain to keep you engaged and make you feel good.  Bringing that level of engagement to non-games has a lot of potential to get your users more loyal to your product or service.

    I’m finding these ideas intriguing enough to start thinking about how to apply some of these ideas to the things I work on.

    For more information check out this Google Tech Talk:

  • ABT: Always Be Testing

    Sales teams often have the letters ABC plastered somewhere next to their weekly leader boards and top salesman photo. It stands for Always Be Closing and it’s a motto that keeps sales people laser focused on their goals. Marketing teams should have a similar motto: ABT – Always be testing.

    Lately I’ve had the opportunity to do a lot more testing on the performance of webpages and apps. One thing always holds true. Nobody knows what’s best – which is why it’s always important to test things.

    This point cannot be more clear. If your head of marketing, lead designer, or CEO could peer into the minds of potential customers and knew the most effective way to sell to them, then they would probably be living on a beach somewhere. The fact that they keep coming into work by car instead of helicopter is enough evidence to show that they don’t have all the answers.

    One of the things that gets under my skin about marketing is the focus on branding and brand related marketing. Reading a book about branding is like taking a walk back in time to the 1980s. It’s difficult to find good recent examples of successful brand marketing because more and more companies are discovering that it’s simply not effective. With more technology to play with it has become easier to track the performance of marketing efforts. TV ads can be tested in different regions. Web banners can be split tested daily to find the most effective ad copy.

    You know what tends to happen when tested and accountable marketing comes into play? The clever catch phrases disappear, gimmicky websites get toned down and focused, and communication becomes more direct.

    I recently heard a pitch from a brand marketing consultant who tried hard to impress upon us the importance of a good tagline as the basis for all marketing. It was not very good advise. One of the examples he used was Avis and their famous “We try harder” tagline. It was claimed to be a tagline that helped grow the business a lot. Question is if taglines are that important why aren’t they presented up front in current marketing.

    “We Try Harder” shows up as a footnote on Avis’ current website – barely noticeable. It’s not important enough or effective enough to use on their adwords copy. If taglines were good marketing they would be more prominent in current advertising.

    I have tested a lot of marketing ideas over the years, and there are constantly surprises and unexpected winners. I would however never claim to know the best approach – The best approach changes year to year. The experience you get from testing gives you a pretty good place to start from for future tests.

    When your business income is at stake Always Be Testing. Never trust the status quo, and don’t trust your copywriter to give you optimal sales copy (why buy one sales page when you can buy two for twice the price). Test every assumption. ABT.

  • Doing Hard Work

    There are several hard problems in computer science that seem to be getting solved in a real way. Google’s Driverless cars are perhaps the most recent example of computers taking on a challenge assumed by many to be impossible just a few years ago. And they’re doing a good job. In 2015 they will have a significant number of cars on the road. The economics and convenience of self-driving cars is so compelling that is shouldn’t take long for the technology to make it into consumer’s hands. By 2040 few people will have a drivers license.

    Computers are increasingly taking on even more of the hard work done by humans. This effect has been blamed for the slower than expected recovery in jobs from the recession — companies are making money, they are buying equipment, but they are not hiring at the same rates seen in historical recoveries.

    In the tech industry we have the job of developing these difficult solutions. Better robots, faster searching, more accurate voice recognition, more convenient payment methods etc. For the foreseeable future there is plenty of hard work to be done.

    Something is happening right now in the PC industry which will be echoed in a few years in all of these technology areas. Giant powerful home PCs are becoming irrelevant. The fast computer you bought 4 years ago is still perfectly adequate today for getting what you need done. There’s little need then for more ram, more cores, or more drive space. The technology has become “good enough” and as a result innovation has stalled out as customers have dried up.

    Expand that “good enough” concept to other technologies… phones, robots, cars etc. and things may become grim as demand for replacing usable products for something better diminishes.

    It is the reason why I think it is more important now than ever to work even harder to get yourself ahead. Produce something new, create an impact, and try to create your legacy for this world. With each passing day technology gets better at what you do to make a living. I’m working hard to make sure I’m financially and personally secure by the time the computers catch up.

    It’s going to be hard.

  • Migrating to Amazon RDS

    I’ve been suffering from some scaling issues lately and since my system administration skills are fairly rudementary I decided to opt for Amazons RDS services for providing a MySQL server that is properly built with the appropriate block devices and automatically kept up to date by Amazon.

    Moving my existing database over to an Amazon RDS instance was relative straight forward.

    After launching an RDS instance from the Amazon AWS console.  I added my existing security groups to the security groups so they could connect to it.

    Once everything had a launched I was able to easily move my existing MySQL database over to the new server.

    mysqldump dbname -u root -p > dbname.sql
    cat dbname.sql | mysql --host=hostname -u dbusername --password newDBname
    

    Once that had run I was able to update my django application to connect to the new server and all was good.

    Surprisingly painless. Thanks Amazon.

  • Steady Growth

    I’m finally seeing some steady progress on the iPhone/iPad app side of my business.  It’s been growing for the last few months rather steadily and with the latest updates I’ve further optimized the monetization and am now making a stable cash flow.

    The goal I had starting out was to make $200/day which would roughly be enough to pay all my living expenses.  It’s not there quite yet, but I’ve recently passed 10% of that goal.  Things are lining up now to quickly be able to double that income in the next few months.

    Getting  up to $50-$75 per day by Christmas is my goal for the next few months.  It should be realistically doable.

     

  • An Easy VPN on EC2

    I’ve become a little bit more paranoid over the last few weeks about computer security. I used to think I will be fine – why would anyone want to hack my computer and find my personal files. But after a bit of reading I’m more concerned about the far more likely situation of mass spying and infiltration programs either churning through my network traffic or infecting my computers with a botnet. In those cases people will collect everything they can and data mine it afterwards.

    Starting a VPN should help greatly with preserving my privacy.  It also gives me the added benefit of having an IP address in the USA which allows me to watch Hulu and other US only content sites.

    After several false starts trying to get OpenVPN working I decided to try something easier.

    Starting with an existing AMI was easy.  I searched for and launched a new instance using ami-744c971d which is pre-configured for pptp with a simple username/password.  Create a new security group for the instance when configuring it.

    Once the server is launched and running you’ll need to open up some ports so that it is accessible.  PPTP uses TCP port 1723.

    In the Security Group settings open up TCP port 1723 and TCP port 22 (SSH).

    Ssh to the server using the key pair you selected when starting the instance and the username ‘ubuntu’ to edit the settings file.  Edit the file /etc/ppp/chap-secrets  change the username ‘seamus’ and password ‘wiles’ to something else.

    Restart pptp: ‘sudo service pptpd restart’

    You should be able to connect then to the new VPN server.