Global Game Jam 2016


That is a hashtag that trended in Canada for a little while last week – and I’m glad to say I was a part of it.

Last weekend, the Global Game Jam took place. The way it works is that at 5pm Friday (for every jam, timezone dependent), a theme is announced. You have 48 hours (5pm Sunday) to create a game that fits the theme. This can be done in teams or individually. The game jams are also set up at dedicated sites – there is no doing game jams from home. My team went to George Brown College in Toronto.

This was my first game jam. I went with my capstone group from college, otherwise known as Robot Monocle. We also had a team mate’s relative join us and do our music and sound. Together, we were Team Excelsior Techtronics, and we made a game called Insular.

Friday, at 6pm, everyone was in a room together and they showed us the Global Game Jam 2016 introduction video. At the very end of the video, the theme was announced. “Ritual”. As soon as it was announced, the hundreds of people in the room immediately broke out in conversation. The organizers quickly quelled the conversations and gave us a bit of information.

First, do not put the theme on social media, due to the time zones that did not hear it yet. Second, the designated floors are the fifth and sixth floors, and there are signs with team names set up in the rooms, so we need to find our team locations.

My team’s location was on the sixth floor. The computers provided were Macs with the option to dual-boot into Windows – which our team did. We quickly got our environment set up and began the toughest part of the jam: coming up with a game idea and the tools to create it.

We created a Google Drive document to brainstorm a bunch of ideas. We iteratively got closer and closer to where we wanted to be. We eventually decided upon having the player suddenly be on an island, and having until midnight before everything resets. Before reducing our scope, we thought it would be neat to include a bunch of hints and certain things to do throughout the day until the end goal was reached… That way the player would develop a sort of “ritual” of things to do as each day goes by. Unfortunately, 48 hours isn’t nearly enough time to do something so elaborate. In the end, we got three rituals that need to be completed before a portal is lit up and you walk through… and the game exits. Congratulations! You managed to escape the game!

We decided to develop the game with Unity. None of us really knew how it worked except for an assignment we did in college, so much of the weekend was spent learning how the tool worked rather than pure content creation. Nevertheless, I’d say the weekend was quite a success. I hadn’t had this much fun programming in a very long time. I got to create some really neat functionality. For example, I created a time controller that was responsible for keeping track of the time of day – but it also supported having a list of time-triggered events through an implementation like the observer design pattern. Essentially, it was a list of objects containing a condition (a Func<bool>) and an action (Action). Any other class that wanted a time-triggered event could easily add one to the list.

I also implemented a neat generic ritual queue base class that supports a queue of GameObjects (which is the base class for all Unity game objects). The first sample ritual was circling a tree – which involved touching three invisible triggers. Each time you would hit one of the triggers, it would send itself to a central ritual controller and add it to the queue. Once the queue is filled, it cycles older items and calls a function to see if the condition has succeeded. For the tree-circling ritual, for example, it looped through the queue (which contained only the last three triggers) and ensured they were in the correct order. While this ritual was removed, a similar one was added with seven triggers.

All of this code is on GitHub at this repository. If for some reason you’re interested in seeing only my commits (which, might I say, has the coolest code), click this link. All of the code is in the Assets/Scripts folder. The Audio folder contains audio management scripts, which make use of the Observer-style pattern time controller. The Ritual folder contains all of the code needed to perform the rituals and to win the game. Outside of these folders include the time controller and various other useful scripts, such as the game reset at midnight, the player drowning, and the code responsible for moving the sun.

We also used Pivotal Tracker to keep track of the tasks needed to be done. It’s public and can be seen here. Be sure to click the Done link on the left to see all of the tasks.

After such a pleasant experience, I do hope to participate in the Global Game Jam next year! A big thanks to the organizers at George Brown College!


First Game: Tile Flipping?

As promised in the previous post, this is the first of many project starters.

I must admit that I have already done some work on it. For a project, it has been incredibly easy so far. However, I’ll leave the post-creation analysis for after I’m completely finished. For now, I’ll give a brief overview of the project and what my intentions were when I started it.

I don’t know if I’ll ever take the effort to give proper names for the game projects (though if I’m hit with inspiration I’m sure I’ll use whatever great names I come up with). In the meantime, my first project is extremely simple and therefore suitably has a very simple name: Tile Flipping.

