NorthStar: Intro to Pathfinding around Irregular Polygons

July 23rd, 2008 by Christopher J. Rock

NorthStar is my new pathfinder for use with arbitrary, irregular polygons. CHECK IT OUT. Drag around the green and red circles. The green one is used as the start point and the red is the end

A couple months ago I decided I would begin working toward my long time dream of producing a real-time strategy game. I actually finished NorthStar and had this written a few weeks later, but I’m only posting now because I’ve been hard at work with the rest of the game! Now working on unit logic along with a new Sokay project (more on that later) and editing a new film (later still), so I been a little busy. Expect Demos.

I planned on basing the RTS engine on some of my previous work with physics (perhaps that sounds strange, but it makes sense). Step one was coming up with a pathfinder.

(more…)


My Papervision Demo

June 8th, 2008 by Bryson Whiteman

This is my first public Papervision demo. I’m experimenting with some techniques for the next Sokay game. This is also the debut of the main character for the game, designed by Ricky Enriquez. Check out the demo.


My Papervision Demo

This scene is composed of 4 planes — the cop, the sidewalk, the shop, and the city. I positioned them within the scene with code. The animation is handled with code as well. I’m using Tweener to move the cop left and right, as well as his jump animation. The camera is targeting the cop.

I’m going to keep playing with this. I want to push it further by adding some movement to the rest of the scene, perhaps tweaking the rotation of the buildings as the camera moves.

If you’re looking to start with Papervision, there are some excellent video tutorials at gotoandlearn.com that’ll help you get started.


The Submariner Trailer

May 12th, 2008 by Christopher J. Rock

Two new films up. The Submariner and The Noise.

This is a trailer for my thesis film at CSULB. Its my latest work and will be completed over this next summer. You can watch it in full screen and at a higher resolution at YouTube.

I’m taking a lot inspiration from Soviet propaganda filmmaker Sergei Eisenstein.

Shooting started at the end of last semester when we did all of the live action footage, then miniatures and effect shots were done in April. Now I have many hours to spend editing and scoring the whole thing. It’ll add up to a great lot of sweat, but definitely worth it. (more…)


Liberty Engine Update: Running Clean

April 17th, 2008 by Christopher J. Rock

LE screen 1

It’s been a while since I updated on the old Liberty Engine so here it is with a lot more polish than the last demo. You still can’t modify the objects or forces just yet, but I sharpened up everything else. It’s running much more efficiently, with stats, an improved console and new keyboard commands. It also includes a “Help” button that will explain all of its functions on mouse-over.

Here is a swf copy as well as an exe. I haven’t seen much of a performance difference between the two:

The default “memory” setting is 60 seconds, so if you play more than 60 seconds it will begin deleting old data. This is meant to prevent the program from filling your computers memory and lagging or crashing. However, you can set the memory value to Infinity and see how much you can hold without slowdown. I found a loss of about 2 or 3 fps with 1 hour of data. I average about 6 or 7 calculated seconds per actual second (Scalc/S) so you should be able to set the rate of time passage to as high as 6 without playback time ever passing up calculation time. But play around with it and let me know how it runs on your machine. I could use the feedback!

With your time rate set to 6, you can get through an hour of simulation in 10 minutes.

(more…)


Robot Music IV: Scales of the World

April 8th, 2008 by Christopher J. Rock

Series: Robot Music I, Robot Music II: Modes, Robot Music III: The Circle of Fifths, Robot Music IV: Scales of the World

Robot Music Logo - Circle of Fifths

So far everything has been derived from the Major Scale, but now I have some new scales to introduce. These are foreign and exotic scales with fascinating new sounds!

After RM1 as a proof of concept, RM2 introduced the Major modes and RM3 explained how they work. Now RM4 will introduce new scales and–guess what?–RM5 will explain how they work. This episode also includes a bit more information on chords.

TO THE SCALES!

(more…)


Robot Music III: The Circle of Fifths

March 18th, 2008 by Christopher J. Rock

Series: Robot Music I, Robot Music II: Modes, Robot Music III: The Circle of Fifths, Robot Music IV: Scales of the World

Robot Music Logo - Circle of Fifths

New logo baby.

Robot Music I proved that a pleasing song can be randomly generated under the right guidelines. Those guidelines stuck to a 4/4 rhythm and the C Major Pentatonic Scale.

Robot Music II proved that the C key could be replaced with any other (changing the root). It also showed that the Major Pentatonic Scale (5 notes) could be expanded to the Major Scale (7 notes) without harming our method. And most importantly, this section covered modes and demonstrated that shifting a song’s mode can significantly change its tone. Knowing that the tone can be changed, how can we control it?

Robot Music III introduces the Circle of Fifths. It is a basic musical tool that will help us predict the impact of a mode of the Major Scale. With it, our Robot can place notes along 2 dimensions (Consonance vs. Dissonance, Dominance vs. Sub-Dominance) and estimate the emotional impact of a note according to an arbitrary algorithm based on personal tastes.

