Feb 08

Saturn Valley Online development

Over the course of about five years I’ve been working together with a couple of people from allover the world on a small mmorpg-like fangame based on a Super Nintendo game called Earthbound. It was never released in Europe but don’t ask me how I managed to find out about it at age six (about 16 years ago now), just as quite a lot of other people I was amazed by its simplicity in graphics but complex intriguing storyline and characters.

At some point I came across video game engines and ‘game makers’ and being a video game fan for as long as I can remember I couldn’t resist the chance to (re)build some of the games I enjoyed. A few years before I even had the idea of an Earthbound fangame I was messing around with the Playerworlds engine and Shining Force 2 content. Unfortunately Bowie Online as I called it never say the day of light when other people took over and development ceased.

But I didn’t give up! At that time I was replaying Earthbound and thought it’d be cool to try and make an Earthbound-themed game. I started out with Playerworlds again, quickly switching to Eclipse, Mirage, and a bunch of other game makers / engines. Amazingly even without a released version there were a bunch of people who were very enthusiastic about this.

In 2007-2008ish we had a small team of about four people who were working on Saturn Valley Online, using the vbGORE engine made by Spodi. At that time it seemed by far the best engine out there for us to use. On May 1st 2008 we released our first public version of the game, I remember the server crashing every five minutes but having 30+ people online simultaneously was really something back then!

Some stuff was added over the years we’ve used vbGORE, however there were months we didn’t touch the code at all, being occupied by more important matters (life, school, …). Then in 2010 Spodi released his successor to vbGORE called Netgore. An engine made in C# which was a huge leap forward. We ported SVO to this engine but our interest faded and the project was dormant for about a year.

Fast forward to November 2011, Darkfrost and I were talking about SVO and the ‘good old times’ (the oldtimers surely remember “The Stump”). So we decided to reboot the project and see how far we can get. Again, fast forward to present day, Darkfrost has been coding an Earthbound-like battle system. It hasn’t been an easy feat though, using PK Hack and his skills learnt through Game Dev courses at the university he’s attending the battle system is slowely but surely coming together.

During all this, we have changed physical servers for three times. Keeping downtime to a minimum these days however today the server’s harddisk decided to throw in the towel. Luckily we have an SVN repository and keep code and database backups on our own laptops. I always wanted to get SVO onto a virtual private server in the US so latency would be very low for the most of the players. Unfortunately VPS cost a lot of money and although we’ve had donations in the past it’s not feasible to get one at the moment.

With all the troubles we’ve had over all these years we really don’t want to kill off SVO just yet so I’m planning on buying a new harddrive and cloning the faulty one so we can continue having a decent amount of SVO server uptime.

After about five years it seems we haven’t made too much progress but keeping in mind the engine switches which brought redoing almost all stuff with them and the ‘dead months’ where no development was done we’re closing in to a point where SVO can almost be called a real game rather than a glorified Earthbound-themed chatbox.

Apr 12

Motion Controlled Maze Puzzle

Every semester at GroupT there are “Engineering Experience” projects. Last semester I was part of the team who made the MuzaBot. But this time it was more serious. Designing our own PCB, selecting electronic components and reading lots and lots of datasheets gathering information we needed for our somewhat ambitious project.

The assignment was pretty simple: Design a competitive game with any electronics you like (but no LED matrices).

Pretty easy to come up with an idea, right? Wrong! A lot of people went with cliché stuff but, as always, we wanted something more. After some  brainstorming we got our proposal approved, we were going to build a Motion Controlled Laser Maze Puzzle. In the end it boils down to this:
You are given a Wiimote with a custom accelerometer,  and you wave around in the X-axis to spin a steppermotor which turns the angle of a mirror, likewise for the Z-axis. These mirrors deflect a laser beam, the purpose of the game is to guide the laser beam into a sensor which will defuse a bomb.
To make it somewhat more like a game, the bomb has a timer, so you have to be relatively quick or it’s game over. We’ve also added a moving wall which can obstruct a possible path of the laser beam, however, you can counter this by blowing into a mic.

There are three game difficulties:
Easy: wall doesn’t move
Normal: wall moves at certain intervals
Hard: wall moves at certain intervals and your controls get inversed at times.

That’s the idea for the game, the actual implementation was done with a PIC microprocessor (2553), software was written using C18 and the maze was milled and carved out of a wooden block.

The Wiimote controller

Wiimote disassembled
Wiimote disassembled

We opted to use a Wiimote because many people recognize it as a motion sensing controller. As we had no interest to use its bluetooth capabilities so we threw out most of the electronics and replaced the connectivity with a good old RJ-45 jack and an ethernet cable.

We ordered a Wiimote at DealExtreme which costed only $12 and started to take it apart.

The PCBs

Not much to say here, we had to use Eagle to design the  boards. Most schematics were pre-made for us (e.g. the mic pre-amp) so the most time went into making the actual pcb design. Even after countless of hours it’s probably below average quality but then again we haven’t had classes yet on how to create one.

"Main" pcb
“Main” pcb

Mic pre-amp
Mic pre-amp

These are the designs we came up with after several hours of trying different layouts. Both PCBs will be connected with a header to form one board, we had to split them up for money reasons as they’re ordered at some factory.


Software

Using MPLab to compile our code, sure, but don’t ask me to code in their IDE. For someone who’s used to Visual Studio this is a huge leap backwards. Luckily MPLab supports external editors which I set to PSPad which at least supports tabs.

As for the programming, luckily I had a C class this semester as well that has thought me a bit about coding in a procedural language (Visual Basic 6 has been way too long ago) rather than C# or Java. We spent some time structuring the code in several header and c files. The code will be posted in the next update.

Progress

That’s what we’ve got so far, after the Easter Holidays we get our PCB and components. We then have two to three weeks to get everything working, which shouldn’t be too much of a problem.

Aug 09

Train your brain and teamwork skills

A friend of mine sent me a link to a very interesting site. It’s a game you play with four people called Officer Training. The purpose is to survive as long as possible by solving puzzles. Each time you solve one, your neighbour gets additional “life points”.

These games are good for your brain as they need you to focus, remember colors, shapes and numbers. Recognize three 6’s in a block of 9s and vice versa, …

The “click the number” game after each “stage” is usually the bottleneck since it might not be clear to everyone what you have to do there. If you don’t want to play with people you don’t know (it randomly links you up) you can alwyas make a private team.

I’ve just played another round but as I said people were losing a lot of time on the number clicking level. My record last night was 5 minutes and 20 seconds. Here’s the result of the game I just played:

Officer Training Results

Officer Training Results