PC Development = Braveheart

In Braveheart, William Wallace yells out “FREEEEEEEEDOOOOM!!!!” while being tortured.

That is PC development.

The PC is an open platform which means developers can do anything they want. There is nobody telling you how big your game can be or what other people can add to your game. Openness is very important for Zero Gear. The game is built around the concept that anyone can add anything after we release it. This is simply not possible on a lot of closed platforms.

This is freedom.

However, because the PC is open, there are so many different configurations of what a PC actually is. A closed platform is strictly defined and so developing for a closed platform is generally easier. Zero Gear needs to run on every video card, CPU, different amounts of RAM, etc.

This is torture and we are really starting to feel it…

new item sneak peek

introducing the L.U.V. Bot:

The primary function or intended purpose of the L.U.V. Bot is still a little hazy. However it is known to run lustfully at any moving object and latch on in a merciless hug, until it’s emotion chip shorts, resulting in a massive L.U.V.-splosion.

quick new map

we are having a lot of fun with the tag game mode in our playtests, but we only have one map for it. So I decided to whip up another quick one for fun. This one is called the Punch Bowl:

2020 - The year digital distribution becomes a threat

I saw this story about how GameStop believes digital distribution won’t be a threat to their current business model until 2020.

Well, that sure seems like an absurd claim. They must have some data to back up that claim.

McKenzie - “We’ve done some internal studies, really looking at the bandwidth of the internet in the U.S. as it is now, and, I mean, it’s years before you would be able to take a larger game and timely download that within the current configuration of the internet,”

Wait, so they are making a prediction of the trend of technology based on current figures? Surely somebody at GameStop must have heard of accelerating change or even observed the increase in the speed of the internet over the past 10 years, right?

And this doesn’t even make sense right now. I regularly download “larger” games and I am usually playing them faster than I can go to GameStop to buy them. So their claim doesn’t even hold up right now.

No, they seem to believe that “the current configuration of the internet” will remain as is now for the next 12 years!

GameStop, please do a little reading or even critical thinking before making such a claim.

2 new characters

Meet Squiddles and the Brain:

Dedicated Server and Code

We are looking to rent a dedicated server pretty soon to host Zero Gear game servers as well as other services. We are hoping to get some suggestions from people for good (and cheap!) servers.

Here is what we are basically looking for:
1. We need full access. We have multiple software servers to run on the machine and need to be able to customize things to our liking.
2. Windows OS is required for the time being.
3. Hopefully around $100 a month but we are able to go a bit over if it is worth it.
4. It needs to have enough bandwidth and speed to host a few game servers. I don’t have exact numbers for this yet but think a few TF2 or CS:S servers.
5. We want this first server to be in the L.A. or Bay Area in California.

If you have a suggestion, please leave a comment or better yet, reply to this forum post.

Now, on to the code!
Exposing the privates of a class to other classes explicitly

I have been told that title sounds dirty. I don’t understand why.

This post will only be of interest to programmers who use C++ (and maybe programmers in general). No artsy fartsy stuff going on here.

Say I am designing a NetworkManager class. This class has a SendPacket() function that I don’t want to expose to the public. However, I do want some classes, like my GameObject class, to have access to SendPacket().

The obvious solution is this:


class NetworkManager
{
    public:
    …
private:
    friend class GameObject;
    void SendPacket(int packet);
    void ManageConnections(void);
    etc…
};

This works but has a few problems. First of all, we don’t want GameObject to have access to ManageConnections(). Also, we later discover that the ChatManager class needs access to SendPacket as well. The lesson: friendship is hard.

The solution I use is to create an accessor class which is friend to NetworkManager and only exposes the SendPacket function. Then any other class can use this accessor to send a packet.

The best part about this is that I can be very explicit about which parts of NetworkManager I expose.

Code is the best explanation:


class NetworkManager
{
private:
    friend class SendPacketAccessor;
    void SendPacket(int packet)
    {
        //Success!
    }
};

class SendPacketAccessor
{
public:
    void SendPacket(NetworkManager & netManager, int packet)
    {
        //We have access to SendPacket()!
        netManager.SendPacket(packet);
    }
};

class GameObject
{
public:
    void Update(NetworkManager & netManager)
    {
        //We have access to SendPacket() though the accessor
        accessor.SendPacket(netManager, 1);
    }

private:
    //Our key to SendPacket()
    SendPacketAccessor accessor;
};

class ChatManager
{
public:
    void Update(NetworkManager & netManager)
    {
        accessor.SendPacket(netManager, 2)
    }

private:
    SendPacketAccessor accessor;
};

void main(void)
{
    NetworkManager netManager;
    GameObject obj1;
    ChatManager chat;

    obj1.Update(netManager);
    chat.Update(netManager);
}

If other parts of NetworkManager needed to be exposed, those parts should have special accessors just like SendPacket() does.

New movin’ pictures: Zero Gear race track showcase

As I have been promising for some time now we finally have a new video for everyone. This video showcases our initial 3 race maps that we are working hard to outfit with all the gameplay gears and gadgets that Brian is developing as we speak. These will be 3 of the 5 maps that we plan to have for our first beta release.

Looking forward to racing some of you in these soon!

P.S. These beautiful levels would not be possible without the fine rendering engine Ogre3d, as well as the well crafted particle engine, Particle Universe.

Happy 1000th revision Zero Gear!

I am happy to report that Zero Gear has just turned 1000!

Well, we just made our 1000th Subversion revision. Subversion is the version control tool we use to keep in sync. It is really a great tool and I recommend it to anyone who wants project management, even if you are a single developer.

We will have some more exciting posts this week with actual images and maybe even a video! I know everyone is getting bored of reading by now. Boo reading!

As I told Dave

the artist, if we start development on the remaining features now, we can make the IGF deadline in two months.

Dave: “That’s why you’re no longer the producer. Two weeks! Let’s do it in two weeks! Hey!!!”.

At that point, “The Final Countdown” played from my computer speakers “magically”. He threw 100 pennies at me as well.

On a more serious note, we only have 2 months until the IGF deadline. Can we do it?

Answer: Yes, probably…

The Secret of Zero Gear


I’ll tell you a secret, Zero Gear is not a kart racing game.

That might be surprising if you have been reading this blog for a while. All of the images and videos we have released so far make it look like a kart racing game.

If it isn’t a kart racing game, what is it? It is many games disguised as a kart racer. Yes, we do have a racing game mode. We also have two other game modes right now, with a few more to come before we release.

Zero Gear is more of a game platform than a game itself. All of the gameplay is actually written in a script. This allows us to quickly prototype and create new games. It will also allow anyone who owns Zero Gear to create their own game and play with other people online.

We aren’t the first to do this, nor will we be the last. We see a lot of potential in kart games that hasn’t really been explored yet. We hope to do that exploration through Zero Gear.

By the way, The Behemoth’s game Castle Crashers just got released on XBox Live Arcade today. So congrats to them! I personally can’t wait to slash, smash, and crash some cute enemies tonight.

« Previous1 ... 1213141516171819 ... 22Next » (215 total posts)