JonLim.ca
RSS
  • Home
  • About
  • Photography
  • Andrea & Cuso

Video Games

Dec 1, 2012

Octocat Attacks: Our entry for the GitHub Game Off

Jon Lim ActionScript, Flixel, game development, Game Off, GitHub Coding, Technology, Video Games

Near the end of October, a blog post from GitHub caught my eye, entitled: GitHub Game Off.

In short, GitHub was running a competition for game developers to build their games, host their code on GitHub, and have it loosely based on a git concept (forking, branching, etc). We were free to build it however we want as long as it could be open source. As a life long gamer, it’s always been a dream to build my own game, and that’s a dream that’s been also shared by awesome guy Wayne Sang.

We had been toying around with the idea of building out a game idea that Wayne had several months ago, and before Game Off, we had decided to build something smaller to get us acclimated with each other’s style and capabilities. GitHub Game Off presented itself as an opportunity to finally make this happen with real deadlines and actual work needing to be produced.

That game? Octocat Attacks.

Octocat Attacks Title Screen

You can view the source code here, and the playable version of the game here.

Most of the rest of this post is going to talk about the development side of things, as there were quite a few things I learned along the way.

Creating the Concept

When Wayne agreed to build a game for the competition, we sat down and hammered out a concept pretty quickly. I suggested that we use Flash, as it was probably the fastest way to get up and running with a game especially with established libraries already available, and that we make a puzzle game because “it’s far easier to build a silly puzzle game than a full blown action game!”

Just for the record, I was going to eat those words.

We sat down for several hours to hammer out the concept: it would be match-3 style puzzle, it would be about a giant alien attacking Earth, and various countries coming together to build separate parts of a robot to defend against the alien. The loose association with git was that each country was essentially working on its own “branch” of the master robot repo, and completing a level was that particular country “pushing” their part toward the final product. Each round was timed, and your score affects the quality of the piece that is created, with three different possible tiers in quality, which also affected your final battle with the alien.

I also did some research around the best Flash library to use to build games, and I landed upon what seemed like the most developed and easiest to get started with: Flixel.

There were a handful of other engines available, but Flixel was really far along in development and actually powered games I had heard of (like Canabalt!) and so I ran with it. Just as a side note, once you start using it, Flixel really feels like it was built more for twitch-based games rather than puzzle games, I was lucky to find the Flixel Power Tools set which extends the capabilities of Flixel even further, allowing me to take care of some of the issues I was having with sprites in Flixel.

Starting to Code

Once my environment was set up, I began to write a few test games just to get a feel of Flixel and Actionscript.

Have I mentioned that I haven’t really touched code in a serious way since 2009? Have I also mentioned that I haven’t touched ActionScript since 2005?

Granted, I was very familiar with programming in the first place, so the learning curve wasn’t very steep for me, but it was one thing to be figuring out what I can and can’t do with Flixel, and it was a completely different beast trying to do it while learning ActionScript 3.

However, I got a prototype up and running relatively quickly. According to my records, we started brainstorming on October 27th, and I had a prototype with a 5×7 board full of temporary game pieces that could switch places on October 31st. I was rapidly iterating on the first prototype, creating 90% of the game mechanics by November 12th: puzzle piece generation, piece movement (swapping places), match checking and clearing, and empty space refilling. Nothing was 100% as it should be for a completed game, but it was a very quick start.

Around this time, Wayne chipped in with his awesome pixel art, and the game was finally starting to come together.

Refactoring Mania

Regardless of the level of stability, I was rather unhappy with how game pieces were being moved around and being checked as matches, so I spent a good week refactoring everything. And I mean everything.

Suddenly the game became less jittery and resource intensive, I had created a queue for the checking and clearing of pieces, but I was still being plagued by my code to animate the refilling of pieces on the board. It was a problem that I am still having trouble with to this day, and I feel like I’ve smashed my head against it enough times that I may need to refactor the entire thing to provide a different approach.

Oh well, that’s what branches are for, right?

The important lesson I have is that, and I didn’t know this because I am a complete newbie, Flash and ActionScript 3 runs code synchronously (I think.) This was a problem with the initial way I was refilling pieces, because I essentially had a for loop that would check every single spot on the board, and if there was no sprite within that spot, it would start the animation to move all pieces above the empty square downward to fill the empty spot and create the new piece. However, if you have two (or more) empty squares on top of each other, the new piece creation happens simultaneously and you have stacked pieces in the same square.

As you can tell, I am not very experienced with puzzle game animations!

Octocat Emerges

On November 19th, Wayne sent me an email where he sketched out the alien: he had taken the Octocat, of GitHub fame, and turned it into the alien monster attacking the Earth. It shot lasers from its eyes, it was adorable, and I think it gave me a bit of extra motivation to see this project go all the way.

Alien Octocat

Aw, aren’t you a horrible little creature?

Final Stretch

It feels like I’ve left out a lot of details, but that’s because the entire month felt like a blur. I was constantly trying to fix our animation problem while building out the HUD (score, timer, etc) and the functionality to power the HUD. Wayne was churning out all of the necessary art assets for the game, and it was starting to come together.

