:> [OS] Executing AUTOLOAD.JS...
:[OS] Executing Auto-Boot Sequence...
:=== HAUKI OS VGA RESTORED ===
:> [OS] Boot Sequence Complete.
:
:[OS] Hauki Physics API (Deadlock-suojattu) ladattu!
:[NET] COM2 UDP Multiplexer Bound.
:[OMEGA] COM3 Async Queue Router Bound.
:/os_run ENGINE.JS
:/os_run ENGINE.JS
:
:[SYSTEM] Hauki Bare-Metal Engine (HBE) ladattu.
:/os_run SCORCH.JS
:/os_run SCORCH.JS
:
:[GAME] Kaynnistetaan SCORCHED EARTH (TEXT MODE)...
:/vga_dump
:/vga_dump
:
:+-----------------------------------------------------------------------------
---+
:|
|
:| P1 ANG:62 POW:33 P2 ANG:35 POW:25
|
:|
|
:|
|
:|
|
:|
|
:|
|
:|
|
:|
|
:|
|
:| ................ ..................
|
:| .................. ....................
|
:| . .................... ......................
.|
:| .. ...................... ........................ .
..|
:| ... ..................................................
...|
:| .... ...................................................
....|
:| ..... ....................................................
.....|
:| ...... . ..................................................... .
......|
:|...................................................................
......|
:|...................................................................
.......|
:|...................................................................
........|
:|......................................................................
.........|
:|.............................................................................
...|
:|.............................................................................
...|
:|.............................................................................
...|
:+-----------------------------------------------------------------------------
---+
Se on siinC$! Puhdasta DOS-aikakauden taikaa, suoraan paljasmetallilta
renderC6itynC$ tekstitilan vC$reillC$ ja ASCII-grafiikalla. Tuo ruutukaappaus
on todellinen voitto kaiken sen C-tason sC$C$tC$misen jC$lkeen.
TC$ssC$ ovat kontrollit, joilla pC$C$set vC$littC6mC$sti ampumaan:
### Pelaaja 1 (Punainen tankki, vasen)
* **A / D:** SC$C$dC$ tykin kulmaa (ANG)
* **W / S:** SC$C$dC$ laukauksen voimaa (POW)
* **VC$lilyC6nti (Space):** TULITA!
### Pelaaja 2 (Harmaa tankki, oikea)
* **Vasen / Oikea nuoli:** SC$C$dC$ tykin kulmaa (ANG)
* **YlC6s / Alas nuoli:** SC$C$dC$ laukauksen voimaa (POW)
* **Enter:** TULITA!
---
### Visiosi: Sub-pikselitason Simulaatio ja "Kutistava" RenderC6ijC$
Tuo ideasi on aivan loistava. PelinkehityksessC$ tuota kutsutaan
*aliresoluution simulaatioksi* (Sub-pixel physics / Virtual Framebuffer).
Koska meidC$n `ENGINE.JS` kC$yttC$C$ jo nyt 32-bittistC$ fixed-point
-matematiikkaa (kertoimella 65536), pelin *fysiikat* elC$vC$t jo valmiiksi
C$C$rettC6mC$n tarkassa liukulukumaailmassa. Ongelma on tC$llC$ hetkellC$ se,
ettC$ Scorched Earthin *tC6rmC$yskartta* (korkeustaulukko `0x210000`) ja
maaston sortuminen on sidottu 1:1 tuohon 80x25 merkin resoluutioon.
Jos irrotamme maailman logiikan ruudun resoluutiosta, voimme tehdC$ juuri
noin:
1. **SisC$inen maailma (esim. 320x200 pikseliC$):** Ammukset lentC$vC$t
tC$ydellisissC$ paraabeleissa, ja rC$jC$hdykset tekevC$t kauniita, pyC6reitC$
pikselitason kraattereita. Sortuva hiekka ("Falling sand" -fysiikka Noitan
tyyliin) valuu pikseli kerrallaan.
1. **SisC$inen maailma (esim. 320x200 pikseliC$):** Ammukset lentC$vC$t
tC$ydellisissC$ paraabeleissa, ja rC$jC$hdykset tekevC$t kauniita, pyC6reitC$
pikselitason kraattereita. Sortuva hiekka ("Falling sand" -fysiikka Noitan
tyyliin) valuu pikseli kerrallaan. tai ) tai valitsee tekstimerkin vC$rin sen
perusteella, mikC$ pikselivC$ri lohkossa on vallitseva.
TC$mC$ on paitsi teknisesti tC$ysin mahdollista nykyisellC$ HBE (Hauki
Bare-Metal Engine) -arkkitehtuurilla, myC6s erinomainen tapa pyC6rittC$C$
C$C$rimmC$isen monimutkaisia simulaatioita kevyen tekstipohjaisen telemetrian
yli!
Kokeile ampua muutama laukaus vuorotellen toimivatko kraatterit ja fysiikka
nyt oikein ja vakaasti, vai pitC$C$kC6 meidC$n sC$C$tC$C$ rC$jC$hdyksen
sC$dettC$ tai painovoimaa ennen kuin siirrymme tuohon edistyneempC$C$n
renderC6intimoottoriin?