This installment is the first to go into the perception of music. To begin, we must discuss aural perception and some musical fundamentals. That technical information will be related to our previous musical concepts by the use of the Circle of Fifths. And finally, a demonstration of mode relationships and some discussion of their popular uses.

You probably already know some of this, so I’ll try to move fast.

(more…)


Robot Music II: Modes

March 1st, 2008 by Christopher J. Rock

Close Up Die

Series: Robot Music I, Robot Music II: Modes, Robot Music III: The Circle of Fifths, Robot Music IV: Scales of the World

It’s been a long while, but response to the last music post was enough to get me revved up again. Now it’s time to continue with the Robot Music series on procedurally written music.

I wanted this tutorial to be simple, but educational enough that if you wanted to study more, you would know where to look. For that reason, there is a lot of music vocabulary in here. I’ve done my best to explain each term as it comes up, but if any remain confusing, don’t hesitate to look them up elsewhere or even skip them. You can probably forget all of the fancy words and still understand the important concepts being discussed.

In the last session we rolled a die to generate riffs in a Major Pentatonic Scale. Sticking to that one scale limits the sound of your music a lot, so now we’ll mix up our technique by exploring modes. We’ll be replacing the Major Pentatonic Scale with the full Major Scale. The pentatonic only has 5 notes, while the entire Major Scale has 7. Those last two notes can be seen as bothersome* which is why they were left out last time.

Most people’s first musical revelation is the amazing power of switching between a Major scale and a Minor scale. It’s often generalized that when a song is in the Major scale it sounds happy and when it’s in a Minor scale it sounds sad. That is the effect we will be looking into to change the emotional impact of robot songs.

(more…)


The Liberty Engine: Puttin my circles where my mouth is

January 17th, 2008 by Christopher J. Rock

Update: The Liberty Engine: Running Clean

I’ve been all damn talk for too long. Ladies and gentlemen, I give you, the Liberty Engine Demo!

Liberty Engine demo 1

CONTROLS:

-Click the scrolling play button (or press space) to pause the animation.

-”In” and “Out” values determine number of seconds into the animation that the loop will begin and end.

-”Rate” determines the speed at which time will pass (seconds per second).

-”Duration” is the duration of the loop. If modified, it will automatically change the “Out” value.

-All forces in the system are set to enact at the 10 second mark and all calculations end at the 30 second mark.

Aside from the animation controls, this is not an interactive demo. Interactivity will probably be in the next one, but this demonstrates all of the engine principles. You’ll notice a slight lag period just as the swf loads. That’s because it is calculating all of the physics for the entire animation during the first frame. It saves all of that data and then replays it based on the passage of time. That’s why you can scroll back and forth or play at different rates (super slow-motion or fast-forward). The animation is actually set to 40fps, but I guarantee your browser can’t keep up with that speed. Fortunately, because the engine is time based rather than frame based, dropped frames do not effect the rate of movement. Oh, and by the way this is in AS2. I’ll translate it to AS3 later.

I haven’t mentioned the Liberty Engine up here very much, but it’s been a project of mine for over a year now. The concept behind the Liberty Engine is to create a physics engine that ANYONE can use; to liberate the thousands of young game developers without the programming or mathematical know-how to build the kind of games they dream of and provide it for public use free of charge. I hope, with a powerful and easy-to-use engine like this one, to foster a serious indie gaming movement at the grassroots level.

(more…)


New Sokay Game

October 19th, 2007 by Bryson Whiteman

I’ve been putting some work into a new game in the past few weeks. It’s a game that takes place within the Thugjacker world. You’re not playing as Deebone, as you might expect. Instead you play as a rogue police officer with his mind set on one thing. Donuts. Donuts falling from the sky.

Donut BG

This is a background sketch I drew for the game. I’m vectorizing it now and shall paint it after I’m finished with that. As usual, I’m doing the programming and background design with this game. Ricky’s working on some character designs so he should be passing them my way soon.

As anyone who’s played any of our games before should know, this game’s gonna be a bit different. Good times :)


Robot Music

July 25th, 2007 by Christopher J. Rock

Series: Robot Music I, Robot Music II: Modes, Robot Music III: The Circle of Fifths, Robot Music IV: Scales of the World

(This post features the hip guitar stylings of none other than ME! I’ll play some real life, randomly generated, Robot Music! The link is at the end.)

Close Up DieI’ve wanted to see more procedural music in games for a long time, but the most we see are pretty sorry attempts. I’m not just talking about “shifting volume on pre-recorded riffs” procedural, I mean “the game is writing its own live soundtrack” procedural.

“But Chris, that doesn’t even happen on consoles! We can’t do it in flash, no way!” Sounds difficult or even impossible, but it isn’t. The only problem is it takes an understanding of tricky programming concepts and tricky musical concepts. Without programmers that also study music theory, we just don’t see procedurally written music.

Well, I’d like to help change that. I know a thing or two about music and a thing or two about programming so in this article I’m going to do my best to tip off any programmers interested in putting together a simple music generator. Today’s generator won’t be truly procedural, but it’ll start things off in that direction.

And if you play a little music, but don’t know how to write a song, maybe this article can help you out too.

(more…)