Posts Tagged ‘ Imported from Live

No really I’m still alive

Well looks like I did manage to fail on the regular posting thing.

I’ve been working on the game engine just not how I thought I would. I’ve started working towards a slight adjustment on the Bert plan, Instead of the original story we used for Bert I’m going for a Zombie Survival Game. I did a quick-ish Zombie Infection Simulator based on Kevan Davis’ Original Java script.

zombieinfectionsim-001For my version I used SystemX as a base and added a modified version of Chase & Evade from the Creators Club Online, and O.M.G. the logic SUCKS! it’s so slow that with 1000 objects the system starts off at 2fps and scales up to around 20fps when the zombie:Human ratio levels out but then slows back to 2fps as the zombies become dominant.

I’ve thought about a few things I can do to speed up the entity’s AI, it’s going to have to wait until I have the map and collision system in place.

I’ve also been researching how the game play is going to work and found some amazing Games almost all flash based but still bloody good, from Sean Cooper’s Boxhead games to Dead Frontier my main problem is how I’m going to make my game stand out from the crowd? the fact that they will be on Xbox360 and PC probably isn’t going to be enough seeing as there are a great number of games covering this genre as it is. I think I’m going to have to aim for a simple Run & Gun style for the first outing and then try to add in more details as we go.

To start with I want to keep it PC only until I get the game closer to finished and then post it up to Creators.

One down Ninety nine to go…

This weekend I went and saw some films, so again, I didn’t get much done.

But, I did finish the Sprite sheet Compiler v1.00. This is the first developer only utility going forward to the full Game developer suite for SystemX this one builds the sprite sheet and compiles it for the game engine to load.

**REMEMBER** This is a developer only tool, it will only work if you have MSBuild and XNA developer suite installed. **REMEMBER**

The next thing I want to work on is the workspace compiler this is the thing that defines a project for the game engine, where the content directory is, want are the sprite sheets, fonts, menus, and the start-up script.

There is still so much to do before I can go public, as yet I still don’t have anything worth a screen shot, and my progress is still slow, mostly from only working no this project Friday, Sunday and Monday night. my plan for working on one small project at a time seems to be holding for now at least. I’m coming up on one month in the new blog space and I’ve managed to keep to my target rate of one good sized post a week, go me!

Better late than never

I’ve been trying to write this post for the past four days and keep getting side tracked. I managed to get the sprite sheet compiler to run successfully this weekend, and produced an xnb file.

The next thing is to reload that xnb file back into the editor so that I can start on the animation system editor, but I think that I’ll probably get the Workspace class to compile as well first.

With the workspace class compiling I can probably add a preview option where the editor can shell out and run the game engine, I’m still not sure how publishing to the Xbox360 will work if I’m compiling the content outside VS, this needs looking at when I get a 360.

Big Ideas small progress

This weekends development was hampered by two things, 1. My lack of understanding of MSBuild 2. going out for most of Sunday.

After I listened to Shawn and Eli talk about the content pipeline I realised I was gong to spend far too much time faffing with file loaders and stuff when I could just use an Automated MSBuild to compile the content that I could then load into the Workspace object as needed.

I was using the “Win-Forms Content Loading Sample” as a basis for my experiments and if I use the standard importers and processors everything is fine but there are custom object that I want converted and for that I need to have Content Pipeline Extension Libraries to achieve the desired results, like combining the alpha channel mask with the sprite data, building the sprites into a single sheet, storing the custom object data. I just can’t figure out how to add them to the build so that they are used, like in VS, I know it can be done I just can’t see how :-( , I sent an email to Shawn to ask for pointers and to see if he was going to cover such things in his blog but I doubt he’ll reply.

I also took time out to see an old friend so lost time on development, oops, but worth it.

Progress Report

Custom Domain

I was trying to set up a custom domain for the site but the setup software says I can’t use any of the domains I own, shame. I sent an email to Microsoft support on the matter and got a standard email back saying that:-

…the domain you are trying to register contains a word that is currently on our blocked word list…

So is one of the words XNA or GAMER is on a block list? I think not! :-

…This includes words where the blocked term is a substring (part) of another word…

Using Wordles.com I can’t find any word in there that might be band unless you rearrange the letters. I can’t wait for them to tell me what the word was :-) or it could be…

…the domain name is reserved and cannot be used to create new Windows Live ID’s…

But I’ve told them that I own the domain so all I need is for them to tell me how to UN-reserve it ether way…

…this domain will be submitted for review and you will be notified whether we will allow the domain in 3 to 5 business days…

