Initial commit

This commit is contained in:
erysdren 2024-10-12 20:32:30 -05:00
commit 6dfe27ce59
234 changed files with 30429 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,17 @@
...attestato che ormai la LINEARITA' grafica Š indispensabile, questa
versione si chiama:
KAOS v0.87á
- -- --- --- Simultron --- --- -- -
(Rayer upgrade)
- Nuovo algoritmo di correzione prospettica ESATTA per la visualizzazione
degli oggetti (il lato giusto, SEMPRE !);
-

View file

@ -0,0 +1,141 @@
...le versioni 0.88á e 0.88ái sono andate perse...
beh, poco male (mi dispiace per il dischetto) perchŠ c'era un BUGgone che
impediva il corretto funzionamento del 3D_SoundManager, e ora non c'Š pi—!
(il bug !)
Ladies & gentlemen,
The KAOS 0.88á Simultron illusion 2
(2nd revision of illusive version of Kaos)
Come non avrai gi… letto, la parola "illusion" sta a significare che il gioco
contiene algoritmi ad ottimizzazione distruttiva, in grado di offrire grandi
incrementi di prestazioni mostrando per• "inaccettabili" approssimazioni
nei campi di visualizzazione e sonoro.
La parola "inaccettabile" significa che, vedendolo in un'ottica completamente
teorica, il programma (gioco) NON FUNZIONA; guardandolo invece dalla parte
del giocatore, il tutto risulta realistico, veloce e senza compromessi.
Ora metter• alla prova questa mia teoria (del magheggio) lasciandoti come
scopo quello di "riuscire a" trovare le "fregature" (alcune praticamente
impossibili da scovare anche per me).
Naturalmente se non ti accorgerai di nulla, rimarranno il quella definitiva.
Cosa ci guadagno (ci ho guadagnato) ?
Con l'incremento di prestazioni ottenuto Š stato possibile gestire il
quadro di sfondo (lo so quelle nuvolette fanno schifo !), gestire le
sorgenti luminose con il suono del fuoco indipendentemente dalla loro
presenza nel range di visione, gestire in modo diverso il MemoryManager
in modo da permettere l'allocazione ottima nel caso peggiore (WOW!).
NOTA: lo sfondo viene disegnato solo per met… in questa versione !!!!!!!!
Se tu fai un buco nel pavimento NON vedi la parte sotto !!!!!!!!!!!
Se vieni colpito in modo "duro" (>=10%) la visione si sposta in
alto e in basso (prev. in basso) MA LO SFONDO NON SHIFTA !
Non Š che ci voglia tanto a far muovere lo sfondo in verticale, ma
righiede un algoritmo pi— complesso e pi— memoria per contenere
l'intero file d'immagine (che ora occupa un solo .LBM (backg.lbm),
e non credo ne valga pa pena, visto che il giocatore guarda per aria
solo quando viene colpito.
(EHI, non sono cos<6F> stupido! QUESTO NON RIENTRA NEI MAGHEGGI SALVA-CPU !!!)
* per quanto riguarda i flash troppo forti, per ora non mi interessano ma
ricordami in futuro di cambiarli;
* vedi se sono riuscito a mettere le figure fronte/retro (eh s<> perchŠ questo
file lo scrivo anche prima...)
* nella modalit… ADNICO (che in futuro verr… REGOLARIZZATA) sto facendo
diverse prove, quindi non ti preoccupare se "esco dal seminato" !
I Suoni:
- bisogna cambiare il suoni del vento; credo che il problema stia nel fatto
che NON Š possibile ottenere un suono realistico (quando si ripete !) se
il file sonoro Š troppo corto, infatti per fare "FIRE.WAV" ci ho sbattuto
la testa;
(puoi fare questi suoni un p• pi— lunghi, ma occhio !)
- i suoni delle porte vanno benissimo;
- ...anche i vasi;
- per i volumi ci metteremo d'accordo;
- ho ritardato il rimbalzo dei proiettili, e poi... bla,bla,bla, comunque
bisognerebbe rifare il suono un p• pi— simile a quello di Quake;
- non ho ancora messo quello delle ossa;
Il braciere (Brazier) Š bello, ma bisognerebbe abbassare LA PARTE DIETRO
(solo!) della figura di quando Š spento.
* ALTRO *
- se le porte ancora non funzionano tutte, non ti preoccupare, funzioneranno;
- usa con discrezione i muri diagonali (non fare corridoi stretti...) ed
EVITA di fare come ho fatto io nel livello (di test) che ho creato (ora
il livello ha estensione .DLF e per ora NON sar… compatibile con la
versione finale che conterr… tutti i mostri);
- segnati tutti gli errori che trovi (potrebbero essere le esche della
versione "illusion");
NOTA SU QUAKE !!!!!!!!! Quake ?
Ho trovato come entrare nella modalit… Nightmare !!!
(c'Š una porticina sotto alla vasca dell'acqua nell'altro episodio (che io
non ho, quindi non serve)), Š la vasca dove si sbuca da sotto e si cade,
ma puoi usare NOCLIP.
------------ the day after -------------------
Novit… del giorno dopo:
Ho fatto in modo di lasciare degli spazi liberi nella gestione dei
livelli dell'editor. In questo modo i livelli .DLF generati NON SARANNO
compatibili con quelli del disco andato perduto (Copyright almeno sulla
modifica del livello...), ma potrebbero essere quelli definitivi (nel
senso che avranno lo stesso formato di quelli finali non shareware).
Ho aggiustato le porte (almeno cos<6F> credo), tenendo presente il fatto che per
realizzare una porta vera e propria (cioŠ speculare da ambo i lati e con
i doorslots laterali) Š necessario utilizzare la forma a croce (sull'editor),
mentre per i passaggi segreti (o porte senza maniglia) si possono usare tutte
le altre forme (che appaiono sempre nello stesso verso).
Ci sono 16 suoni contemporaneamente (ormai ho dciso, sono necessari tutti).
The Kaos Editor v0.1á:
Come avrai gi… notato ho fatto in modo da creare pulsanti di diverse forme
(...diciamo "misure");
Ci sono 16 (e dico 16 1111111111166666666666666!!!!!!!!!!!!) TABELLE (cioŠ
livelli) diverse. Le prime 12 sono quelle usate prevalentemente per il gioco
e le altre QUATTRO (4444444444!!!!!!!!!!!) sono per gli incontri a 2/3.
Ogni TABELLA si divide in 3 LIVELLI: Soffitto, Muri, Pavimento;
Per i soffitti e pavimenti la cosa Š facile:
si possono solo inserire TEXTURE PIENE (e anche oggetti, ma questa Š un'al-
tra cosa...) e vedere in corrispondenza (sulla stessa mappa) anche la
mappa dei Muri.
La mappa dei Muri contiene tutti i tipi di muri, porte, oggetti, mostri, ecc.
Per ogni muro Š possibile scegliere:
- TEXTURE: figura ad esso associata;
- FORMA: quadrata, verticale, orizzontale, diagonale1, diagonale2,
centrale (per porte)
- TIPO: texture piena (normale), porta 1 (ad apertura laterale), porta 2
(ad apertura centrale), grata 4-8 (4 pixel pieni, 8 vuoti in
sequenza).
Non Š consigliato usare grate diagonali (funzionano solo in
determinate posizioni (per ora, e forse per sempre))
Queste 3 caratteristiche sono selezionabili in modo completamente
indipentente, ma c'Š da notare che NON Š possibile, in questo modo, ottenere
delle porte/grate (cancelli); Š comunque possibili aggiungere 1 "forma" nuova
e 3 "tipi" nuovi al 3D-îngine;
Per ora non c'Š nessuna informazione riguardante la selezione effettuata, ma
in futuro potrebbe essere possibile far abbassare i pulsanti di selezione in
modo da far capire quali scelte sono state fatte per la selezione corrente.
PER QUESTIONI DI SICUREZZA ho messo una protezione al gioco in modo che
si rifiuti di partire SE IL LIVELLO CONTIENE almeno un BUBbone !!!!!!!!!!!!!
(se vuoi la versione completa posso toglierla)
-=ðNicoð=-

View file

@ -0,0 +1,137 @@
Kaos v0.89á
------------====ð DarkHacker ð====-------------
La versione DarkHacker ha il Nuovissimo MemoryManager v3.0:
- Ottimizzato ! Pi— veloce (istantaneo), pi— preciso e pi— funzionale;
- Gestisce 3 tipi di memorie: Convenzionale, XMS, Disco, ed Š comunque
progettato in modo da ospitare anche un futuribile PageManager che
permetterebbe di gestire la memoria EMS (e gli UMB);
La memoria Disco Š a sola lettura, praticamente Š il Mega File .BDF
(Block Data File) che contiene la totalit… dei dati dinamici del gioco.
La velocit… di inizializzazione si porta a pochi secondi (0.5 nel mio
caso, ma ho 1Mb di Smartdrv) e permette di scaricare l'intera area dati
utili (circa 1Mb) senza compressione (almeno per ora, ma non Š escluso che
si possa utilizzare un mio personale algoritmo di compressione creato
su misura per i dati di tipo grafico (e non peggiora le cose nel caso dei
file sonori (poco comprimibili))).
La versione 3.0 non Š poi tutta questa meraviglia, perchŠ la gestione dello
swapping su disco Š fatta in modo "client", nel senso che non c'Š una vera
e propria strategia di gestione, ma si basa sulla semplice richiesta
momentanea di dati. Per questo, ma anche per questioni di lentezza,
l'utilizzo del disco viene fatto solo in caso di completa allocazione delle
altre risorse. Questa modalit… di gestione NON significa che se un dato non
Š presente in memoria vene caricato ripetutamente da disco, ma solo che Š
possibile che dati veramente unutili siano conservati in XMS mentre invece
i dati utilizzati di rado stiano su disco !
Ma allora come fa Wolf3D ?
Anche Wolf3D ha i suoi problemi, e li risolve in modo diverso:
- per ogni blocco di memoria mantiene informazioni riguardanti il numero di
volte che il blocco Š utilizzato e, in base a questo numero, decide quale
togliere;
Non ho usato questo metodo perchŠ richiede + memoria, + tempo per decidere
qual'Š il blocco da eliminare ed ha un problema: se un blocco viene preso
per essere usato in modo alternato con altri (come pu• essere un'animazione)
il risultato Š quello di swappare sempre e solo questi blocchi perchŠ sono
usati poco (nel senso "per poco tempo") e ci• provoca un ulteriore
rallentamento, senza contare che quando cambi stanza le texture possono
anche cambiare completamente e perci• si deve attendere che le nuove
siano usate tanto quanto quelle vecchie oppure scegliere un time-slice che
sia piccolo, ma a questo punto non servirebbe a niente procedere con...
BASTAAAA! (...insomma Š una soluzione del cazzo!)
Ma come fa DOOM ?
Seeeeeee ! M• voi pure sapŠ come fa DOOM !!
S<>!
Beh, DOOM USA LA MODALITA' PROTETTA e tutti i suoi 32 bit e non ha problemi
di swapping in memoria, perci• si preoccupa solo di averne di disponibile,
altrimenti si carica i dati dal disco... insomma si pone pochi problemi.
Come VEDERE lo swapping (in memoria o su disco).
E' statisticamente provato che per emettere i suoni dei tuoni, o per
caricare l'immagine dello sfondo (solo quando questo Š visibile !) il
MemoryManager viene impegnato in una operazione ripetuta di swapping di
blocchi. Se la memoria Š in condizioni non favorevoli, questa fase
pu• provocare la perdita di 1 frame (ma si nota ugualmente, specialmente sui
Pentium).
Ho aggiunto un controllo globale di memoria libera in modo da impedire la
partenza del gioco in condizioni di "grave mancanza di memoria".
DATI (NOTA MOLTO BENE !):
Il gioco pu• girare anche con soli 80Kb di memoria base libera !!!!!!!!!!!!
80Kb di memoria base corrispondono a meno di 400Kb di memoria convenzionale,
ma pu• cambiare al variare della grandezza dell'eseguibile.
Logicamente pi— bassa Š la memoria e pi— lento sar… il gioco !
A partire da circa 240Kb di memoria base gli swapping diventano pi— rari e
il gioco rallenta solo a tratti (quando deve preparare suoni lunghi);
da qui, aumentando la memoria, i rallentamenti caleranno in modo
esponenziale.
Se non si configura il computer per dare abbastanza memoria XMS (circa 2Mb
utile, ma ne vengono allocati anche 4), se necessario, entrer… in ballo la
memoria disco (non poi cos<6F> lenta), perci• il gioco, IN MODALITA' "DATAFILE",
pu• anche girare in soli 400Kb di memoria convenzionale !!!!!!!!!!!!!!!!!!!
I dati sono stati raccolti con Windows95, quindi non so se sono attendibili.
Condizioni critiche:
In condizioni di "very low memory", Š possibile che alcune funzioni vengano
automaticamente annullate se non si riesce a preparare i dati.
Ecco una list delle principali funzioni che richiedono molte risorse, messe
in ordine di "disattivabilit…":
1) sfondo;
2) suoni;
3) numeri per il punteggio;
4) textures di gioco (impossibile che vengano disattivate);
E' molto probabile che si verifichino casi in cui la presenza momentanea di
un suoni (lunghi) provochi la disattivazione (altrettanto MOMENTANEA) dello
sfondo. In condizioni di memoria "gravemente bassa" lo sfondo non viene
disegnato praticamente mai (sfondo nero).
------------------------------------------------------------------------
Lasts
------------------------------------------------------------------------
* Ho aggiunto le 30 textures;
* Ho messo i pavimenti trasparenti
(NON POTEVO RINUNCIARCI, AVEVO GIA' FATTO LA ROUTINE !)
L'unico problema Š che, per ragioni di velocit…, Š necessario piazzare
le texture trasparenti nelle ultime 3 posizioni (vedi Walls5) o, se la
cosa ti interessa, nelle ultime 8 posizioni (8 textures !)
NON si contano le VERE ultime 2 textures (DOOR SLOT & SWITCH UP);
Data la particolare struttura dell'algoritmo, la presenza di troppe
textures trasparenti nello stesso quadro NON necessariamente RALLENTA
il gioco e, se gli spazi vuoti solo >50% dell'intera texture allora si
ha addirittura un AUMENTO DI PRESTAZIONI (ma bisogna calcolare che, a
questo punto, deve essere disegnato anche lo sfondo) !
* Ho aumentato la capienza della DrawList (max 128 oggetti);
* Ho abbozzato un'intelligenza (di test) allo SLIMER
(ha un range di visione di 150ø, e spara dei missiloni se vede un player
o un altro slimer)
PROVA AD USARE IL LIVELLO DI PROVA CHE TI HO FATTO...
...quando entri nello stanzone con gli Slimers cominci a strippare !
Ora lo Slimer ha un oggetto tutto suo.
(in futuro lo avranno tutti...)
* Ho aggiunto il NULL-block anche per i muri (come Quake);
* Ho fatto di tutto per farmi venire l'errore del loadsound() ma non mi Š
mai apparso !
----------------------
Ultime di Mezzanotte (e non scherzo !)
----------------------
Ho attappato qualche problema dell'editor, ma credo che ce ne siano altri...
Ho rallentato i missili...
...ecc. non mi ricordo pi—, c'ho sonno
-=ðNicoð=-

View file

@ -0,0 +1,323 @@
+ +
+ ++ ++++ ++ + +
+ ++ ++++++++ ++
++++ __-++++++++++ ++++ +
+ + +++++ _---+++++++++++ +++++ + +
++ ++++ +++++++++++++ ++++ ++ +
+ ++++ ++++++ +++++++++++++++++ ++++++ ++++ +
+ ++++++++++++++++++++++++++++++++++++++++++
+ + ++++++++++++++++++++++++++++++++++ + + +
++++ ++++++++++++++++++++++++++ ++++ +
+ + ++++++++++++++++++++++++++++++++++ +
<20>ndromeda SoŸt KAOS v0.83á Golden Hawk
Technical Informations and Error Reports
(another story-file)
Dalla versione L0.8 KAOS dispone delle seguenti novit…:
- Gestione lineare della grafica (persi 64K di RAM);
- Gestione completa della mappa di gioco con forme multiple;
- Pavimenti e soffitti in texture quadrate e gestione luce, con 5 livelli
di ottimizzazione (ma per me Š ancora lento);
- Fantastico (Š dir poco!) algoritmo di gestione degli oggetti con mappa
separata ed estese capacit… di sovrapposizione (dynamically linked list
with automatic collision updating (C)1997 Valentini Domenico);
- Eccezionale flessibilit… e resistenza alle modifiche (l'ho fatto io !);
- ...
Dalla 0.83:
- 3D_SoundManager v1.0 DMA with wave desync and ray-casting calculations;
- MemoryManager v1.1 with Page locking and fast reset ( -=ðFaster );
- Enhanced Collision Detection algorithm;
- return of Multi-Player game;
- return of Window resizable (needs testing) & Palette GAMMA correction;
EHI IT'S A BETA ! Needs to be tested !
Info:
- Per me, con la SYNCronizzazione video, dovrebbe andare pi— lento... quindi
puoi toglierla con l'opzione /NOSYNC (se vuoi vedere le opzioni usa /H, ma
certe ancora non funzionano); sto cercando un altro algoritmo per la
sincronizzazione, ma Š assolutamente inutile perchŠ dipende solo dalla
scheda video !
- La vera lentezza del gioco Š solo nei pavimenti e soffitti, tutto il
resto Š veloce anche senza ottimizzazione; non credo che metter• mai
un'opzione per eliminare il disegno dei pav/sof, ma forse si potrebbe
fare una routine pi— veloce senza texture mapping per i computer dove
la lentezza Š inaccettabile ( <18 fps );
----------------------------------------------------------------------------
STORIA DI UN ERRORE O DI UN VIRUS ? (26/10/96)
(...questo lo devo assolutamente scrivere !)
(se non ti interessa, salta oltre il tratteggio)
Il fottuto problema del ca..., li mort..., sto str..., porc... l'ho risolto!
L'errore pi— difficile di tutti quelli che mi sono capitati (tempo di
determinazione della soluzione: circa 6 ore complessive).
(ora capisci che intendo per esaurimento di nervi !?)
Il problema stava diviso in due routines assembler del gestore di
memoria e agiva in modo assolutamente incontrollabile, perchŠ dipendeva
dalla configurazione iniziale (casuale) del computer, e siccome questo
si bloccava sempre, il risultato cambiava ad ogni reset del sistema.
L'errore di per s avrebbe comportato solo un'errata scrittura in memoria
ma questo influiva su quasi tutte le funzioni del gioco e quindi l'errore
era ogni volta diverso. Una volta determinato l'errore vero e proprio,
cioŠ "il mandante" l'ho corretto, ma a questo punto il secondo errore Š
corso in aiuto del primo rimischiando le carte ed eludendo ogni tipo di
controlli da me fatti per annientare il primo (sembra una puntata di
"Hack, l'ammazzavirus"). Un errore, oserei dire, Stealth e da
Immunodeficenza prodotta (detto cos<6F> sembra proprio un virus).
Solo un'attenta analisi incrociata e l'attacco su pi— fronti, l'elimina-
zione di parti di programma, la creazione di finte aree dati e un
piccolo giro di debug {*blink*} hanno permesso di determinare la causa
prima del male (ma non la seconda !) e in seguito (per induzione) anche
la seconda, con l'ovvia fortuna di averli entrambi dello stesso tipo e
nello stesso modulo !
Questo tipo di errore Š quello pi— bestiale (ma avviene quasi esclusiva-
mente per l'uso di routines assembler) ed Š provocato dal caricamento di
dati puntatore (far) nel DATA SEGMENT con l'immediato impedimento di
leggere dati globali con l'esatto valore (il compilatore dice che va
tutto bene e invece col cazzo !). Di per s il problema di leggere
i valori corretti delle variabili provoca un malfunzionamento evidente
del modulo e il suo immediato riconoscimento, ma questa volta si Š
creata una "coincidenza di istruzioni" per cui il primo errore provocava
distruzione di dati in memoria (e quindi un malfunzionamento su tutti i
fronti) e il secondo provvedeva a nascondere il primo con la tecnica
stealth di ricoprimento, tipica dei virus informatici.
Scusa della noiosa interruzione, ma Š per i posteri ! (It will be only ONE !)
----------------------------------------------------------------------------
Problemi noti (in questa versione c'Š una soluzione a tutto ! (se p• f…)):
- collisioni in generale tra mostri e muri...;
- quando si Š attaccati ad un mostro, questo non riesce a staccarsi;
- 3d_sound da tarare (cos<6F> va bene ?);
si deve anche regolare il fattore di attenuazione dovuto al passaggio del
suono attraverso muri, ecc.
- non ci sono ancora tutte le animazioni;
- alcune collisioni non sono state esaminate (bisogna impostare la
dimensione virtuale degli oggetti coinvolti);
- forzando, si pu• passare tra 2 colonne (Š davvero un problema ?);
- Non c'Š ancora l'editor per la nuova versione (!);
- Non c'Š ancora la gestione dei font lineare (ma Š quasi fatta);
- Non c'Š ancora la gestione delle esplosioni (Š solo simulata per alcuni
oggetti, ma non provoca nessuno spostamento);
- Il Player non muore;
- ...e tutte le cavolate
Problemi lontani (in ordine di precedenza):
- L'editor;
- Il men—;
- La gestione del mouse o joystick;
I Suoni:
Ci sono delle regole per la registrazione dei suoni:
- accŠtto ®solo¯ i formati RAW, VOC, WAV a 11,025KHz NON COMPRESSI, MONO e
ad 8 BIT ! (se si decidesse di abbassare la frequenza per tutti o di
ridurre la grandezza dei files a me sta bene (ma l'eco Š bello));
- Il volume per i suoni (3D) che verranno spazializzati deve essere
globalmente lo stesso (o coerente nel'insieme) e NON deve avere punte in
cui l'onda viene tagliata (l'hai fatto a Teoria dei Segnali ehh ?! (vedi
"-cut" o "Bobbit")); questa cosa Š importante perchŠ non influisce
negativamente solo sulla qualit… del suono, ma anche sul lavoro di
sovrapposizione del 3D_SoundManager !!!
NOTA: I suoni di ambiente come tuoni, gocce (?), ecc. sono trattati in
modo diverso e quindi possono avere volumi anche molto diversi.
Problema gravissimo:
LA MEMORIA: Il nuovo gestore di memoria riesce a bloccare aree di memoria
con alta priorit… (quelle dei suoni) evitando un continuo
processo di swapping in XMS ma, data la grandezza dei file
sonori, questo impedisce lo spostamento di altri blocchi.
Se gli altri blocchi sono le texture, il problema non Š grave,
ma potrebbe rallentare il gioco su un computer lento (486),
invece se il blocco Š quello relativo ad un'altro suono, cioŠ
di grandi dimensioni, si potrebbe bloccare addirittura il
gioco! (Stiamo lavorando per voi)
Se un suono non entra in memoria, NON VIENE SUONATO ! (Ma in
futuro potrebbe liberarsi...).
IL PROGRAMMA E' STATO RICOMPILATO OTTIMIZZANDO LA GRANDEZZA
DELL'ESEGUIBILE E NON LA VELOCITA' D'ESECUZIONE !!!!!!!!!!!
La prossima revisione sar… ottimizzata per memoria a cominciare
dal nuovo gestore (MemoryManager v1.1) e ci• comporter… un
rallentamento delle funzioni di swapping (non apprezzabile
ad occhio, credo)
úúúúúúúúúúúú-----=======ððððððððððððððððððððððððð=======-----úúúúúúúúúúúúúú
1ø revisione: KAOS1.EXE
"Dalla qualit… ed evoluzione degli errori direi che la versione 8 di KAOS Š
veramente ad un'altro livello. Ma anche per gli errori dell'ottava gene-
razione c'Š stato rimedio."
Ho gi… sfornato la prima revisione della versione L0.83á (Š proprio vero,
quando le cose funzionano...). In questa Š stata modificata la struttura
dati utilizzata per la gestione del MemoryManager (guadagno di circa 3Kb !
Ultimamente m'attacco pure ai bit !) e apportate delle modifiche ai
parametri di compilazione per ottenere delle ottimizzazioni per le routines
assembler.
Ho applicato un ulteriore ottimizzazione alle routines di disegno pavimenti/
soffitti (in totale 6 ottimizzazioni in cascata, di cui quest'ultima fissa).
Problemi gravi da risolvere subito:
- Le collisioni tra gli oggetti, e intendo tutti tranne il player, devono es-
sere uniformate ad utilizzare l'algoritmo del Player.
DEVI TESTARE L'ALGORITMO DI COLLISIONE DEL PLAYER CON MURI E OGGETTI FERMI
se questo ti va bene allora procedo alla sostituzione generale (ma
attenzione, il nuovo algoritmo Š meno efficiente ed Š una via di mezzo tra
quello stupido e quello intelligente (inaccettabile));
Modificando questo errore si ovvierebbe anche ad un'altra bestialata che
riguarda l'errata visualizzazione degli oggetti molto vicini ai muri
(prima si tagliavano, ora sono loro a "tagliare" il muro !);
- La modalit… MULTI-PLAYER NON Š stata assolutamente controllata !!!
Problemi meno gravi:
- Non c'Š ancora la registrazione della configurazione (ma non credo che
serva a molto ora che io lavoro a finestra massima e l'algoritmo di
ricalcolo delle dimensioni Š praticamente istantaneo);
Ottimizzare, s<> ma quanto ?
* Gli oggetti mobili (per ora solo i mostri) si attivano solo quando sono
stati visti almeno per una volta e da quel momento si animano per tutta la
loro vita rubando tempo alla CPU anche quando nessuno pu• vederli per un
lungo periodo di tempo ("Se un albero cade in Australia e nessuno pu•
vederlo, allora l'albero Š caduto o no ?")...
Per mostri poco intelligenti (come topi o slimer) potrebbe essere possibile
fornire un controllo sul tempo che Š trascorso dall'ultima volta che sono
stati visti e procedere cos<6F> (singolarmente) alla loro disattivazione (nel
senso che non vengono pi— animati fino alla prossima inquadratura da parte
di almeno un giocatore).
Per le torce e i lampadari questo tipo di ottimizzazione Š spinta ai massimi
livelli, bloccando immediatamente l'animazione non appena l'oggetto esce
fuori dal quadro di visione globale.
* Il 3D-îngine riesce a gestire qualsiasi oggetto, per questo potrebbe essere
possibile un'inquadratura separata (fronte/retro), una visione dal punto di
vista del missile che vola, la "modalit… carrello" di BARBOON, ecc.
L'unica restrizione che per ora non intendo elimirare per ragioni di
efficienza Š il fatto che il 3D-îngine non possa gestire al meglio (che si
legge "velocemente") finestre di dimensioni diverse.
---- Nel KAOS2.EXE c'Š la versione con il 3D_SoundManager tarato bene
(almeno credo); per controllare la veridiciticimiticit… usare ADMAXY
e sparare in tondo... (in entrambe le versioni) e provare poi con i
punti lontani e con quelli nascosti dai muri, sempre girando lo sguardo
mentre il suono Š in esecuzione.
Non credo di aver ancora raggiunto l'uso ottimale di entrambe le
tecniche stereo (per questa versione lo sfasamento si occupa solo
dell'angolo e il volume della distanza e dell'attenuazione, invece
dovrebbe esserci una specie di interazione profondamente matematica...)
NOTA DEI TEMPI PRESENTI: 'sto gioco 'n finir… mai!
(momento di sconforto) A me m'ha rotto verament'ibball !
Me comincia a stuf… pure 'l 3D sound !!
PerchŠ dopo non facciamo un programma serio invece
dell'n-esima copiatura ?
PerchŠ perdere tempo con questa roba quando c'Š chi
ti gestisce BSP in 3D al doppio della velocit… con
texture mapping a correzione prospettica e Phong
shading ?
PerchŠ 2 non fa 3 ?
PerchŠ non mettiamo una musica heavy metal nel
gioco ?
PerchŠ non mi va di pensare a come disegnare lo
sfondo ?
PerchŠ per ottenere lo sfondo sul map editor sar…
necessario applicare dei quadrati particolari non
associati a nessuna texture nel gioco ?
PerchŠ non facciamo un gioco di motoscafi come
quello di Federico ?
Ma non era di auto ?
Beh s<>, ma hai visto come curvano ?
PerchŠ in queste versioni non ho messo i pavimenti
diversi ?
PerchŠ perdo tempo a scrivere queste cazzate quando
devo studiare Fisica II ?
PerchŠ il MemoryManager non funziona per
Windows 95(TM) ?
PerchŠ anche il gioco di Federico non funziona sotto
Windows 95(TM) ?
Cos'Š Windows 95(TM) ?
Cos'Š (TM) ?
Cos'Š ? ?
PerchŠ il MemoryManager vede solo 2M di XMS ?
PerchŠ ho programmato la SB16 in modo diverso dalla
SBPro ?
PerchŠ se riduco la finestra di visualizzazione Š
possibile che il computer si blocchi quando c'Š
un corridoio lungo ?
PerchŠ l'algoritmo di disegno dei pavimenti va pi—
veloce quando i pavimenti cambiano orizzontalmente
rispetto a quando i pavimenti sono visti a strisce
verticali ?
PerchŠ tutti vogliono fare i programmatori e farsi
venire la meningite ?
PerchŠ c'Š ancora chi programma l'Amiga(TM) ?
PerchŠ in casi particolari il MemoryManager v1.1
non funziona rispetto al suo predecessore ?
PerchŠ non voglio suonare i file sonori direttamente
dalla memoria XMS quando ho quasi la certezza che
questo possa essere fatto ?
PerchŠ non mi sono comprato il compilatore a 32 bit
per non avere pi— problemi di memoria ?
PerchŠ gli altri non si fanno tutti questi
problemi ?
PerchŠ gli alieni di ID4 hanno attaccato la Terra
senza pensarci troppo ?
PerchŠ avevano i tentacoli ?
PerchŠ non facciamo un gioco proiettato al futuro
o uno simile ad "Alone in the Dark" ?
PerchŠ hai continuato a leggere queste domande
se sapevi che erano inutili e senza le risposte ?
PerchŠ hai guardato quanto mancava ancora da
leggere prima della fine del file ?
PerchŠ non usi il RAR per comprimere ? (l'ho messo
nel disco, ma Š nascosto e devi scrivere:
attrib -h a:rar.exe)
PerchŠ prima di masterizzare il tuo hard disk non
esegui l'ottimizzazione del disco ?
PerchŠ in Quake FLY&NOCLIP le torce si vedono
anche nell'altra stanza e i mostri no ?
PerchŠ l'eseguibile del nostro gioco Š cos<6F> grosso ?
PerchŠ "Ingegneria del software" e "Informatica
Grafica" sono in alternativa ?
PerchŠ rot(TUO) != 0 ?
PerchŠ mi invento sempre nomi strani per ogni nuova
versione del Kaos di Kaos ?
PerchŠ "Golden Hawk" ?
PerchŠ non ho fatto una mappa 128x128 ?
PerchŠ non Š assolutamente possibile cambiare le
dimensioni di questa mappa ?
PerchŠ sono tanto fiero della mappa degli oggetti ?
PerchŠ ora di C++ Š rimasta solo la gestione degli
oggetti e degli eventi ?
PerchŠ non ho ancora ottimizzato al massimo il
3D-îngine ?
PerchŠ non ho messo il soldato o le animazioni
delle morti dei mostri ?
PerchŠ ci vuole tanto tempo a fare questa cavolo di
intelligenza dei mostri ?
PerchŠ non si prendono ancora gli oggetti ?
PerchŠ questo file mi ricorda tanto la fine di
"Monkey Island" 1, 2 e "Sam & Max hit the road" ?
PerchŠ PerchŠ ?
PerchŠ uso il DMA basso anche per la SB16 ?
PerchŠ il sonoro non funziona se non ho impostato
il DMA ad 1 e l'IRQ a 5 ?
PerchŠ sul tuo computer la temporizzazione non
funziona ?
PerchŠ non ho corretto il problema delle torce ?
PerchŠ non ho scritto all'inizio della pagina ?
PerchŠ i tuoi due controller hanno fatto conflitto
solo dopo un anno di uso ?
PerchŠ non ho copiato la routine di
autoconfigurazione della scheda sonora dai
sorgenti di Wolf3D ?
PerchŠ termina cos<6F> la lista dei perchŠ ?
Unica risposta: PerchŠ me s• rotto !
-=ðNicoð=-

View file

@ -0,0 +1,324 @@
+ +
+ ++ ++++ ++ + +
+ ++ ++++++++ ++
++++ __-++++++++++ ++++ +
+ + +++++ _---+++++++++++ +++++ + +
++ ++++ +++++++++++++ ++++ ++ +
+ ++++ ++++++ +++++++++++++++++ ++++++ ++++ +
+ ++++++++++++++++++++++++++++++++++++++++++
+ + ++++++++++++++++++++++++++++++++++ + + +
++++ ++++++++++++++++++++++++++ ++++ +
+ + ++++++++++++++++++++++++++++++++++ +
<20>ndromeda SoŸt KAOS v0.83á Golden Hawk
Technical Informations and Error Reports
(another story-file)
Dalla versione L0.8 KAOS dispone delle seguenti novit…:
- Gestione lineare della grafica (persi 64K di RAM);
- Gestione completa della mappa di gioco con forme multiple;
- Pavimenti e soffitti in texture quadrate e gestione luce, con 5 livelli
di ottimizzazione (ma per me Š ancora lento);
- Fantastico (Š dir poco!) algoritmo di gestione degli oggetti con mappa
separata ed estese capacit… di sovrapposizione (dynamically linked list
with automatic collision updating (C)1997 Valentini Domenico);
- Eccezionale flessibilit… e resistenza alle modifiche (l'ho fatto io !);
- ...
Dalla 0.83:
- 3D_SoundManager v1.0 DMA with wave desync and ray-casting calculations;
- MemoryManager v1.1 with Page locking and fast reset ( -=ðFaster );
- Enhanced Collision Detection algorithm;
- return of Multi-Player game;
- return of Window resizable (needs testing) & Palette GAMMA correction;
EHI IT'S A BETA ! Needs to be tested !
Info:
- Per me, con la SYNCronizzazione video, dovrebbe andare pi— lento... quindi
puoi toglierla con l'opzione /NOSYNC (se vuoi vedere le opzioni usa /H, ma
certe ancora non funzionano); sto cercando un altro algoritmo per la
sincronizzazione, ma Š assolutamente inutile perchŠ dipende solo dalla
scheda video !
- La vera lentezza del gioco Š solo nei pavimenti e soffitti, tutto il
resto Š veloce anche senza ottimizzazione; non credo che metter• mai
un'opzione per eliminare il disegno dei pav/sof, ma forse si potrebbe
fare una routine pi— veloce senza texture mapping per i computer dove
la lentezza Š inaccettabile ( <18 fps );
----------------------------------------------------------------------------
STORIA DI UN ERRORE O DI UN VIRUS ? (26/10/96)
(...questo lo devo assolutamente scrivere !)
(se non ti interessa, salta oltre il tratteggio)
Il fottuto problema del ca..., li mort..., sto str..., porc... l'ho risolto!
L'errore pi— difficile di tutti quelli che mi sono capitati (tempo di
determinazione della soluzione: circa 6 ore complessive).
(ora capisci che intendo per esaurimento di nervi !?)
Il problema stava diviso in due routines assembler del gestore di
memoria e agiva in modo assolutamente incontrollabile, perchŠ dipendeva
dalla configurazione iniziale (casuale) del computer, e siccome questo
si bloccava sempre, il risultato cambiava ad ogni reset del sistema.
L'errore di per s avrebbe comportato solo un'errata scrittura in memoria
ma questo influiva su quasi tutte le funzioni del gioco e quindi l'errore
era ogni volta diverso. Una volta determinato l'errore vero e proprio,
cioŠ "il mandante" l'ho corretto, ma a questo punto il secondo errore Š
corso in aiuto del primo rimischiando le carte ed eludendo ogni tipo di
controlli da me fatti per annientare il primo (sembra una puntata di
"Hack, l'ammazzavirus"). Un errore, oserei dire, Stealth e da
Immunodeficenza prodotta (detto cos<6F> sembra proprio un virus).
Solo un'attenta analisi incrociata e l'attacco su pi— fronti, l'elimina-
zione di parti di programma, la creazione di finte aree dati e un
piccolo giro di debug {*blink*} hanno permesso di determinare la causa
prima del male (ma non la seconda !) e in seguito (per induzione) anche
la seconda, con l'ovvia fortuna di averli entrambi dello stesso tipo e
nello stesso modulo !
Questo tipo di errore Š quello pi— bestiale (ma avviene quasi esclusiva-
mente per l'uso di routines assembler) ed Š provocato dal caricamento di
dati puntatore (far) nel DATA SEGMENT con l'immediato impedimento di
leggere dati globali con l'esatto valore (il compilatore dice che va
tutto bene e invece col cazzo !). Di per s il problema di leggere
i valori corretti delle variabili provoca un malfunzionamento evidente
del modulo e il suo immediato riconoscimento, ma questa volta si Š
creata una "coincidenza di istruzioni" per cui il primo errore provocava
distruzione di dati in memoria (e quindi un malfunzionamento su tutti i
fronti) e il secondo provvedeva a nascondere il primo con la tecnica
stealth di ricoprimento, tipica dei virus informatici.
Scusa della noiosa interruzione, ma Š per i posteri ! (It will be only ONE !)
----------------------------------------------------------------------------
Problemi noti (in questa versione c'Š una soluzione a tutto ! (se p• f…)):
- collisioni in generale tra mostri e muri...;
- quando si Š attaccati ad un mostro, questo non riesce a staccarsi;
- 3d_sound da tarare (cos<6F> va bene ?);
si deve anche regolare il fattore di attenuazione dovuto al passaggio del
suono attraverso muri, ecc.
- non ci sono ancora tutte le animazioni;
- alcune collisioni non sono state esaminate (bisogna impostare la
dimensione virtuale degli oggetti coinvolti);
- forzando, si pu• passare tra 2 colonne (Š davvero un problema ?);
- Non c'Š ancora l'editor per la nuova versione (!);
- Non c'Š ancora la gestione dei font lineare (ma Š quasi fatta);
- Non c'Š ancora la gestione delle esplosioni (Š solo simulata per alcuni
oggetti, ma non provoca nessuno spostamento);
- Il Player non muore;
- ...e tutte le cavolate
Problemi lontani (in ordine di precedenza):
- L'editor;
- Il men—;
- La gestione del mouse o joystick;
I Suoni:
Ci sono delle regole per la registrazione dei suoni:
- accŠtto ®solo¯ i formati RAW, VOC, WAV a 11,025KHz NON COMPRESSI, MONO e
ad 8 BIT ! (se si decidesse di abbassare la frequenza per tutti o di
ridurre la grandezza dei files a me sta bene (ma l'eco Š bello));
- Il volume per i suoni (3D) che verranno spazializzati deve essere
globalmente lo stesso (o coerente nel'insieme) e NON deve avere punte in
cui l'onda viene tagliata (l'hai fatto a Teoria dei Segnali ehh ?! (vedi
"-cut" o "Bobbit")); questa cosa Š importante perchŠ non influisce
negativamente solo sulla qualit… del suono, ma anche sul lavoro di
sovrapposizione del 3D_SoundManager !!!
NOTA: I suoni di ambiente come tuoni, gocce (?), ecc. sono trattati in
modo diverso e quindi possono avere volumi anche molto diversi.
Problema gravissimo:
LA MEMORIA: Il nuovo gestore di memoria riesce a bloccare aree di memoria
con alta priorit… (quelle dei suoni) evitando un continuo
processo di swapping in XMS ma, data la grandezza dei file
sonori, questo impedisce lo spostamento di altri blocchi.
Se gli altri blocchi sono le texture, il problema non Š grave,
ma potrebbe rallentare il gioco su un computer lento (486),
invece se il blocco Š quello relativo ad un'altro suono, cioŠ
di grandi dimensioni, si potrebbe bloccare addirittura il
gioco! (Stiamo lavorando per voi)
Se un suono non entra in memoria, NON VIENE SUONATO ! (Ma in
futuro potrebbe liberarsi...).
IL PROGRAMMA E' STATO RICOMPILATO OTTIMIZZANDO LA GRANDEZZA
DELL'ESEGUIBILE E NON LA VELOCITA' D'ESECUZIONE !!!!!!!!!!!
La prossima revisione sar… ottimizzata per memoria a cominciare
dal nuovo gestore (MemoryManager v1.1) e ci• comporter… un
rallentamento delle funzioni di swapping (non apprezzabile
ad occhio, credo)
úúúúúúúúúúúú-----=======ððððððððððððððððððððððððð=======-----úúúúúúúúúúúúúú
1ø revisione: KAOS1.EXE
"Dalla qualit… ed evoluzione degli errori direi che la versione 8 di KAOS Š
veramente ad un'altro livello. Ma anche per gli errori dell'ottava gene-
razione c'Š stato rimedio."
Ho gi… sfornato la prima revisione della versione L0.83á (Š proprio vero,
quando le cose funzionano...). In questa Š stata modificata la struttura
dati utilizzata per la gestione del MemoryManager (guadagno di circa 3Kb !
Ultimamente m'attacco pure ai bit !) e apportate delle modifiche ai
parametri di compilazione per ottenere delle ottimizzazioni per le routines
assembler.
Ho applicato un ulteriore ottimizzazione alle routines di disegno pavimenti/
soffitti (in totale 6 ottimizzazioni in cascata, di cui quest'ultima fissa).
Problemi gravi da risolvere subito:
- Le collisioni tra gli oggetti, e intendo tutti tranne il player, devono es-
sere uniformate ad utilizzare l'algoritmo del Player.
DEVI TESTARE L'ALGORITMO DI COLLISIONE DEL PLAYER CON MURI E OGGETTI FERMI
se questo ti va bene allora procedo alla sostituzione generale (ma
attenzione, il nuovo algoritmo Š meno efficiente ed Š una via di mezzo tra
quello stupido e quello intelligente (inaccettabile));
Modificando questo errore si ovvierebbe anche ad un'altra bestialata che
riguarda l'errata visualizzazione degli oggetti molto vicini ai muri
(prima si tagliavano, ora sono loro a "tagliare" il muro !);
- La modalit… MULTI-PLAYER NON Š stata assolutamente controllata !!!
Problemi meno gravi:
- Non c'Š ancora la registrazione della configurazione (ma non credo che
serva a molto ora che io lavoro a finestra massima e l'algoritmo di
ricalcolo delle dimensioni Š praticamente istantaneo);
Ottimizzare, s<> ma quanto ?
* Gli oggetti mobili (per ora solo i mostri) si attivano solo quando sono
stati visti almeno per una volta e da quel momento si animano per tutta la
loro vita rubando tempo alla CPU anche quando nessuno pu• vederli per un
lungo periodo di tempo ("Se un albero cade in Australia e nessuno pu•
vederlo, allora l'albero Š caduto o no ?")...
Per mostri poco intelligenti (come topi o slimer) potrebbe essere possibile
fornire un controllo sul tempo che Š trascorso dall'ultima volta che sono
stati visti e procedere cos<6F> (singolarmente) alla loro disattivazione (nel
senso che non vengono pi— animati fino alla prossima inquadratura da parte
di almeno un giocatore).
Per le torce e i lampadari questo tipo di ottimizzazione Š spinta ai massimi
livelli, bloccando immediatamente l'animazione non appena l'oggetto esce
fuori dal quadro di visione globale.
* Il 3D-îngine riesce a gestire qualsiasi oggetto, per questo potrebbe essere
possibile un'inquadratura separata (fronte/retro), una visione dal punto di
vista del missile che vola, la "modalit… carrello" di BARBOON, ecc.
L'unica restrizione che per ora non intendo elimirare per ragioni di
efficienza Š il fatto che il 3D-îngine non possa gestire al meglio (che si
legge "velocemente") finestre di dimensioni diverse.
---- Nel KAOS2.EXE c'Š la versione con il 3D_SoundManager tarato bene
(almeno credo); per controllare la veridiciticimiticit… usare ADMAXY
e sparare in tondo... (in entrambe le versioni) e provare poi con i
punti lontani e con quelli nascosti dai muri, sempre girando lo sguardo
mentre il suono Š in esecuzione.
Non credo di aver ancora raggiunto l'uso ottimale di entrambe le
tecniche stereo (per questa versione lo sfasamento si occupa solo
dell'angolo e il volume della distanza e dell'attenuazione, invece
dovrebbe esserci una specie di interazione profondamente matematica...)
NOTA DEI TEMPI PRESENTI: 'sto gioco 'n finir… mai!
(momento di sconforto) A me m'ha rotto verament'ibball !
Me comincia a stuf… pure 'l 3D sound !!
PerchŠ dopo non facciamo un programma serio invece
dell'n-esima copiatura ?
PerchŠ perdere tempo con questa roba quando c'Š chi
ti gestisce BSP in 3D al doppio della velocit… con
texture mapping a correzione prospettica e Phong
shading ?
PerchŠ 2 non fa 3 ?
PerchŠ non mettiamo una musica heavy metal nel
gioco ?
PerchŠ non mi va di pensare a come disegnare lo
sfondo ?
PerchŠ per ottenere lo sfondo sul map editor sar…
necessario applicare dei quadrati particolari non
associati a nessuna texture nel gioco ?
PerchŠ non facciamo un gioco di motoscafi come
quello di Federico ?
Ma non era di auto ?
Beh s<>, ma hai visto come curvano ?
PerchŠ in queste versioni non ho messo i pavimenti
diversi ?
PerchŠ perdo tempo a scrivere queste cazzate quando
devo studiare Fisica II ?
PerchŠ il MemoryManager non funziona per
Windows 95(TM) ?
PerchŠ anche il gioco di Federico non funziona sotto
Windows 95(TM) ?
Cos'Š Windows 95(TM) ?
Cos'Š (TM) ?
Cos'Š ? ?
PerchŠ il MemoryManager vede solo 2M di XMS ?
PerchŠ ho programmato la SB16 in modo diverso dalla
SBPro ?
PerchŠ se riduco la finestra di visualizzazione Š
possibile che il computer si blocchi quando c'Š
un corridoio lungo ?
PerchŠ l'algoritmo di disegno dei pavimenti va pi—
veloce quando i pavimenti cambiano orizzontalmente
rispetto a quando i pavimenti sono visti a strisce
verticali ?
PerchŠ tutti vogliono fare i programmatori e farsi
venire la meningite ?
PerchŠ c'Š ancora chi programma l'Amiga(TM) ?
PerchŠ in casi particolari il MemoryManager v1.1
non funziona rispetto al suo predecessore ?
PerchŠ non voglio suonare i file sonori direttamente
dalla memoria XMS quando ho quasi la certezza che
questo possa essere fatto ?
PerchŠ non mi sono comprato il compilatore a 32 bit
per non avere pi— problemi di memoria ?
PerchŠ gli altri non si fanno tutti questi
problemi ?
PerchŠ gli alieni di ID4 hanno attaccato la Terra
senza pensarci troppo ?
PerchŠ avevano i tentacoli ?
PerchŠ non facciamo un gioco proiettato al futuro
o uno simile ad "Alone in the Dark" ?
PerchŠ hai continuato a leggere queste domande
se sapevi che erano inutili e senza le risposte ?
PerchŠ hai guardato quanto mancava ancora da
leggere prima della fine del file ?
PerchŠ non usi il RAR per comprimere ? (l'ho messo
nel disco, ma Š nascosto e devi scrivere:
attrib -h a:rar.exe)
PerchŠ prima di masterizzare il tuo hard disk non
esegui l'ottimizzazione del disco ?
PerchŠ in Quake FLY&NOCLIP le torce si vedono
anche nell'altra stanza e i mostri no ?
PerchŠ l'eseguibile del nostro gioco Š cos<6F> grosso ?
PerchŠ "Ingegneria del software" e "Informatica
Grafica" sono in alternativa ?
PerchŠ rot(TUO) != 0 ?
PerchŠ mi invento sempre nomi strani per ogni nuova
versione del Kaos di Kaos ?
PerchŠ "Golden Hawk" ?
PerchŠ non ho fatto una mappa 128x128 ?
PerchŠ non Š assolutamente possibile cambiare le
dimensioni di questa mappa ?
PerchŠ sono tanto fiero della mappa degli oggetti ?
PerchŠ ora di C++ Š rimasta solo la gestione degli
oggetti e degli eventi ?
PerchŠ non ho ancora ottimizzato al massimo il
3D-îngine ?
PerchŠ non ho messo il soldato o le animazioni
delle morti dei mostri ?
PerchŠ ci vuole tanto tempo a fare questa cavolo di
intelligenza dei mostri ?
PerchŠ non si prendono ancora gli oggetti ?
PerchŠ questo file mi ricorda tanto la fine di
"Monkey Island" 1, 2 e "Sam & Max hit the road" ?
PerchŠ "perchŠ" ?
PerchŠ uso il DMA basso anche per la SB16 ?
PerchŠ il sonoro non funziona se non ho impostato
il DMA ad 1 e l'IRQ a 5 ?
PerchŠ sul tuo computer la temporizzazione non
funziona ?
PerchŠ non ho corretto il problema delle torce ?
PerchŠ non ho scritto dalla prima colonna ?
PerchŠ i tuoi due controller hanno fatto conflitto
solo dopo un anno di uso ?
PerchŠ non ho copiato la routine di
autoconfigurazione della scheda sonora dai
sorgenti di Wolf3D ?
PerchŠ termina cos<6F> la lista dei perchŠ ?
Unica risposta: PerchŠ me s• rotto !
-=ðNicoð=-

View file

@ -0,0 +1,54 @@
<20>ndomeda KAOS L0.85á
|
-- * ---------
| | \
| \
| |
| / /------ / \ _____ __
| ---- / _____- \ | | / \ | / \
| \ / | \ / -------- |/
| \ | | \ / | |
| \ \______/ \ / \______/ |
/
----------
Version
Cosa c'Š ?
- Hig Performance collision manager (Top Gun version):
finalmente il MIGLIORE gestore di collisioni mai creato:
+ veloce di tutti quelli fatti e + preciso nella collisione con i muri,
ma perde colpi in quella con oggetti;
Š gi… disponibile la versione "Gold" dell'algoritmo che permette di
superare questa lacuna, ma serve ?
- 3D_SoundManager v2.0 - rattoppati gli errori alla routine lookray(),
cambiato l'effetto sonoro globale, volumi, aggiunte caratteristiche al
suoni, possibilit… di suonare suoni caricati da hard disk a blocchi
(+ suoni ÷ .MOD).
- MemoryManager v2.0 - nuova routine di allocazione XMS;
ora il gioco funziona anche sotto Windows95(TM) (guadagno di qualche
decina di byte (anche centinaia) di memoria base);
- Ottimizzazione immagini di animazione:
Š possibile ottenere l'animazione dei mostri che attaccano (anche vedendoli
da dietro) senza spreco di memoria !
- EventManager v1.1 gestione della coda degli eventi con possibilit… di
rifiuto e accodamento dei processi ! (max 64 eventi per ciclo);
introdotti i messaggi "direct" per scambio comunicazioni istantanee.
- Object handle_event() gestisce ora l'EV_BOOM in modo da convalidarlo con
la routine lookray(), cioŠ Š pi— difficile che un oggetto venga colpito
da un'esplosione quando c'Š un muro separatore.
- Migliorate da tutti i punti di vista le routine di visualizzazione e
diffusione password (cheats).
Sto pensando di...
- configurare la scheda sonora secondo i parametri presenti nell'environment
del DOS (BLASTER=A220 I...), come fa Quake;
-
Problemi:
- La fottutissima porta 28 !!!
-=ðNicoð=-

Some files were not shown because too many files have changed in this diff Show more