Eventually, we decided that we weren’t going to complete the game in time, and we were alright with that. We were both willing to continue working on the game at a more leisurely pace after the deadline had passed, and that’s one of the side projects I am really looking forward to.

At the end of the day, the v0.1 build of Octocat Attacks, as in the one we’re submitting to GitHub Game Off, is a very incomplete game. We have an incomplete puzzle engine, no audio, and our content is far from complete.

However, we got it out there. We took the effort to start our project and bring it this far, and we’re continuing to push on. I’m very happy with how the game looks right now thanks to the hard (and amazing) work that Wayne has put into his pixel art, and our game is functional, which is a lot more than I expected when we started!

It’s been a really fun and educational experience to build a game from scratch, and you better believe that Wayne and I are going to continue developing games.

Octocat Attacks Stage Select
Octocat Attacks Gameplay

Nov 28, 2012

“We do enforce this policy.”

Jon Lim Scribblenauts Unlimited, WB Games, YouTube Business, Marketing, Video Games

I run a very small, very casual video games channel on YouTube called The Blundercast – I just record, edit, and post silly little moments that happen while I play games. It’s very much a labour of love, but I do happen to monetize a few videos just for a bit of coffee money here and there.

Most recently, I posted a video where I played Scribblenauts Unlimited and had fun on a mission.

I did attempt to monetize this video but was abruptly stopped by YouTube.

YouTube:
We may consider your video(s) for further review provided you verify that you are authorized to commercially use all of the elements of your content. This includes all video, images, music, video game footage, and any other audio or visual elements.

Fair enough, I’ve run into this before. I explained:

Me:
This video is a video where I have fun with a small portion of the Scribblenauts Unlimited game. It was created solely for the purposes of entertainment and education and is all done in fair use.

Makes sense to me, you learn about the game and you can enjoy watching me make an ass of myself on the internet. However, it got rebuffed with a request for information regarding formal permission and/or terms that would allow me to post the video.

I reached out to WB Games, the publisher of Scribblenauts Unlimited, to get this permission, and got this response in a few hours:

WB Games Support:
WB does not provide formal permission to post videos on YouTube or similar sites. Generally we don’t mind fan videos so long as you’re using legal copies of the game, are not being posted to make a profit (through advertising or other means), and are in good taste.

Hmm… not being posted to make a profit? What about the hundreds of videos that do just that on YouTube? Do they all have a standing agreement with WB Games that allows them to post and profit off their videos? Or are they in danger of having WB enforce their policies on them?

So I asked to clarify, especially with regards to YouTube partners, and got this response:

WB Support:
WB does not give out any formal permission. We also do enforce this policy.

And now we’re back at square one.

I understand you want to protect your game, but we’re giving you free marketing at no cost. I’m not entirely sure why you would be against that?

It is a silly place.

Jun 2, 2012

The Humble Indie Bundle #5: 5 Awesome Reasons To Buy

Jon Lim amnesia, bastion, humble indie bundle, limbo, psychonauts, sword & sorcery, Video Games Video Games

I put together a quick and dirty overview of the lineup for The Humble Indie Bundle #5: Amnesia, Psychonauts, Limbo, Superbrothers: Sword & Sorcery EP, and Bastion.

For those unfamiliar with The Humble Indie Bundle: it’s a really great initiative to bring together an assortment of high-quality, cross-platform, independently developed games and letting the consumer set the price they pay for the bundle. Did I mention it’s DRM-free and Steam unlockable as well?

As a consumer, you set the price level of the bundle and then decide how to allocate the money between the three entities: the developers involved, charity, and the Humble Bundle team themselves.

Overall, it’s an amazing initiative for games that you may not have otherwise played, so definitely check it out and pick it up – you’re getting five amazing games, you help support charities, and you have the ultimate power as a consumer.

Happy gaming!

Dec 28, 2011

Don’t Mess with Gabe

Jon Lim Gabe, Ocean Marketing, Penny Arcade Business, Video Games

Image: Penny Arcade – “Real Talk”

Gabe from Penny Arcade about Ocean Marketing:

‎I have a real problem with bullies. I spent my childhood moving from school to school and I got made fun of everyplace I landed. I feel like Paul is a bully and maybe that’s why I have no sympathy here. [...] I will personally burn everything I’ve made to the fucking ground if I think I can catch them in the flames.

Gabe just became one of my favourite people. More so. Seriously, don’t mess with Gabe, or any other Gabe for that matter.

Nov 13, 2011

Secrets of Grindea

Jon Lim Action RPG, Pixel Ferrets, RPG, Secrets of Grindea Video Games

I found this gameplay video of an up-and-coming action RPG called Secrets of Grindea from Pixel Ferrets, showcasing their 4-player co-op. It reminded me of Secret of Mana in terms of art style and gameplay, so I was immediately interested.

I can’t wait to give this a play with my friends.

Sep 24, 2011

Games I’m Playing!

Jon Lim blog, Games, Video Games News, Video Games

