The Small Engine. The Xbox

Today marked our first “play test” of our small little engine. After spending an hour or so plodding through Microsoft’s rules for developing a project onto the Xbox 360, the project finally showed up on the big screen. Everyone was very excited for about 2 seconds before the heart stopping lag kicked us in the chest. We pulled out a lot of the game world and eventually the project started to run with out lag. Then people started breaking the system, which is the point of a play test. The longer the play sessions went on without a crash, the slower and slower the game out. After a little while, it would be chugging along trying to keep up with people’s insane lust for flying around at warp 9 blowing stuff apart. We found a lot of bugs. But we also had a lot of fun!

The main thing to worry about is definitely the lag, although we have some ideas on how to get rid of some of it. There were some fun physics glitches that caused objects to go flying off into oblivion which single handeldly destroyed the music code aswell as the camera tracking code. And then there was a slew of other minor things like being able to shoot oneself and having a controller that would vibrate until the end of time. Like I said, minor things.

Despite the upsetting amount of lag and the barrage of glitches and bugs, it was a fun day and definitely a step in the right direction.

Posted in Uncategorized | Leave a comment

The Small Engine. Music

I’ve been working on some audio code to give the small engine a nice little one up on common music systems. Maybe a lot of games do this and I just don’t notice, but I was inspired by one of Introversion updates to make a nice audio system that would allow us to change the feel of the game on the fly. Here is how the system works, instead of the audio composer giving the programmer one audio file to play, he gives him one for every instrument. The system then plays all the instruments at once so they all sync up with one another and sound like a normal song. However, because they are all each different tracks, the game can adjust different features of each track in-game such as volume, frequency or pitch. The combination of swapping around different effects can really change the mood of a scene. See for yourself in this video.

YouTube Preview Image

The audio is tied loosely to the visual effects going on in the video, but I didn’t make the link easy to see. It might be easier to see the awesomeness of the audio system if you look at this video from Introversion’s audio.

This is the same song but with no visual and different effect changing. Audio Testing

Next on the line up is working the kinematics of the physics testing back into the nice graphics. With the new SAT Collision I think the process will go over better than before. The first problem I’ve run into is SAT’s inability to return a point of collision which is important for the correct physics response. I think I found a way around it, but I shall have to report back later on this matter.

Posted in Uncategorized | Leave a comment

The Small Engine. Looks

The physics stuff in the last post started to fall apart, and the reason for that was their 2D collision code. Their collision code was, more than awful. That inspired me to find a better way. And that inspired me to write an entire new shape class. And as I looked into the matter, I found that not only was the old collision bad, but that everything was bad. And of course that inspired me to re-write the entire darned thing. But that was a good thing, because the results have been fantastic.

This video shows off the new Shape class. Unfortunately, fraps decided to go bust half way through the recording process, so I don’t have as much footage as I would have liked. But within this youtube video, there is some neat stuff. Other than simple operations, there is some great bloom, blur, motion blur, and desaturation. The shapes are made up of vertices, and the program gets full control over them, allowing for vertex manipulation, which I’m sure will be useful at some point! The big thing that the video never gets around to showcasing is the implementation of SAT, or Separating Axis Theorem. SAT is the new collision code, and it works like a charm! There was a great methodology Tutorial written by the guys who made N+.

Anyway, here is the video.

YouTube Preview Image

I think next along the line is going to be some music control and some particle effects.

 

Posted in Works in Progress | Leave a comment

The Small Engine. Physics

There isn’t much to say, except that Small Group needs their own engine, an engine that thousands of jealous indie developers will wish to have because it is just so awesome. I am aware that there are already a lot of tools out there to use so as to avoid the creation of an ‘engine’. Farseer is a wonderful piece of physics, and I have wondered why I am toiling away writing a custom physics engine when something so fantastic already exists. Re-inventing the wheel seems like a stupid idea. But the key is that even though the wheel has been invented, its not the right size for Small Group.

In writing our own engine, I think we will have a nice little special nitch to work out of. And that’s not to say that collaboration is bad or unoriginal, I just want our own set of tools to work with.

But what is an ‘engine’, really? No one really knows, but we can take a good guess. An ‘engine’ is a system of tools that you can fit together to make some truly splendid, like cake, or a space ship. The engine usually handles all sorts of components of a game, such as the physics, the core graphics, the lighting techniques, the scripting systems, and a whole bunch of other crap that I wish I didn’t have to think about. Pretty much, if you want to make a sweet awesome-tastic video game, you need all these things, and since we are all super busy people, we dont want to spend the time to write these systems ourselves, so we just mosey on over to FarseerPhysics.com, or AwesomeEngine.org and then were set! But, instead of doing that, Small Group is going to get their OWN engine, and it is going to suit our purposes just fine.

So to start with, physics.

Yes, its a daunting word, but it so prevalent in games that there is no avoiding it, and so the first part of writing the Small Engine, is writing a basic physics dynamics simulation. And looky looky, its mostly all done! You can even see in the video below.

YouTube Preview Image

Its still a work in progress, but I think its coming along quite nicely. More on this LATER.

Edit: I feel as though I should say that XNA is a framework for graphics within C# and a stepping stone to the Xbox 360 platform. Its sort of an engine in that way, and I have no intention of re-writing that just because.

Posted in Uncategorized | Leave a comment

Intel Indie Fund of Fun

Intel is trying to get their new netbook appstore off the ground by providing a challenge or two to indie developers (like sgp). The challenge is, “give us your game by the end of march, and maybe we will give you some money”. The mere hope of cash is enough for me to jump on this challenge.

I started a few days ago, with the intention of creating a hybrid of zuma and snake. However, as things progressed, it just turned into a new style of snake game. This game has the basic single player and up to 4 player local head to head.

The idea behind snake is that if you hit anything, you die, and then its game over. However, in this version, if you hit your tail, then the part of your tail that isnt connected to your head, falls off and turns into food again. This gets fun when you have a bunch of people playing, because you can just tool around and chop off your buddys body parts.

But dont let me do all the talking, watch this fancy video to get an idea of what Im talking about.

YouTube Preview Image

So yea, Snake is back.

Posted in Works in Progress | Tagged | Leave a comment

Welcome to 4.0

Yes, its true.  Small Group Productions 4.0 is almost here!  If you have ie6 then we don’t want you you should upgrade to ie8 or better yet, firefox or chrome or safari or …anything else.

Thanks!

Posted in Uncategorized | 2 Comments