Resurrected Entertainment

Archive for December, 2007

Eternal Sonata

December 19, 2007

So, my wife and I have been playing Eternal Sonata off and on for a few days now, and it truly is a beautiful game. The detail is high and colours are vibrant and rich (especially on a high-definition television). The voice acting… is OK. With the exception of one or two characters, the voice talent won’t cause you to cup your hands over your ears. I find  adult voice actors who try to sound like children to be simply awful. They don’t sound like children, first of all, and their voices seem to be coated in a sugary, sweet syrup. That last comment really has more to do with the dialog in the story, which is extremely simplistic so far. We haven’t found the game to be terribly interesting or engaging, unlike Tales of Symphonia which was probably one of the best games we have ever played. We will continue playing the game until the pace picks up or it simply fails to hold our interest.

Too Much for a Blanket?

December 13, 2007

Imagine. You’re sitting by the fire place, playing the latest game on your big screen television. Beer on one side, your beautiful wife on the other, and both of you are wrapped in a warm, soft blanket with your favourite shooter of all time stitched lovingly to the front.

Too much for a blanket? I think not.

QBasic

December 5, 2007

QBasic EnvironmentWhen I mention QBasic to some people, they immediately think I’m talking about Quick BASIC. The two products, however, are a little different. They were both created by Microsoft but Quick BASIC is basically a super set of QBasic. QBasic has an interpreter and an editor built as one package; I hesitate to call it an IDE since your projects could only use one module at a time. It was also limited in the amount of memory available to the program and the amount of memory available to the editor. I experienced the latter problem only once while creating a game involving viruses and robots (I didn’t get around to naming it); the editor just started losing lines of code I had written and was behaving eradically. Eventually, I became frustrated and moved on to other and presumably smaller projects.

QBasic made its first appearance with MS-DOS 5.0. It came with a few example programs and games. One of these games was called Nibble. I love this simple game, even to this day. It’s a little similar to games like Centipede, although the game itself is far too simple to make a reasonable comparison. The goal for each level is to gobble up the numbers that appear in random locations. Each time one of those numbers gets consumed, your “snake” grows a little longer. You have to avoid running into the walls of the level, which get more complicated as you progress, and you must not run into yourself. As you attain higher levels, your snake becomes faster and faster. This game was never synchronized with the system clock, so if you play the game on a machine made today, it would move around so quickly as to render the game unplayable.

I have often thought a game like Nibbles would make an excellent game to practice your porting skills on other platforms. It is sufficiently interesting to make the project worthwhile and could be adapted to play well using almost any input device. It could also be rendered using a simple text mode, just like the QBasic version, or you could enhance it in a graphics mode using imagery, vector graphics, etc.

QBasic also introduced the concept of functions and other forms of structured programming. GW-BASIC could only remember and execute your program if each line was prefixed by a number, or right away if you are using instructions in immediate mode. As you added and removed lines from your code, there were a couple of functions to reorder or renumber your line numbers when you ran out of room.

The concept of a function didn’t really exist in GW-BASIC; instead, it allowed you to jump to a particular line number using commands like GOTO or GOSUB. The latter was more like a function since you could jump to a specific region of code and then return from that function when the code had finished. GW-BASIC also supported one line functions which were handy for calculations. Although QBasic could still use line numbers, it encouraged the use of named labels for functions instead. Despite my work with Amiga’s BASIC, I still preferred the old way since I had been doing it for so long. It took me a while to adjust to the new program structure at first, so I purchased a new QBasic book after upgrading and essentially dove in head first.

Interrupts would become increasingly important for me in the future, but at this time I knew little about them. QBasic had no direct interface for handling interrupts, but it could handle interrupts used by the system’s timer:

ON TIMER(n) GOSUB MySubRoutine

Having no functionality to manipulate interrupts meant there were no functions to gather information about input devices like the mouse. Despite this seemingly major failing, all was not lost. While it could not handle input from the mouse directly, you could make use of a machine code sub-routine which could get the information you needed, like position and button states. You could use techniques like this to gather information from other devices.

QBasic also introduced me to one of the greatest time saving features ever created: the debugger. A debugger can be a separate program or feature within an IDE which allows you to trace through your program and examine variables and addressable data as the software executes. One of the core features of a debugger would be the ability to set a break-point at a specific addressable location that corresponds to a precise line within your source code. Before debugging, I was tracing through my program by hand and using PRINT commands to dump the contents of a variable. Even today, there are professional programmers who don’t use a debugger, either by choice or lack thereof, and choose to examine how there software operates by sending information to a log file or an output stream of some sort.

2D Boy’s Upcoming Game

The World of Goo has a tentative release date of February 14 or Valentine’s Day, whichever comes first. This game looks interesting, although there aren’t very many details. The video kind of fills in some of the void, but I certainly like what I’ve seen so far! Indie (independent developers) developers have been having a great time these last couple of years. Due largely to the sales channels created by companies like Microsoft for their Xbox 360 Marketplace, or even Nintendo’s Wii – although they haven’t seemed to really use it to its full potential yet. As a company of two, Ron and Kyle seem to be creating something unique and interesting. I can’t wait to try it! Maybe I’ll put my money where my mouth is and pre-pay for an indie game which hasn’t been released yet…

Crayon Physics Deluxe

December 4, 2007

There is a game in development right now which can take objects drawn with “Crayons” on screen and apply physical properties to that object. Influences like gravity, collision with other objects, friction are all applied once the object is drawn. You can even draw a a small hole on the object which can represent axial mobility. For example, draw a circle with a small hole in the center and it can act as a wheel, connect two wheels together with the frame of a car and it becomes a car. The object of the game seems to be about collecting stars by drawing objects and getting them to interact together so that the stars can be collected. Pretty neat idea!