Why did I choose something so simple? Perhaps it was out of an act of desperation: I did not want to have any excuse to procrastinate any further. It is difficult to start and to work on a project when so many other things are begging for attention. Anime, World of Warcraft (with its awesome new expansion), learning Japanese, reading… There are a lot of interesting things to do but only a finite amount of time. Therefore, priorities need to be in place. Knowing my tendencies to jump onto something with instant gratification, I decided to prevent myself from procrastinating any longer and to get myself started as soon as possible. I knew that if I took too much time to come up with something fun, I’d get lost in the many possibilities and end up putting it off. I’m sure this will resonate with some of you.

Therefore, I picked the first and easiest thing that came to mind: a tile flipping game. One of those where you click a tile and its surrounding tiles flip, in which the goal is to get all the tiles facing the same way. I didn’t want to get stuck on choosing which language I was going to use (yet another place I could have so easily procrastinated) so I chose the quickest and dirtiest tool for the job: HTML and JavaScript.

Having such a simple first project also gives me the opportunity to come up with an interesting second project. I haven’t set any time limits for myself but I want to get the ball rolling and so I’ve been brainstorming for multiple games to follow. I’ve had a few good ideas floating so I’ll come up with something interesting and worthwhile to take the time to complete. My goal with these games is to learn and to improve myself in creating and delivering games.

Though I don’t have much to offer in terms of games for this project, I hope even one person reads this and decides to step out of their procrastination cycle. It’s very easy to read motivating articles and surf /r/gamedev all day but time’s ticking and no experience is had being passive. If you feel the same way, take this opportunity to come up with something. Anything. A tiny game such as a tile flipping game – anything to get your foot in the door. Get started.

Well, this turned into a rant. If this has inspired any of you, now or years from now, please comment here so that others can also see and get motivated.

My future blog posts won’t be so preachy! Hopefully the next blog post you see (and soon) is a nice postmortem post about the tile flipping game (and a link to try it out). Around that time I will also announce my next project which will hopefully be a lot more interesting! Stay tuned!

Once again, thank you for reading, and make sure to check out my Twitter! @zalgryth


Future in Game Development and Blog Resurrection

As you may have noticed, this blog has been dormant for quite some time. This has been partly due to not wanting to bury the EE Artist post, though with a bit of effort I could have found a way to pin it or something. The other reason is quite obvious: because I haven’t had anything interesting to write about. Looking at the past collection of posts, I had made it clear that this blog had no goal and that posts were simply an attempt to entertain and to practice my writing (though in the end I did not get a whole lot of practice). But I do enjoy writing and I will admit I am a little happy to be writing this and glad that I found a new topic that I can blog about. I know most of you are probably thinking, “Get on with it!”

A quick sidenote for those of you who know what I’m referring to when I say “pls cod”… pls cod was a project I started with the help of fellow players and enthusiasts. It was definitely an interesting project and I would still be more than happy to complete it and to see its results. However, what I’m saying here will come as no surprise since I have not touched or mentioned it in months: I am putting pls cod on official hiatus. I have not given up on it – it is a very interesting game and project overall. However, it is quite an undertaking and I feel like I bit off more than I can chew. I may be quite experienced in programming but I’m very much a newbie when it comes to game development. For that reason, I have decided to stop the endless procrastination and officially allow myself to work on other games for the time being.

I am going to be following advice that has been said by many different game developers. I will be focusing on creating a series of small, complete games. I won’t be making them weekly like the article suggests – I won’t give myself time limits. But I will be making the scope small enough that they could be made in a week or two. I have already started on the first one and I have a couple ideas floating for the next few coming up.

Whenever I start and end a project, I will post about it here. I will post about what I hope to accomplish and what my expectations are when I start a new project. When I finish, I will post about what I learned, what I should have done differently, etc. Essentially a postmortem. With it will be a link to play or download the game. It is my hope that this will get the metaphorical ball rolling and that I can start my career in the game development world.

I’ll leave it at this for now. I will post the “start of project” post when I get the chance (probably tomorrow evening).


P.S. Be sure to check out my Twitter account: @zalgryth


EE Artist FAQ

I’m in a bit of a hurry so I’ll edit if anything needs it later.

I’ve received a lot of questions about why it doesn’t work sometimes. I’ll answer the most common questions here.

It says invalid user, pass or worldID.

First thing you need to know is that this doesn’t support Facebook or Kongregate login at this time. When you enter your email and password for Everybody Edits, make sure to not include any spaces before or after any of the text in any box. For world ID, do not put the entire link! Make sure to put the part that starts with “PW” and ends with “0I”.

It crashes and there are no helpful error messages.