One of those things that I get asked semi-often: What games are you playing?

I don’t have all that much time for video games, but I do set aside from some time for gaming because it’s a fantastic outlet for me during really stressful times.

That said, check out my new Games I’m Playing page to take a look at what I am playing!

Jan 15, 2011

Touch Screen Gaming is Different

Jon Lim Mobile, Video Games

I play a lot of games. It should come as no surprise that a lot of the games I play are also for the iOS, especially considering that I used to run an iOS Game Review site.

Lately, I have been playing a lot of FIFA 11. I’ve been playing the English Premier League as Arsenal and have been completely obliterating everyone in my way. The game itself is really fun, save for a few headache inducing moments, and I genuinely enjoy playing 2-3 matches during my commute.

However, the game causes me pain. Literally.

The game is controlled through a virtual joystick and buttons. This causes my hand to contort into a weird angle and gives me a lot of wrist pain, which is amplified by the fact that I am pretty sure I have carpal tunnel in these bad boys.

This post isn’t a complaint about my pain, rather a request: iOS game designers, or even touch screen game designers in general, please find more fitting ways to control your games on a touch screen device. A non-tactile joystick can become extremely aggravating, mentally and physically, with prolonged usage. It can be non-responsive, it can go the wrong direction, and I often find myself just letting go to let it re-orient itself. It’s difficult to make a sports game without a joystick, I know, but I am sure there is a way.

Touch screen gaming is different from handheld consoles, so let’s try to break convention here and build a more exciting control scheme, shall we?

(If someone wants to recommend sports games to me that use a great way to control the players, please do so in the comments!)

Nov 17, 2010

Game Companies, Please Reverse The Trend

Jon Lim franchises, Ubisoft, Video Games Business, Video Games

I just learned that Ubisoft’s stock plummeted yesterday after releasing their financial results. Why? Apparently, substantial losses and title delays. Oh, and they mentioned that they were restructuring to give more support for their AAA titles and franchises.

Game companies: please stop focusing on your best franchises and releasing them year over year with minor tweaks.

I understand, once you have an established franchise, it is significantly cheaper to continue to develop for that franchise and you will gain more and more sales as the franchise continues. It gives you the revenue to continue making awesome games, understood.

But it is an incredibly short-sighted way of approaching the business.

Let me explain. In the case of Ubisoft, they are pulling resources away from new properties that may or may not become a hit. For a business, it is a good business decision to cut the assets that are not making money or may not make as much money as other assets you may have. But for a gaming company, not continuously building a bigger and better pipeline of different titles is a good way of shooting yourself in the foot. Yeah, you can easily make a killing by continuing to develop your franchises and churning out mediocre game year after year.

But will we want it after its 6th iteration?

Please game companies, buck the trend and go back to developing awesome titles that do not already have established franchises. It might suck for your bottom line in the short term, but in the long term you’re going to enjoy the fact that your titles will be diverse and one failure does not determine the financial health of your company.

Nov 12, 2010

Of Course Competitors Should be Scared of Steam

Jon Lim Business, Video Games

Last night, I posted a tweet about retailers and competitors of Steam being worried that Steam is locking down the PC Gaming industry, and that they are killing the industry.

It’s rather ridiculous to think that Steam is doing anything close to “killing” the PC Gaming industry. If anything, they have revitalized it and shown everyone that if you offer games at a fair price and without draconian DRM, a large number of people will flock to your service and purchase games legally.

Want proof? I, someone who pirated ALL of my games prior to 2008, have almost a thousand dollars worth of games from Steam. Why?

It is far easier to get legit games from Steam: they update automatically and will always work on my system, they are on-demand regardless of what computer I am on, and games often go on sale which saves me a TON of money. Not to mention the community aspects that Steam integrates into games (Friend lists, clans, groups, etc.) It’s no real wonder why they’re dominating the market, they’re doing it way better than anyone else.

So retailers and competitors, is Steam really killing the PC Gaming industry, or are they just killing YOUR industry?

Mar 6, 2009

Addicted to Video Games?

Jon Lim CBC, Fifth Estate, Video Games Video Games

I’m going to preempt tonight’s Fifth Estate on CBC, which is entitled “Top Gun: When a video gaming obsession turns to addiction and tragedy”.

Fifth Estate Header

I can only guess, but I’m going to guess this is about that boy who ran away from home because his parents took away his Xbox. We’ve all heard the story, straight-A student becomes Xbox controller-wielding demon-child who runs away when his games are taken away from him.

Please.

Video games had nothing to do with it. I have played video games for over 15 years now and I have managed to simultaneously balance school, extracurricular activities, and a social life while getting my video gaming time in. Despite this being the case for many people, the media still seems to enjoy pointing fingers at everything other possible factor, but the responsibility clearly falls on the shoulders of the parents.

Take care of your kids, pay attention to what they are doing, and nudge them in the right direction if they stray. Is that really so hard?

Grow a back bone and stop pointing fingers, video games are harmless.

1 2

Back to top

© JonLim.ca 2013
Powered by WordPress • Themify WordPress Themes