Mystery of Isis IIa
Posted: Thu Nov 25, 2010 23:53
Hi,
For those who don't know me, I was originally part of the Isis II team. A month or so back I came across all the old Isis II files and was dumb founded by how much was actually done on the game (mainly artwork). It felt a shame to have it just sit idle on one or two backup hard drives around the world, so investigated a way to at least bring it back to life.
Isis-IIa is the next generation Isis-II game engine in development. It is written under Windows XP in PyGame (a set of modules allowing you to use Python scripting as an interface to the cross-platform SDL library). It is inspired by the Worminator/Isis-II engine (originally by David Layne AKA DML1001, with later modifications by Charles Byrd), but has been completely re-written from scratch. In general the code has been greatly improved and optimised.
Demo Video 1: http://www.youtube.com/watch?v=Hk1IGPi8w0k
Demo Video 2: http://www.youtube.com/watch?v=lMwXZwXWmEs
Demo Download: http://www.megaupload.com/?d=03593ZGN
NB: - the demo videos do not accurately reflect how the game looks & plays. For example I normally get 150+ fps. The screen capture software makes it appear jerky, and video compression altered the quality and aspect ratio too, sorry - I don't know how to do it any better.
A lot of the variables have been separated from the game logic, to allow for easy editing (jump heights, gravity, etc), and the engine incorporates frame-rate independent movement (should look the same at any processing speed). As such, all of the physics are specified in computer game S.I. units - i.e., 'PIXELS PER SECOND'. This is much more logical than, for example, 'PIXELS PER FRAME at 60 FPS'. The game logic still and screen refresh rate still run as fast as possible; it is only the animation and movement that is controlled. Other games such as Isis-II limited the frame rate to achieve constant speeds.
The mechanics of the game play have been matched as closely as possible to that of the Galaxy series (e.g., jump heights, pogo amounts).
For those not familiar with Isis-II, the main changes from the original Galaxy series are that Keen has health, multiple weapons, and the ability to swim whilst in a water portion of a level. If this bugs you, so be it. We believed this opens up the door for a lot of new and exciting level design possibilities. For those familiar with it, and who have issues with the changes or artwork not being "Keenish", you're entitled to your opinion but I'm not really interested in the criticism. I started recreating Isis just to make the content that was originally made for the game, available once again.
For example, there was artwork for around 30 odd enemies, 10-15 or so which I would say were "complete", others maybe just had one frame drawn, but I will try to make them available none the less.
Isis-IIa could potentially be very MOD-FRIENDLY as well. With no programming skills, you should theoretically (at a minimum) be able to create new tilesets, edit levels, and modify sprites (both Keen and Enemies). If the game physics (run speed, jump amounts, etc) & other variables were read in from a text file (currently they are hard-coded), they could also be modified. Ultimately, it should be possible to script custom cut scenes too.
Current Engine Features:
Cross Platform (theoretically, not tested)
- uses SDL which is cross-platform
- interested parties could download Python (free) and are invited to try and compile from source to OS-X / Linux binaries
Resolution - can be easily scaled to run in the following modes. Future versions could increase the actual size of the playing area. It could also be possible to use 640x400 for the menus and cut-scenes, and scaled 320x200 for the game.
- 320 x 200 (windowed)
- 640 x 400 (windowed - prefered)
- 1280 x 800 (windowed - untested since my screen is too small)
- 640 x 400 (windowed, scale2x) - this looks crappy for the game but works OK for the menus
- Fullscreen
32-bit Colour
- Although the Isis-II was only 8-bit (256) colour, that is no longer a technological constraint
- Isis-IIa will, however, for the most part still use the same 256-colour pallette
- Having 32-bit colour is useful for intros & cutscenes for example, and particularly for future Modding
Level Editor
- Makes use of the free and simple to use, Windows-based "Tiled" level editor (www.mapeditor.org)
- Numerous layers for logical & hassle-free editing (3 x background, 3 x foreground, info, sprites, etc)
- Multiple BG & FG layers are combined in-game, but make for easier editing (Isis II used "graphical properties" which were annoying)
- Can copy & paste portions of the map
- Ability to export entire map to image file
- Mutliple zoom levels
Keen Movement
- Run (flat, 1:1 slopes, 1:2 slopes)
- Jump
- Pogo
- Look Up/Down
- Idle (Look Up / Shrug)
- Ledge Grab
- Pole Climb
- Doors
- Swim
- Shoot (standing left/right/up, falling left/right/up/down, pole climbing left/right/up/down)
Other
- Unlimited 4-frame animated tiles (frame length could in principle be changed)
- Particle system for minor explosions (eg water splash)
- Particle system could be advanced to create blood/fire/smoke effects (but these are not Keenish)
- Parallaxing background
- Translucent BG and FG tiles
- Locked doors
Collectable items:
- Key cards
- Point items
- Health items
- Powerups
- Inventory Items
Weather Effects.
- Night mode
- Rain
- Snow
- Clouds
NB the rain/snow/cloud effects can be set to a certain height, eg you can set the cloud base level, and where the rain begins. This is useful for example if you a climbing a mountain - you can climb through the clouds to the clearing on the top.
HUD
- shows health, lives, keys, points, etc
Enemies
- walking, swimming & flying enemies
- they can jump, shoot, attack, make idle movements
I'm interested to hear any thoughts & comments. The engine is by no means perfect, but it works and has many features. To actually COMPLETE the game (the Engine is all but completed), at a minimum the following would be needed:
- A couple of tilesets
- Cut scene pictures to tell the story as the levels progress
- Levels to be designed
I'm posting this just as an FYI for now. As I said, I really only did this to try and revive the content, and turns out it turned into a bit of a challenge as well just to make a side scrolling game in Windows under Python/Pygame.
For those who don't know me, I was originally part of the Isis II team. A month or so back I came across all the old Isis II files and was dumb founded by how much was actually done on the game (mainly artwork). It felt a shame to have it just sit idle on one or two backup hard drives around the world, so investigated a way to at least bring it back to life.
Isis-IIa is the next generation Isis-II game engine in development. It is written under Windows XP in PyGame (a set of modules allowing you to use Python scripting as an interface to the cross-platform SDL library). It is inspired by the Worminator/Isis-II engine (originally by David Layne AKA DML1001, with later modifications by Charles Byrd), but has been completely re-written from scratch. In general the code has been greatly improved and optimised.
Demo Video 1: http://www.youtube.com/watch?v=Hk1IGPi8w0k
Demo Video 2: http://www.youtube.com/watch?v=lMwXZwXWmEs
Demo Download: http://www.megaupload.com/?d=03593ZGN
NB: - the demo videos do not accurately reflect how the game looks & plays. For example I normally get 150+ fps. The screen capture software makes it appear jerky, and video compression altered the quality and aspect ratio too, sorry - I don't know how to do it any better.
A lot of the variables have been separated from the game logic, to allow for easy editing (jump heights, gravity, etc), and the engine incorporates frame-rate independent movement (should look the same at any processing speed). As such, all of the physics are specified in computer game S.I. units - i.e., 'PIXELS PER SECOND'. This is much more logical than, for example, 'PIXELS PER FRAME at 60 FPS'. The game logic still and screen refresh rate still run as fast as possible; it is only the animation and movement that is controlled. Other games such as Isis-II limited the frame rate to achieve constant speeds.
The mechanics of the game play have been matched as closely as possible to that of the Galaxy series (e.g., jump heights, pogo amounts).
For those not familiar with Isis-II, the main changes from the original Galaxy series are that Keen has health, multiple weapons, and the ability to swim whilst in a water portion of a level. If this bugs you, so be it. We believed this opens up the door for a lot of new and exciting level design possibilities. For those familiar with it, and who have issues with the changes or artwork not being "Keenish", you're entitled to your opinion but I'm not really interested in the criticism. I started recreating Isis just to make the content that was originally made for the game, available once again.
For example, there was artwork for around 30 odd enemies, 10-15 or so which I would say were "complete", others maybe just had one frame drawn, but I will try to make them available none the less.
Isis-IIa could potentially be very MOD-FRIENDLY as well. With no programming skills, you should theoretically (at a minimum) be able to create new tilesets, edit levels, and modify sprites (both Keen and Enemies). If the game physics (run speed, jump amounts, etc) & other variables were read in from a text file (currently they are hard-coded), they could also be modified. Ultimately, it should be possible to script custom cut scenes too.
Current Engine Features:
Cross Platform (theoretically, not tested)
- uses SDL which is cross-platform
- interested parties could download Python (free) and are invited to try and compile from source to OS-X / Linux binaries
Resolution - can be easily scaled to run in the following modes. Future versions could increase the actual size of the playing area. It could also be possible to use 640x400 for the menus and cut-scenes, and scaled 320x200 for the game.
- 320 x 200 (windowed)
- 640 x 400 (windowed - prefered)
- 1280 x 800 (windowed - untested since my screen is too small)
- 640 x 400 (windowed, scale2x) - this looks crappy for the game but works OK for the menus
- Fullscreen
32-bit Colour
- Although the Isis-II was only 8-bit (256) colour, that is no longer a technological constraint
- Isis-IIa will, however, for the most part still use the same 256-colour pallette
- Having 32-bit colour is useful for intros & cutscenes for example, and particularly for future Modding
Level Editor
- Makes use of the free and simple to use, Windows-based "Tiled" level editor (www.mapeditor.org)
- Numerous layers for logical & hassle-free editing (3 x background, 3 x foreground, info, sprites, etc)
- Multiple BG & FG layers are combined in-game, but make for easier editing (Isis II used "graphical properties" which were annoying)
- Can copy & paste portions of the map
- Ability to export entire map to image file
- Mutliple zoom levels
Keen Movement
- Run (flat, 1:1 slopes, 1:2 slopes)
- Jump
- Pogo
- Look Up/Down
- Idle (Look Up / Shrug)
- Ledge Grab
- Pole Climb
- Doors
- Swim
- Shoot (standing left/right/up, falling left/right/up/down, pole climbing left/right/up/down)
Other
- Unlimited 4-frame animated tiles (frame length could in principle be changed)
- Particle system for minor explosions (eg water splash)
- Particle system could be advanced to create blood/fire/smoke effects (but these are not Keenish)
- Parallaxing background
- Translucent BG and FG tiles
- Locked doors
Collectable items:
- Key cards
- Point items
- Health items
- Powerups
- Inventory Items
Weather Effects.
- Night mode
- Rain
- Snow
- Clouds
NB the rain/snow/cloud effects can be set to a certain height, eg you can set the cloud base level, and where the rain begins. This is useful for example if you a climbing a mountain - you can climb through the clouds to the clearing on the top.
HUD
- shows health, lives, keys, points, etc
Enemies
- walking, swimming & flying enemies
- they can jump, shoot, attack, make idle movements
I'm interested to hear any thoughts & comments. The engine is by no means perfect, but it works and has many features. To actually COMPLETE the game (the Engine is all but completed), at a minimum the following would be needed:
- A couple of tilesets
- Cut scene pictures to tell the story as the levels progress
- Levels to be designed
I'm posting this just as an FYI for now. As I said, I really only did this to try and revive the content, and turns out it turned into a bit of a challenge as well just to make a side scrolling game in Windows under Python/Pygame.