Ecstatica II
Ecstatica II este un joc video de acțiune și aventură publicat de Psygnosis în 1997 pentru MS-DOS și Windows . Este o continuare directă a lui Ecstatica .
Plot
Povestea începe chiar acolo unde se termină prima parte a jocului, când un călător fără nume care refuză să fie prințul unei țări fără nume o salvează pe Ecstatica din orașul condamnat Tirih. Prințul se întoarce în regatul său cu Ecstatic plănuind să se căsătorească, dar își găsește castelul devastat și jefuit, iar oamenii lui ucisi cu brutalitate de demoni, spiriduși și barbari. De îndată ce apare pe podul mobil, un demon înaripat îl apucă pe Ecstatic și o poartă în timp ce prințul este doborât de un alt demon înaripat. La trezire, se trezește legat de un pilori . Cu toate acestea, prințul este readus la viață și eliberat de o voce feminină miraculoasă, îndemnându-l să-l învingă pe arhimagul malefic și să restabilească echilibrul lumii prin restabilirea celor 7 semne antice. De asemenea, are ocazia să-și salveze iubitul Ecstatic de la arhimag înainte de a o sacrifica.
Tehnologii utilizate în dezvoltarea jocului
- Grafică elipsoidă neobișnuită
- Pentru grafica 3D, se utilizează matematica cu virgulă întregă.
- Propriul interpret de cod de octet pentru scripturi de joc și AI.
Puncte interesante de cod sursă [1]
- Stilul codului este foarte procedural și „dos” (ceea ce este normal pentru mijlocul anilor 90).
- Acele obiecte (actori) care trebuie desenate sunt în lista de afișare.
- Cea mai mare parte a memoriei este alocată static pentru date de diferite tipuri.
- Uneori sunt folosite structuri de date foarte netriviale.
- Codul pentru lucrul cu structurile de date nu este deosebit de optim, dar nu există multe obiecte simultane în joc, așa că acest lucru nu apare.
- Multe resurse din fișierele de resurse sunt stocate ca colecții de „evenimente”.
- Datorită „evenimentelor” (evenimentelor), multe sunt „conduse pe date” (conduse pe date). Cu toate acestea, există și ceva care este strâns „codificat” (UI, Init, unele verificări ale jocului).
- Există greșeli amuzante în numele procedurilor în engleză. De exemplu, „paleta” (paletă) și „ambianti” (ambienti). Adică, engleza nu este o limbă maternă pentru un programator.
- Pentru a accepta modul SVGA (640x480), „dacă” au fost codificate în întregul cod. Drept urmare, jocul acceptă doar două rezoluții: 320x200 și 640x480.
- Uneori, codul nu se potrivește puțin și versiunea SVGA poate, de exemplu, „uita” să ștergă ceva de pe ecran, de exemplu, o parte a interfeței.
- Pentru a putea comuta între VGA și SVGA direct din joc, două proceduri GoSVGA () și GoVGA () au fost adăugate rapid la cod.
- A fost adăugat și suportul pentru Win95 „pentru a fi rapid”. La urma urmei, în 1996, suportul pentru Win95 tocmai câștiga amploare. De exemplu, gestionarea mesajelor Windows și reacția la minimizarea/restaurarea unei ferestre, restaurarea DirectDraw după minimizarea și oprirea/pornirea muzicii în același timp sub Win95 au fost blocate „pentru companie” în procedura GetMouse() pentru actualizarea poziției și redesenarea mouse-ului cursor.
- În multe proceduri de cod, rămășițele modului Editare resurse sunt vizibile. Poate că modul de editare funcționează chiar dacă configurați mediul.
Note
- ↑ EyeGem's LiveJournal - Apropo, o dată, apropo, două!
Link -uri
Site-uri tematice |
|
---|