nebulasoftware@gmx.net
www.nebulasoftware.tk
home.hetnet.nl/~nebula
1) TABLE OF CONTENTS
|
2 RUNNING THE GAME 2.1 Disclaimer 2.2 Setup 2.3 System Requirements 2.4 Windows NT/XP/2000 |
|
3 PLAYING THE GAME 3.1 Ways to run RESISTANCE 3.2 In-game 3.3 Controls 3.4 Troubleshooting 3.5 Using the game-manual 3.6 Don't read this! |
|
4 NEBULA-ENGINE 4.1 RT Engine 4.2 N-E version 1.0 4.3 N-E version 1.1 4.4 Bots 4.5 Weapons |
|
5 DEVELOPMENT HISTORY 6 AND NOW... 7 CREDITS |
2) RUNNING THE GAME
2.1 DISCLAIMER
RESISTANCE is a FREEWARE program! This means that the author gives the
software for free and encourages you to DISTRIBUTE IT FURTHER.
The program is coded in DOS-environment and uses a lot of assembly routines and interrupts.
Handle this software with care, and there will be no problems. However, THE AUTHOR IS NOT
LIABLE FOR ANY DAMAGES CAUSED BY AN IMPROPER USE OF THIS SOFTWARE!
This program contains violence. We take no responsibility for any emotional damage
caused by playing this game. We advise not to run this program if you are unable to distinguish
games from reality
All names of characters and nations are chosen randomly, without personal means by the author.
2.2 SETUP
There is no setup. Just unzip, and play! Make sure you create a new directory before you unzip
the files (for example "\resistance\")
If you have Windows NT/XP/2000 please read paragraph 2.4.
2.3 SYSTEM REQUIREMENTS
RESISTANCE operates in DOS-environment and requires the maximum of conventional memory. Also ca.
4Mb of extended memory is required. To run RESISTANCE on a WINNT-based operating system
(WinNT/XP/2000) please read paragraph 2.4 WINDOWS NT/XP/2000.
RESISTANCE is developed and tested in the following environment: O/S-Windows98, CPU-233MHz(PII),
DirectX-7.0
|
DOS/Windows 3.x
Windows 95/98/ME Windows NT/XP/2000 Linux |
- V (no sound supported) - V (recommended) - V (no sound supported) - X |
2.4 WINDOWS NT/XP/2000
If you have Windows NT, XP or 2000 you have to enable extended memory as follows:
3) PLAYING THE GAME
3.1 WAYS TO RUN RESISTANCE
In the main directory there are two batch-files:
3.2 IN-GAME
After you starts RESISTANCE the loading can take some minutes, because of the highly compressed
music-files (.MO3-files)
In the menu you have the following options:
3.3 CONTROLS
|
Moving: [Arrows] [A] + [D], MOUSE [Ctrl], [S] [RShift], [W] [<] + [>] Weapon handling: [Enter], Left MouseButton [Backspace] [1] - [9] [0] Other: [Space], Right MouseButton [Tab] [Delete] | move turn down jump lean (left / right) fire interaction (for example open a door) / centre view |
3.4 TROUBLESHOOTING
I build a primitive error-handling-routine in the program. I never had any error, but I know that's no guarantee. I will explain one particular error-message because it appeared on some environments.
Failed to initialize: old extended memory manager not supported - If this error appears your operating-system is probably WINNT-based (Windows NT/XP). I'm afraid that means your system is unable to run RESISTANCE (except the menu-routines without sound and music, but I don't think you like that).
The other error-messages most of times will have a short description, which must be clear
(for example VESA NOT DETECTED - your video adapter is not VESA compatible). It is
possible that an error is caused by a missing file or something like that. Then you have to
download RESISTANCE once more. If you want to keep the saved games you have to copy the file
"Savegame.DAT" to the new "Program"-directory.
If you get an unknown error-message (AN ERROR HAS OCCURED) please contact me and give me
a description of the circumstances at the moment of the error-trap (in-menu or in-game /
during loading or while waiting for a key etc). Then I will note the solution on the
Nebula-Website if possible.
3.5 USING THE GAME-MANUAL
It looked too boring to me to put all enemy-, weapon- and other information in this readme-file.
So that's why I wrote a game-manual.
Shortly: this readme contains practical information about getting the game started, the
game-manual contains detailed information about the game history and other things you
have to know. By the way: you can find the controls in the readme-file.
3.6 DON'T READ THIS!
Maybe you are wondering if there are ways to cheat in RESISTANCE. Well, during the development
I needed a way to step to levels that were not saved. So I add a system that alows a level-warp.
Now RESISTANCE is finished I decide not to erase this system.
The level-warp is very easy to do:
Step 1: Go to the menu
Step 2: Select "New Game"
Step 3: Move with the arrows to select a episode
Step 4: Don't press ENTER, but insteat of that CTR+W+ENTER
Step 5: Choose the level using 1-9
That's it! I hope you did not read the information above, and if so, DON'T MISUSE THIS
INFORMATION. The Episodes of RESISTANCE are build up with care, and a level-warp can be very
confusing.
4) NEBULA-ENGINE
RESISTANCE uses Nebula-Engine Version 1.1. Nebula-Engine is a first person-shooter engine that makes use of a 2D level map (64x64 cells) like Wolfenstein 3-D, but also features textured floor and ceiling and a scrolling sky like Doom. Besides that I add a lot other features to the Nebula-Engine which make stealth-actions possible (like for example Metal Gear Solid).
4.1 RT ENGINE
The Nebula-Engine is based on RT Engine; a great raycast-engine by Enhanced Creations. This engine has the following features:
To make a first person-shooter I had to mutate the RT Engine and add a lot of new
features (RT Engine is no first person-shooter engine actually, but a raycast engine).
The first version of Nebula-Engine is released as the game Capture The Flag.
Because I needed a concrete target working on the Nebula-Engine I decided to "remake" two
examples of Unreal Tournament's capture the flag (Facing Worlds and November).
This version of the Nebula-Engine had the following new features:
Resistance uses the Nebula-Engine version 1.1. The following features are new:
The bots are sprite-based. Each bot is build up of 42 different sprites. In a graphical way a bot
has 4 different directions. I have chosen for this (and not 8 directions like Wolfenstein and
Doom) because the amount of sprites was not unlimited.
Because the Nebula-Engine supports team-based levels, every bot is able to shoot at any
direction (and not only at the player). A bot is also able to stoop so he is harder to hit,
and stoop-and shoot. When a bot has to reload his weapon there will be a fire-pause.
The bots don't really have art intelligence. They are controlled by situation-handling-structure:
When a bot sees an enemy he will try to shoot at the enemy. When a bot is weak he will
probably stoop. When the enemy is to far away the bot will walk towards the enemy. When another
bot sees him walking to the enemy, he will give him a backup ...etc.
That is the way the bots handle; the friendly ones as well the enemy's.
Every bot belongs to a site. Your friends belong to your site, and they will shoot at enemy's.
There are two different enemy's. The first one shoots at you always, and the second one
only when you show your weapon. This system makes spy-levels possible.
Beside that a bot can have a target. When the target is attacking the bot will follow the
attack-route (this is included in the map-file), and when the target is guarding the bot
will guard the place where he is started.
The Nebula-Engine also includes a "respawn"-system. When it is activated (by the startup-script) you, your friends and the enemy's will respawn when they die.
4.5 WEAPONS
The startup-script includes a weapon-set-file. This file contains a list of 9 different weapons. More weapons are not supported, but in Resistance it is enough. Every weapon exists of 5 sprites, and is set up in a different way. A shotgun for example is set up as a short-range weapon (power-100%, range-10% or something like that).
5) DEVELOPMENT HISTORY
A good idea, but not possible for me
The very beginning of the project RESISTANCE is in the summer of 2000. I got the idea of
making a strategy game that mixes the stealth of Commando's with elements of Command & Conquer.
I began designing and coding, but I was very inexperienced. Very soon my over-sized program
caused an "out of memory-error". For then that was the end of project RESISTANCE.
A new impulse
The following year I gained some new basic-experience. In August of 2001 I decided to pick up
project RESISTANCE again.
During these months I created the characters Fred, Jane, Rick, Leia, and Eric (Ryan in those
days). So RESISTANCE had to be about a group of 5 para's with each of them his own speciality.
Internet - the key to the world of QuickBasic
I succeed to open 16 coloured (4-bits) bitmaps in QuickBasic-environment (by imitating and
improving other basic-programs). That was a big step forwards.
The rise of the internet happened a bit slowly in the Netherlands - the country where I live -
and in the winter of 2001 we also went online. I began to discover the "world of quickbasic".
I downloaded a lot of programs handling waves, bitmaps, mouse etc. In the mean time I tried to
add all those features to RESISTANCE. When I downloaded the Future Library it was possible to me
to work in up to 32-bits colour-modus, and opening bitmaps and .GIF's more easily.
RESISTANCE - THE MOVIE
Displaying .AVI video's in QuickBasic was possible thanks to OpenAVI Version 1.0. It was February
2002 when I decided to display a movie in RESISTANCE (like in Command & Conquer).
Classmates were well-willing to play as actors in short cut-scenes. So I wrote a script and
arranged everything with support of some people.
On February 12th of 2002 we recorded all scenes at once (location: my school). I controlled the
camera and my friends acted in front of a white-wall. Later I had to edit a new background. This
work took the 4 months.
RESISTANCE unfinished again
During August of 2002 I composed music, designed pictures and coded a level-editor.
I never used the sound-support (.WAV-handling) of the Future Library because that did not work
on my system. Instead of that I used DirectSound4QuickBasic (firstly version 1, later version 2).
However, again I was unable to finish RESISTANCE.
FIRST PERSON SHOOTER
Because project RESISTANCE was frozen I began to study other basic-products. I downloaded
RT Engine (Enhanced Creations). Wow... I had seen raycasters coded in QuickBasic before, but
only stuttering, bad rendered samples. This one was FAST and very good-looking.
I started mutating the RT Engine, coding a level-editor. This was in the autumn of 2002.
NEBULA-ENGINE
In January of 2003 I finished the first edition of the Nebula-Engine - a clone of the RT Engine.
This DEMO is a "remake" of two Capture The Flag-levels of Unreal Tournament.
By the way: if you want to download Nebula-Engine: Capture the Flag, please visit the
downloads-section of the Nebula-website.
I decided to restart project RESISTANCE but to change the original concept. RESISTANCE would
no longer be a top-view strategy-game, but a first person-shooter. After finishing CTF I went
on improving the Nebula-Engine (this version of RESISTANCE uses Nebula-Engine v1.1).
A fusion of elements
I wanted to use the original story, but only 9 levels (according to the storyline) was to not
enough. I split the game up into two episodes: Episode I - The escape (what an original
title!) is a socalled prequel and Episode II - The silent battle follows the original
story.
So the characters, meant to be strategygame-based, should act in first person-shooter
environment. That was no problem actually, because the Nebula-Engine supports interaction
between the good-ones (you and your friends) and the bad-ones.
In all I rendered 7 different characters which all exist of 42 sprites (64x64x8bit). Every
character is able to walk, shoot, duck and of course die.
Finally a round off!
During March of 2003 I designed the levels. I decided to keep the size of RESISTANCE as small as
possible, so it can be downloaded easily. That meant no video's, bitmap's (I used .PCM-images)
etc.
Designing all levels was a tough job. In the mean time I coded the menu-, story- and
briefing-screens.
The last month the production of RESISTANCE was at full tilt. And now the job is done.
6) AND NOW...
Well, coding Resistance was a great work to do. However, I'm not doing this again, there will be no RESISTANCE II. I liked it to make a first person-shooter, and I am very satisfied it is finished now.
Actually there ARE some more things I have to do. At first I have to distribute RESISTANCE at
the internet. And I have to put together a "Special Edition". That's because I have all
edited movies yet, and I promised the crew to release a version that includes all movies.
No, that version will not be available on the internet because it is tooooooo large (maybe
in the future when the internet has more capacities).
After that I want to distribute the source-code of the Nebula-Engine included a manual. That
gives everybody the possibility to mutate it to their own preferences.
And of course, in the mean time I there will probably release some updates on RESISTANCE. At this
moment I see no bugs, but it is possible they exist.
Note:On the Nebula-Website you can always find the newest updates and tips. Feel free to contact me if you have questions or a reaction.
7) CREDITS
RESISTANCE and the Nebula-Engine are coded in QuickBasic 4.5, with the support of several library's and programs.
|
Coding: Roel Tempelaar
Actors:
RT Engine: Angelo Mottola & Petter Holmberg of Enhanced Creations
WinNT-Patch: Plasma357 Testers:
Thanks to:
...and all others who supported me! |