Monday, February 20, 2017

John's Cartoons Returns

Today's blog post isn't a game development related post but it does involve HTML and CSS coding with some Bootstrap.

I'm going to talk about updating my old comics web site johnscartoons.com. I created the site way back in 2002, which is 15 years ago now... man, that sounds like a loooong time ago.  Anyway, the site was where I published a whole bunch of my cartoons that I made during my *cough* younger years. A few years ago the site got out of synch and stopped pointing to the right sever, or something like that - internet stuff has never been my strong suit :-) But I decided enough was enough and figured it was time to work out what the problem was and use the site as a great little project to apply my new JavaScript skills (step 1 is to get the site back up, step 2 will be JavaScript - so don't expect much at the moment).

So as you may have guessed I used to draw single panel gag strips and write comics back in the nineties while I was making games. In fact, after I quit my original day job around 1992 I actually supplemented my savings by selling the occasional gag strip and co-writing a comic series with Pete Mullins.

So while I was programming/designing/writing Flight of the Amazon Queen and designing Halloween Harry I was writing and drawing comics for money. Not a lot of money, but enough to cover rent.


Yes, they are kinda corny - I was influenced a lot by Gary Larson's The Far Side single panel strip.

Anyway, I've set up the site again and built it with some basic HTML and CSS using Bootstrap. Previously I had used some drag and drop web site builders - but now I can go crazy and test out my JavaScript skills to do some interesting stuff.

I have a big backlog of cartoons, so I'll try and update the site with new "old" strips every week and slowly build the site out as I learn new stuff.

At the moment the site only has 12 cartoons and the links in the menu bar don't go anywhere, but they will soon.


Anyway, if you're keen to see more, head over to www.johnscartoons.com. Be warned, as well as being corny some can be a little rude.

Enjoy!

- John





Monday, January 23, 2017

Visiting the Upside-Down

One of my non-game projects has led me into the Upside-Down - the world of full stack web development.

For many of you web development is the norm and the world of game development with Unity3D, Unreal, Xcode, etc. is an alternative reality, but for me the world of web development is both overwhelming and exhilarating.

My last venture into web development was with 3 Blokes Studios doing Facebook games. Back then we used Flash/ActionScript to write our front end and PHP for our backend. The games I worked on included Hospital Town, Virtual Villagers and Galactic Allies.

Virtual Villagers on Facebook
While I'm still getting my head around all of the front end and back end tools, I must say I am very impressed with the technology available. It's so easy to be stuck in the bubble of game development and work solely within the realms of Unity3D and C#, or focus one hundred percent on iOS development and Swift/Objective C. Sometimes the web raises its scary head but its usually (at least for me) in the shape of trying to set up a Wordpress page.


Galactic Allies on Facebook
But I've been lucky to dip my toe back into the web.

My experience so far has been limited to HTML, CSS and JavaScript with Bootstrap to make some truly sexy front ends. For those unaware, Bootstrap is a front-end only framework that was originally known as Twitter Blueprint. It provides a bunch of re-usabel components that make building a web front end super easy and helps maintain a consistent and professional look.

Hospital Town on Facebook

I'm still immersing myself into this world and am looking forward to learning more about jQuery, AngularJS, Node.js and React - which are just a few of the many, many other frameworks that help make web dev easier. In fact, the sheer number of options can be overwhelming and it seems like new stuff is appearing all the time.

Just when I thought I had a handle on JavaScript I learn about CoffeeScript (which was used to build Trello) and the new kid on the block, Elm. These are both languages that compile to JavaScript but let you write better code.

It's still early days for me and I have a lot to learn, but I'm having a lot of fun. For anyone interested in finding out more, here are just a few articles/links that friends have shared with me that I've found useful. These are by no means complete - merely scratching the surface - so please let me know ones that I have missed!

Tools
Microsoft Visual Studio Code - https://code.visualstudio.com

I tried out a bunch of editors including Atom and Sublime Text but I've found Visual Studio Code to be simply amazing. It's free, has loads of extensions and works on Windows, Linux and MacOS.  Make sure your grab the Bootstrap 3 Snippets and vscode-icons extensions and do yourself a favour and learn the Emmet snippets shortcuts (which are built in). These makes writing HTML a breeze!

Languages
CoffeeScript - http://coffeescript.org

