pouët.net

Enforce (demo) by Insanity

                Enforce public preview v0.2 alpha

                      by Filip Doksansky
                ---------------------------------


The Enfroce engine has been developed by Filip Doksansky. The used 68k
3D mapping code are still fastest what i seen in game, so i ask him if
is possible, when the Enforce is canceled, relase at least the very fast
beta version. (but it have limitations and bugses, ofcourse ;)
Feedback to author is not possible.


REQUIRMENTS
68040+, OS 3.0+, AHI v4+, AA, 20MB fast
(it should run on 020 + 881 fpu, but don't complain about poor speed,
the engine is based on interleaving integral and fpu instructions, what is
not possible on anything bellow 040 (not even at 030 & 882!) )


OPTIMAL
68060/66Mhz, CSPPC & CVPPC, OS 3.5, AHI v4+, CGX 4.2, Warp3D 3.0

The Warp3D support add speed and possible use of high resolutions even
on 68k cpu. (IIRC, SW rendering don't work for insane resolutions like
1280 pixels...) The demo, unfortunately, don't run under Picasso96 RTG
system, only under CyberGraphX. CGX v4.2+ recommended.
Even the prefs ((c) by Jaroslav Pokorny) have some problems under p96...

The engine can't be started directly from icon (IIRC, that is due to bug
(!) in StormC), so batch file & IconX must be used. There must be a icon
for this engine exe still (that is the one "Don't touch!" ;), because in
tooltypes for the prefs are setuped target icon of game...


PREFS
Feel free setup it, wheather you want ;)  Hit Esc for next, BIG, map!
The credits are obivous - no setup here, the email adress i'm hacked
out due to autor wish. (sorry ShAmaN)
In Engine are setup of surface cache for textures. Curent engine, IIRC,
don't takes into account - leave it at 16MB - it really don't matter...
In the Controls you can change my setup for keyboard control. Mouse
look is nice, altrought curent version don't support looking while
walking... Inventory its not existing, and strafing does not work also
at all. That is limitations here ;)
The Sound allow you select any AHI mode. Don't go too high, it may
limit your framerate and there are really very few sounds only, the
Paula Fast 8bit mono are enought for these :)
Or use the internal routine (in case of not having ahi...).
No sound does not work.

Now the main one, the Display settings.
The checkmarks have that sense:

Warp3D support
--------------
activate W3D suport, and therefore limit the screenmodes to the
hicolor ones, usable for W3D rendering.

Quick rendering
---------------
its a must to be enabled, the copy render its not here, IIRC.

Dirty lock
----------
are a really dirty method, how to avoid the nasty Amiga RTG problem -
direct writing is possilble only into BitmapLock()/Unlock() pair,
what kill whole input device and set's too high priority - therefore
sound can jerking in case of slow buses, like Zorro2, etc..
It also decrease performace, so this hack get's the display adress and
banging it directly, without the Lock()/Unlock() using. Because that way
will end in trasing other screens, while user flip screen, the fliping
of screen are checked and while happens, writing will be stoped...
When screen (Enforce screen) again becomes frontmost, its again readed its
adress and game can continue... ;)

OS buffering
------------
IIRC must be enabled, othervise your mahcine crash ;)

Triple beffering
----------------
Activates OS V39 Multibuffering - its a benefit for W3D render, the
rendering never stops, the framerate can be higger - maybe, because
it also eat videomemory - don't touch if you have only 4MB of then!

256/Hicolor
-----------
Hicolor activate hicolor redering - it a must for Warp3D - the W3D
checkmark also activate it anyway...
But is possible use SW rendering by CPU into hicolor too!
(FAST bus recommended...)


CONTROLS
Possible to be defined ;)  Curently arrows, LAmiga firing fireball,
on numeric part of keyboard 7 means look up, 1 down, and 0 jump.
Strafe don't work, as mentioned before and for moving/selecting of
menu items there aren't be any usage ;)
F1 display framerate (as in 0.1), but due to bug, this is not visible
(supported?) on AA screens anyway.
Anyway, using TAB you can switch trought all these persons views and
then control anyone at this engine ;)))


LIMITATIONS
(eg. bugs section ;)

RTG display don't work at p96 at all (it crash, don't try! ;).

Beware, the 0.2 alpha have LOT's on Enforcer hits! It creating a lines
on other screens, etc, etc... Sometime crashing completely...
...eg, ANYTHING can happen, when program have hits, you know :)

FPS (F1) counter don't work at AA screens.

W3D rendering don't use mipmapping, coz cause unbeliable decreasing of
performace... Sorry, no way to fix... its a know bug, but... Still
i getting 27fps for 640x480 hicolor on my CV3D ;))))  (on wall ;)

Walking on stairs its problematic at low framerates. Since i getting
normaly more that 30fps here, i not complain, but... its know bug ;)

On some polygons (i know one good, but maybe... ;) there aren't be texture
on it. Level design error, that is all...

For advanced users - cliping of moving objects trought viewspaces its not
done right now ;) Everyone can notice that on the "bridge by buttom" room...

Firebal sometimes stay on the wall, sometimes not. Depends on moon phase :)
IIRC it always stay at objects... The lighting its not a simple gourard,
its lightmapping anyway, so if you lightmap lot's of polygons, don't complain
(on slow cpus, like 060/50... he he ;) about lover framerate ;)
(lightmapping means that there are light texture ADITIONALY mapped on the
wall/object polygons)

Uh, that is all what i remember for this little demo! 


FEEDBACK
To autor not possible (read about this also in the relased sourcecodes
(dev/asm) on Aminet - file Enforce_3Dmapper_code.

I'm don't do anything on Enforce at all, only icons (ah, in the bonus
directory you can find some interesting ones ;), this badly written
ReadMe and i betatesting it, about more that year before now...
But, if you want write my something, try.
Maybe i can help or at least explain something...

Its relased with a standard disclaimer - eg. no-one guarentee anything,
so if this cause death of your pet or grandmother - don't complain to me ;)