Tuesday, 30 December 2008

XAGE v0.2 Progress

XAGE goes HD: XAGE now accepts any gameScreen size. There are still a few scaling issues to resolve - I aim to add GUI customisation to XAGETOOL at some point. Here's XAGE using a background texture I borrowed from the AGS forums: Clicky.

XAGE on the Xbox 360: The next release will include a XAGE as a library, along with a skeleton VS2008 project for easy assembly and deployment to the Xbox 360. You'll need an XNA Creators Club membership (though you can occasionally get free ones).

Here's a low-quality clip showcasing the following:
1) XAGE running on the Xbox 360
2) Introduction and Menu scripts (essentially non-playable mini-games)
3) Simple loading & saving (one slot only at present) and X360 storage selection

The above two features were implemented due to requests I received after v0.1, so your feedback is taken seriously and is appreciated. I'm not sure on the ETA for v0.2 yet - there's a fair amount of refactoring to do that I've put off for a while. You can still get your hands on v0.1 by emailing me as per the below post. At some point there'll be a online bugtracker to submit bugs and feature requests but it's probably overkill at the moment.

Saturday, 20 December 2008

XAGE v0.1 (Private Alpha)

It's taken a week longer than I had hoped, but the private alpha is now ready. As mentioned previously, there's a bunch of features not yet implemented and a handful of known bugs, but I've been able to test the installation package on another machine and it seems to work fine. There's a dummy game installer included which uses Microsoft's Click-Once installation to ensure you have all the requirements (dotnet 2.0, XNA Framework 3.0) and automatically downloads them if you don't. All this is covered in the readme.

If you'd like to participate, please email clarvalonATliveDOTcoDOTuk and I'll email you the link to the file (rapidshare). Please post any feedback or issues on this blog.

Much obliged.

Tuesday, 9 December 2008

Minor update

I've been laid up in bed for a few days with a touch of flu, so progress has been slow in the last week. I've implemented a few new features for the creation tool, including the ability to import your own non-compiled graphics. For animation frames I had previously been manually entering the pixel co-ordinates, which is easy enough, but I think most people would prefer being able to select the frames directly from the spritesheet using the mouse, so I'll put that in for the alpha.

The following outstanding features will NOT be in the alpha, as they'll take a while to code and I'm eager to get some feedback as soon as possible:
  • Conversation Trees
  • Global Variables
  • Compression of save files
  • Importing of SOME non-compiled assets (fonts & sounds)
  • Full UI scalability
To answer a question in the comments, XAGE uses a system reminiscent of the SCUMM games in that there is a single executable which essentially interprets a gamecontent file (currently "Game.xml", but an option will be added to use a binary file instead). The gamecontent file is created and updated by the creation tool - you'll never need to touch or worry about the executable.

I'll post again when the Alpha's ready. Note that documentation will be light (read: non-existent), but I'll put in some tooltips so you can at least figure out what each field does. I'm hoping that the majority of the functionality will be self-explanatory.

Monday, 1 December 2008

Custom Animations

One of the improvements Monkey Island 2 had over the original was the use gestures. It made the characters seem more real if they were gesticulating as they talked, rather than just standing there with their mouths opening and closing.

Alongside the scripting system XAGE uses, I've added a simple Custom Animation structure, which simply lets you string together a series of frames at timed intervals. This allows a certain deal of flexibility and enables the creator to add their own gesticulations.

Here's a short clip that shows custom animations, along with character scaling, object occlusion, multiple rooms and background scrolling:

As part of the engine's release I want to include a small sample game (a handful of rooms, characters and scripts). Obviously I can't distrubute Lucasarts graphics as part of the package, so I need to stat thinking about either rolling my own or using the art from a different game.

I really like Murder in a Wheel; it's a good match for XAGE . Are there any public domain adventure game art assets, or is it likely anyone would let me use their artwork for my sample game?

Thursday, 27 November 2008

XAGE feature list

We now have a name - XAGE - standing for Xna Adventure Game Engine. I'd played around with a few acronyms but this seemed the most obvious and least offensive to the eyes and ears.

Completed features:
  • Point & Click Interface (SCUMM-esque verb construction)
  • Input Handling (Xbox controller & mouse)
  • Multiple Rooms
  • Inventory System
  • Global & local characters / objects, all drawn via Y position
  • Object scripts
  • Character Walking (walkboxes, character scaling)
  • Character Talking
  • Audio - Sounds, Game Songs
  • Skippable Cutscenes
In Progress:
  • Menu System (mostly done)
  • Load / Save system (fine on PC, not yet working on xbox)
  • Audio - Networked songs (fine on PC, needs multithreading to work smoothly on xbox)
Yet to implement:
  • Conversation Trees
  • Conversation Gestures
  • Reaching (high, low, across)
  • Room Entry and Exit scripts
  • External Cutscenes
  • Compression of save files
  • Loading of non-compiled assets (for easier PC-only production, i.e. no .xnb files = no VS2008 requirement)
  • Full UI scalability (i.e allow any reasonable gamescreen size and resolution)
  • User defined Object variables (not sure if this is needed yet)
Once the above has been implemented I'll begin work on my game - I have two ideas floating around, one inspired oddly enough by In The Night Garden. This will help me iron out any glaring bugs and any useability issues as I want XAGE to be as robust as possible before release. As it stands the tool has very little control validation and no circular referencing so needs a bit of work.

Tuesday, 25 November 2008

Tool Video

A quick video showing the XNA Adventure Game Creator Tool (working title) in action - it's a bit grainy due to compression but you get the general idea of how it works:

Announcing XAGE


It's about time I started a development blog for this sort of thing.

I'm developing a SCUMM-esque engine for adventure games using the XNA framework. Eventually I hope to release an indie game via the recently launched Xbox Live Community Games service.

Development is going well and I'm about 60-70% complete on the engine itself. Here's a quick clip showcasing the engine (using placeholder MI2 graphics):

Alongside development of the engine, I'm also making a tool for the creation of the game content. In my opinion it's very easy to use and requires no actual programming or even scripting knowledge in order to create characters, rooms, objects, events etc. Here's a screengrab:


I'm hoping that there'll be interest in the eventual release of this tool in order for people to make their own Point 'n Click games for my engine. Games could be released for the PC, Xbox360 and Zune, but not any other formats as the XNA framework does not support this.

I'm trying to figure out what sort of model to use, either:
a) Collaborate: Find a pixel artist and possibly a composer with whom to make XBLCG games and share the profits.
b) License: Release the engine and content tool free for non-commercial use, licensed for commercial use (i.e. either an one-off payment or a percentage of revenue - probably the latter as coughing up money upfront tends to put people off)

Any feedback/suggestions/questions welcome.