Frameworks
AngularJS - https://angularjs.org

Learning
Udemy.com - they have a bunch of great courses on all aspects of web development. My tip for Udemy is to log in, check out the courses, and wait. They usually send you an email with discounts for courses.

Articles


Now, I wonder if I can apply these new skills to making something fun on the web? I guess I better return to the Upside-Down to find out :-)

Click the photo to see more of Michael's cool art!

-Johnno



Thursday, January 19, 2017

Time To Switch

Sorry about the heading. I couldn't resist a pun.

So the Nintendo Switch is launching in just over a month and I'm very excited for this new console. Admittedly I am a huge Nintendo fanboy. I have most of their systems starting way back in 1982 with Game & Watch Parachute. I loved that game so much that I picked up a keychain version of it at Super Potato in Tokyo.

My Parachute keychain

Despite my love for Nintendo I actually skipped the Wii U. For the last generation I took solace in the New Nintendo 3DS XL instead. The Wii U looked okay, but there wasn't anything about it that compelled me to go out and buy one. The second screen concept didn't do it for me and I found the 3DS was scratching my Nintendo IP itch with Mario, Zelda and Animal Crossing. So, for the first time ever I skipped that generation. Okay, I also skipped the Virtual Boy but that was more a case of not having the cash at the time to buy it having put aside my pennies for a shiny imported Japanese PlayStation.
Virtual Boy - Nintendo was ahead of their time!

So why am I excited about the Switch?

Well, the 3DS is my current go to console. I spend more time playing around with it than I do with my PlayStation. A big factor is that the 3DS is a portable system. I can play anywhere, anytime - and I love how quick it is to start. Flip it open and I can be playing within seconds.

The Switch is promising me this same experience. I don't have to sit in front of the TV if I don't want to. I can take it with me if I want. And hopefully it will have the same fast boot up of the 3DS.

Another thing that excites me is that Nintendo has re-embraced their Wii style control system again - and this time they've packed two motion controllers in the box. This means new ways to do motion control but more importantly it means that 2 player game experiences are possible for 100% of the folks who buy a Switch. Everyone will have two controllers. And they can play 2 player games away from the TV as well. This has a lot of potential.

And of course there is the new Zelda game at launch and a new Mario coming at the end of the year. These look great. And I'm guessing we'll also get an Animal Crossing sometime (but probably not for a year or two) - and then it will be the perfect system.
I just love the dog faced controller!
Of course, naysayers have said that it's just a tablet with a hefty price tag.

Yes, it is technically a tablet. But it's a tablet that comes with 2 controllers, amazing games and the playfulness that only Nintendo can deliver.  You can't judge something just by the hardware - not every non Apple tablet is as slick as an iPad even if their tech specs are the same.

So, I'm excited. Nintendo has managed to sell me on the handheld/TV hybrid console model.

Now, to balance things out, I fully understand that this is a Nintendo product - so some things will probably suck. I'm expecting a poor to average online experience, a mediocre e-shop and higher than industry standard prices for downloadable games. But if it's as half as much fun as the 3DS then I'll be more than happy!

How about you? Are you excited for the Switch?

-Johnno

Thursday, December 29, 2016

Christmas Projects

Christmas holiday time is a great time to relax and take your mind of work or school.

It's also a great time to look into  new hobbies, read new books, learn new stuff or catch up on those TV shows and movies that you may have missed out on.

One of the things I love to do is to use the time to work on a small project. The original TY the Tasmanian Tiger game began as a Christmas project way back in the early 2000's. I did the initial prototype programming while Steve Stamatiadis did the art for the in game characters including TY. But that's a blog post for another time!

This year I got a Sphero BB-8 for Christmas and my son got a Force Band to use with his Ollie that he got last Christmas. The Force Band works amazingly well with both the BB-8 and the Ollie. Being able to control your droid using simple hand gestures is the closest feeling you'll get to using the Force. It truly is amazing.

Being a huge fan of the Apple Watch I decided to start a Christmas project to make my own Force Band for my Watch.

The Sphero SDK is freely available for all platforms and is fairly simple to integrate into an iPhone Xcode project.  I found a great sample project from Robotics Trends that used the Watch's accelerometers to control a Sphero. This is a great entry point!

Trying out different control methods for BB-8 with Apple Watch
However I decided to start fresh and explore some other input methods that the Watch offers.

