Xenon 2000 (Rereation) tech demo

Started by kevin, September 26, 2003, 01:48:36 PM

Previous topic - Next topic

kevin

This shot is purely for demonstrational purposes only.  The art work contained in the picture is from Xenon 2000 by the bitmap brothers.  This tech demo is an attempt to re-create that games scrolling background via using Play Basics the mapping layer.  As you can see, it's more than capable of driving 3 playfields (2 transparent) at a very respectable frame rate.  (640*480 - the image is scaled down for bandwidth reasons)...





Edit: added movie


kevin


BinaryMoon

Looks nice.

Is that the actual map from Xenon 2000 or are you just using the sprites? I remember you wrote a mappy loader for db and wondered if you had dsone the same for blitz (I'm pretty sure xenon 2000 was done with mappy)
Ben aka Mop

BinaryMoon
BinarySun

kevin

nope, it's the maps.

To my surprise the levels are stored in Mappy format (and a few other games use it too after a bit of reseach), so that enabled me to edit the map (remove the trigger points) and just export the raw map arrays. Then it's a matter of writing the load/display routine.

When starting out on PB,  the  thinking was that'd we use Mappy as the internal format, but i've since select to go with my format.  Mostly so i can include some other features/speed ups that mappy or mappers don't generally support.

Ideally the mapping commands in Pb will be able to load/save/create the maps.  Sadly this will mean coders would need to write importers for their favourite editor.

kevin

Mapping Input

   The above picture is from a tech demo, ironically were now getting 85fps for the recreation of this demo in native PB. This was due to some design opts that have been made to the rendering routines, and there's still some room to move in there  :).  In full screen exclusive mode it's running at 120fps plus.  As you can see, the certainly will give PB enough grunt to write something as stunning as Xenon 2000.  

   A big part of building the language is listening too/finding out what features are necessary from the programmers view point.  At the moment my focus has turned Animation control for the map layers. So if you have any ideas, comments on this. Let them rip

   Here's what i'm thinking. In previous mapping systems i've written i've had 2 types of animations.  Local and Global.  Local animations are those performed upon the block whenever it's on screen.  These are often useful for the odd bit window dressing in a frame, just so it's not static, but they suffer from being unable to be synchronized together.   This Global animations each pull there current frame from a global (synchronized) source, they are the more efficient solution, but can look a bit daggy when all of the block anims are in sync..

  * Animations should be a collection of any frames from the set. The length of this animation can user definable.  

   * Animations need a few types of controllers, Forward, Backward, Once, repeat forever..

  So there's some base ideas.  IF you've anything you think should be handled, sing out.

kevin

Faster XENON 2000
================  

     After various recent update to the mapping and run time interpreter the previous Xenon Tech demo is now running between 150->240 fps on my Duron 800 system.  In the shot it's running at 177fps (3 layers) with an image resolution of 640*480*16.   (the snap is scaled down for bandwidth reasons)  

     Now it's getting there :)