Make sure all the files are extracted in the same folder. There should be EEArtist.exe, PlayerIOClient.dll, readme.txt, and a folder called includes with two images and two text files. Make sure you do not run it from inside the .zip folder!

.NET Framework error

All I can tell you for this is to Google the version it gives you. I’ll be updating the bot sometime soon and I’ll see what I can do to fix this  problem for people.

Sorry, this is all the time I have right now. If you have any more concerns or problems, please leave comments here. I try to check them once in a while.


EE Artist – Current Release

Download link: EE Artist v1.01

Hey guys,

First of all, I sincerely apologize for taking the download down last night. I understand many of you were looking forward to it, so I am very sorry. Please let me explain why I did so.

Last night, I found out about C# decompilation the hard way. I was under the assumption that the steps I followed would have prevented this from happening, but I was clearly wrong. Shortly after being uploaded, it was decompiled, so many people could easily see exactly how the bot was built.

That reason alone is not why I panicked, though. I added some security measures so that I or EverybodyEdits admins could shut down a bot. This was to prevent abuse. Unfortunately, with this development, it is possible for skilled people to remove these safety features. This made me quite nervous!

I will be re-uploading it though. And it won’t be protected from decompilation. The reason for this is that I understand people’s scepticism in putting in their EverybodyEdits email and password in a strange program. My hope in putting this program up this way is for those skilled programmers to confirm that your login information is safe with my program. If you don’t feel safe, feel free to ask anybody who has looked at the code. Of course, you could just not use my program if you’re worried about it. Important: Since my source code was available, it is possible for someone else to make a version of EE Artist that can steal your information. Don’t trust any EEArtist programs from other websites than this one.

On a brighter note, I updated it to include a speed button. I became aware that some people’s bots would leave while uploading a picture… So I added a speed option. If the bot disconnects or has problems, try using a higher number.

Sorry for the delay, and thank you all very much for your patience.

Edit: Moved the download link up top and made it giant.

EE Artist v1.0

EE Artist Release

Hey guys!

The much-anticipated EE Artist has now been released.

Important: Right now there is no choice as to which blocks you can use. It automatically uses all blocks, so if you don’t have them all, it will leave a lot of black gaps. I intend on adding the block options very soon. I apologize for the inconvenience.

Download down for now. Sorry!

Download link: EE Artist


E3: Wii U

Wii U

It’s been officially announced! The next gen Wii we’ve been hearing rumours about has finally be unveiled at E3. Named the Wii U (quite an odd name), it will feature HD graphics like its next-gen counterparts. However, the real innovation is in its controller. The controller will have a touch screen, two analog sticks, a D-pad, the usual ABYX, LR, and an added ZL and ZR. Information can be found at these locations:

The second link also contains links to images and videos on YouTube.

I have high hopes for Nintendo and their new console. I certainly hope they don’t disappoint!


Learning Japanese

You may be wondering why I want to learn Japanese. You might conclude that, since I watch and love anime, I want to learn Japanese because of anime. INCORRECT!

What some of you may not know about me is that I love languages. My first language was French and I started learning my first words of English in Kindergarten (when I was 5 years old). Ever since, I’ve had a fondness for learning new languages. When given the opportunity in high school, I took a German class. German was never on my list of languages to learn since it’s not extremely relevant to my life. I did love that class nonetheless because I get a satisfaction in knowing I can carry on basic conversations in a language I’ve never conversed in before.

For more information about why I believe learning languages is something everyone should do and to see a few links I’ve gathered over the Internet in my pursuit to learn Japanese, please click on “continue reading” or the title of this post. Continue reading


EE Artist

EE Artist program

EE Artist is a program I built in a few days to use with the game Everybody Edits. It takes in an image and spits out a packet list to use in WPE Pro to send blocks to a world in-game. It finds the block with the closest colour to the original in the image and places it in the world to recreate the image on the minimap. In the few worlds I’ve used it, it was very well received. It did its job very quickly and efficiently. However, I’m afraid I have bad news for those of you looking forward to this program.

It will be postponed for an undetermined length of time. I apologize to all those who are looking forward to it. It currently has no interface and I’m unsure how to go about adding one at this point. To be frank, I’m uninterested in the hassle right now. I’ve learned what I wanted to learn from this project. That is, I am now fully able to read in bitmaps and understand its contents. If you really want to use a program to draw for you, there is already a nice one also available for free called EE Animator.

If you’d like to learn more about the inner workings of my program, please click on the link to continue reading.

Continue reading