I tried using buttons and swipe controls to move BB-8 - all of which work okay, but the one I found interesting to explore is the use of the Digital Crown as a steering wheel.

This actually feels great having BB-8 move while rotating the crown to steer the little droid. I have a few extra features to add, such as a simple way to slow down and speed up the droid - and the UI could use a little love :-) 

Speaking of which,  I better get back to my Christmas project so my son and I can take our droids on adventures with the Force Band and Apple Watch.

I hope you all have a happy new year!

- Johnno


Friday, December 16, 2016

Making Snappy Word

Snappy Word just relaunched exclusively on the App Store.
You can get it here!

I originally made Snappy Word at Right Pedal Studios as a launch title for the Apple Watch. When Right Pedal wrapped up the game was removed from the App Store. However Steve Baxter (visionary investor, awesome guy and a great boss) was kind enough to let me have the game IP.

I planned to relaunch the game as at it was but Apple had released some cool new stuff with Swift 3, WatchOS 3 and the new iMessages app ability. So I decided to do a major overhaul.

I rewrote a lot of the code to be in Swift 3. I updated the WatchOS version to use WatchOS3 and run as a seperate app without the need of an iPhone. I added an iMessage app extension so the game could be played within iMessage against friends.

The original version had a multiplayer element that used Game Center. This never worked well as Snappy Word is a very niche game and the multiplayer required you to find someone online at the same time also looking for a match. Finding someone to play against was like trying to find a needle in a haystack, so moving the multiplayer element into iMessages and making the game turn based was a no brainer.

The original art had an angular look to it to help it stand out from other tile based word games. This art was done by the talented Rupert Lewis Jones:

The original main menu screen with angled tiles.

The Watch version actually had rounded tiles so I decided to embrace that look in the iPhone version to maintain consistency. I also converted a number of options from words into icons. Most mobile game players understand the iconography of leaderboards, settings and play images.

The new look main menu screen with rounded tiles and icons.
I also updated the game screen to use the rounded tiles.


Original Snappy Word game screen.
New Snappy Word game screen.
In the original game I used interstitial pop up ads that appeared after every 3 play sessions. These were invasive and broke the game flow. So with this update I added an AdMob banner to the top of the screen and removed the interstitials.

I felt this was a good compromise to keep the game free and have some monetisation while not being in the players face. If they really hates ads then they have the option to spend 99c to remove them.

I did some minor rejigging of the Watch graphics, but the biggest improvement came in terms of a speed boost from switching to WatchOS3. The game responds really well to the button presses, something that was a little slow in the previous WatchOS version. I also included GameKit so it didn't need to rely on the iPhone to get and set high scores.

There were a few things I would love to have spent more time on, but the reality is that this sort of game won't set the world on fire in terms of sales so there was a practical limit on the time I could  spend on it. As it was I spent more time than I had planned as learning Swift3, WatchOS3 and the iMessage framework took a lot of effort.

I used swipe controls to select letters on the iPhone version but relied on button presses for the iMessage and Watch versions. To get swipe working in these would have required a few major changes that I couldn't justify in terms of time. It is a little jarring to have two different input styles, and as a designer I know it should be all the same - but given the constraints and my belief that people will probably only play on one platform, ie. iMessage only, or Watch only, I don't think it's too big an issue. If people demand it, I will fix it in a later update :-)

The awesome tutorials from Ray Wenderlich were invaluable in helping me learn the skills necessary to make this game.

My main resources from Ray Wenderlich were:

iOS 10 by Tutorials - Helped me build the iMessage app extension
WatchOS by Tutorials - Got me up to speed with WatchOS3
2D Apple Games by Tutorials - Helped me with Swift3 and SpriteKit

The game has done well on launch and has been featured in the app and iMessage games sections of the App Store around the world.
Featured in New Games We Love

So far it's been featured in over 97 App Stores which is not bad for a game that is targeted at English speaking players.

Also featured in the iMessages App Store
Now, with Snappy Word done it's full steam ahead on my next game, the 3D action racing game called Billy Carts that I'm making with the awesome Pete Mullins. This is an Aussie game featuring outback landscapes, Aussie animals and lots of destruction! 

I'll be blogging about it's development over the coming months so please check back with me to see how it progresses.

Cheers,
Johnno