Another year, another Global Game Jam. In the spirit of last year, the same team gathered again. This year we even had reinforcements as another member joined in. We set out to create a split-screen-co-op-top-down-platformer, which we think turned out pretty good.
As if it were a trend, we made quite a difficult game, same as last year’s “Heartless Zombie.”
In order to avoid retyping, here’s what I wrote about it on the official Game Jam site:
After my first OpenCV project which dealt with object tracking, I decided to do something a little more challenging and complex, but also more fun. I went for M&M sorting. You might have already seen this idea being realized somewhere online, I know I’ve seen a ton of different examples. However, everyone seems to have a different approach to doing it, so I figured I’ll give it a shot myself.
For those of you that want to jump straight into the action or just want to watch the pretty M&Ms fly about, you can go directly to my video showing the program execution:
If you’re interested in some more details on how the sub-parts of the project function, take a look at this video explaining things a bit better:
Finally, for those of you more into reading, and those looking for the specifics let me present the fine details of the project:
I recently started playing around with the OpenCV library and one of the first tutorials I did dealt with tracking a ball with the camera. I expanded on that concept a bit by having the camera rotate and continue tracking the ball even if it goes off screen. I did this by connecting the camera to a small servo controlled by an Arduino Uno, which receives commands from my PC via a serial connection.
The base project I used can be found here. I decided not to reinvent the wheel and used that code as a starting point so props to the author. However I did modify the code slightly and also added some more things to make it work for my project. The modification refers to changing the color model from RGB to HSV as I found out that it’s much easier to specify a tracking color by using the Hue value rather then finding a good RGB value. The additions refer to the code for serial connectivity and the Arduino instructions send via the serial connection itself.
You can see how the project ended up looking and working in this short YouTube video I made:
You may have heard of an event called The Global Game Jam. Inspired by other game jams before it, it was founded in 2008 and it had been growing ever since. However, even though the event is running for several years now, for people in Macedonia – myself included, this year was a first. When I found out that the Global Game Jam finally came to my country I couldn’t miss the opportunity to take part in it. So I did.
As I went alone, I was fortunate enough to meet 3 other guys who didn’t mind having me in their team and we really kicked it off! We divided the work among us and while some started creating the music, others began drawing objects and characters. I ended up with game-play design and programming. It was my first experience with game development and I have to say I enjoyed it quite a bit.
A while back I implemented a report system in a project I was working on where you would send a server two dates (a ‘from date’ and a ‘to date’) and it will return results between those two dates. Well yesterday I had to extend that report system for monthly reports so I figured a drop-down menu with month selection is more convenient to the user than forcing him to manually set the dates from the first of the month to the last of that same month. So I created the drop-down menu, populated it with 12 month entries and moved on to program the logic behind the change handler. This is where I ran into a small problem.
You see, under normal circumstances when working with Java I would use the Java.Util.Calendar class for this, but unfortunately this class is not emulated in GWT (not yet at least). There is a slightly less powerful class that does calendar manipulations though, and is found under com.google.gwt.user.datepicker.client.CalendarUtil. So I figured I’ll use this. I took a quick look at the methods it offers and I wrote a quick and dirty way to get the last day of a certain month.
You may have head about a great service (application) offered from Citrix called GoToAssist Express. It’s basically a Remote Desktop application which allows a user to gain control of a computer belonging to another user and do whatever needs to be done. It’s envisioned as a support application where the “visiting” user will hopefully fix issues on the “host” user’s computer.
What separates it from other “Remote Desktop” applications is how extremely easy it is to use. I’ve personally spent so much time teaching people how to perform a necessary port-forward to get VNC running, that I could have “fixed” 3 computers in the meantime. GoToAssist Express is installed in just a click or two so even the most computer illiterate people can do it in a flash.
If you want to try this service for yourself go and register for a free trial at http://www.gotoassist.com/hak5 (the hak5 part is just my own way of showing my gratitude towards the guys and gals over at Hak5 (be sure to check the show out if you haven’t already)). But anyway, enough free advertising, I wanted to talk about something else.
If you are using this service, or if you plan on using it in the future you will stumble upon the “Unattended Support” feature. What this enables is for the support representative to access a client’s computer without bothering the client to accept all sorts of prompts that will enable him to do it. After enabling this feature, a user can enter a certain machine at any time without bothering anyone about anything. The only prerequisite is that the machine is on/online.
Well I was “fixing” my mother’s computer remotely a few days ago, and realized I have to go out for a while and come back to it later. Naturally, I remembered the “Unattended Support” feature and went on to set it up. Unfortunately, my mother was out as well so she wasn’t able to accept the prompts necessary to install the feature. You see, when you send an “Unattended Support” request to a user, you end up with the following prompt:
It is at this point that you need a person on the other side to complete the form and allow access. But since I didn’t have this person available I decided to automate the process using a very small VB Script which I thought I might share with anyone that has ran (or may run) into the same situation. Two versions of the script exist depending on whether you want to use the windows password as the prompt suggests, or you just want to have Unattended Access and type in the user password upon acquiring a Remote Connection.