So I’ll wait and see… Now ON WITH THE SHOW!

Command Console

I’ve added the console as a DrawableGameComponent for the time being but I think there are going to have to be changes to the current system for it to work the way I want it to….as always.

SystemX Entities

I think I have the object types sorted I’m looking at having three main types :-

  1. Effects
    Mostly things like Smoke or sparks, this is what would be used for shots & particles
  2. Items
    Things that can be picked up and used
  3. People
    Further split and sub split

    1. Bert
      Bert is a special case and may end up in a class on his own, poor boy.
    2. Civilians
      In the original we had eight civilians this might be trimmed down as there frames missing from one of the original sprites.
    3. Soldiers
      There are four types of soldier Pistol, Machine gun, Uzi, Rocket launcher, what more could a growing army need?
    4. Robots
      The droids are probably the most diverse group with static Turrets roller droids and walking droids.

Splitting object up in this way should maximize flexibility whilst still keeping things as simple as possible.

Contact Sheet Creator

I have got the contact sheet compiler building an complete PNG file ready for building by the content pipeline. I’ve stopped short of writing the sprite information file as this will probably integrate with the animation information.

Project Information file

I’ve had some thought about how I’m going to store the project info or glue as I’ve come to think of it. Here is a rough idea of what I have so far :-

  • Project
    this is the main class and it holds all the structures

    • Options
      holds things like Title, Content directory name, Project version number & primary background.
    • Contact sheets array
      contains information about each contact sheet.

      • Animation data
        Seeing as this data is relative to the sheet I’ll keep it in with the sheet data
      • Sprite origins grid
        Rather than compute these values I can pre-calculate them in the sheet builder.
      • Texture2D
        The actual image data/the file to load anyway.
    • Reference Object collections
      This will be a short hand list that will work as an objects factory during level load/game play.
    • Menu Collection
      Menu Pages and their items ready for the primary plug-in to attach event handlers or which default handler to use.

SystemX Animations

Added a basic animation class. I have also started writing the animation studio application. It relies on contact sheets and their information file so this might stall if I get to that point before I finalise the glue file.

Enough of this I’m off to bed some of us have work in the morning.

This weekends development

Command Line Interface

I’ve written the Command Manager. It opens up functionality for other components to expose commands with out other components knowing about a specific interface. This way I can start writing a command list for the user scripting engine.

The Command Manager exposes a three events so the error log component or console in the engine can hook-up to the events for output, debug, and error and display or write the message to disk.

Command Console

This is probably going to be based on a Screen Manager GameScreen class, and should be created and disposed as needed, the side effect is that it will pause game play while you type commands then resume when it’s closed. not sure if I want that or not I’ll decide when it’s finished.

SystemX Entities

Started the base class for objects, AIs, Particles and the players object. each of the different entity classes will inherit from this class giving them the common properties like location sprite and animation systems.

Contact Sheet Creator

Started on the content creation software that should compile things for the content pipeline. I seem to be using background worker threads for allot of things recently…

Technorati Tags: Game Engine,Content Creation

Where to start?

I’m sure that the first post of any blog is supposed to be some thought provoking declaration of intent, that or “I’ve decided to write a blog…” followed by nothing for six months. I’m sort of hoping to be a little more productive with this version of my blog, but I’ll probably fail all the same. See now that’s how you start a blog set the bar low so no one can say you didn’t warn them.

Back to the plot, This blog is how I’m going to track my progress building a game engine, using the Microsoft XNA Framework. The general theme and road map for this venture is small steps that I should be able to write about, without having to prepare a mass of supporting images and colour syntax hi-lighted code lists. There might be code and maybe some screen shots but we’ll just have to wait and see.

If you were hoping for step-by-step instructions about how to write a game then your in the wrong place, this is just me writing about my games, my frustrations, my mistakes. If I can pull it together long enough to build myself a working engine and asset manager, I’ll see about making them available to the community, but I have a habit of not finishing things, so that’s doubtful.

In the past year I was supposed to put together a portfolio of game development projects and blog about them so that I could get a job as a games developer. I had ideas of working as a tools author. I have come to realize that this is something that will never happen.

So I’ve created a new Live account that bears no resemblances to my former ID, I don’t care about Google rank, and I’m not looking for friends. so there’s no point me linking to other peoples blogs or telling you that version Q of XNA has been released.

That said feel free to comment on anything you like or don’t like, suggestions and stuff. Then again if you’re reading this then I ether changed the permissions on the blog or I’m letting you in here.

Technorati Tags: ,