Download Game! Currently 72 players and visitors. Last logged in:JosimSolvikBrurinRequiem

Blitzer's Blog >> 71525

Back to blogs index
Posted: 24 Jul 2026 19:33 [ permalink ]
##################################################################
##################################################################
#########~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#########
#########~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#########
######~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
######~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#####################
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#####################
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##############################
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##############################
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##############################
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##############################
######~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###########################
######~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###########################
#########~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#####################
#########~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#####################
############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##################
############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##################
###############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###############
###############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###############
##################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~############
##################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~############
#####################~~~~~~~~~~~~======XXX============############
#####################~~~~~~~~~~~~=====================############
########################~~~~~~~~~=====================############
########################~~~~~~~~~=====================############
########################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~############
########################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~############
#####################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#########
#####################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#########
##################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
##################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
###############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
###############~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~######
############~~~~~~~~~~~~~~~~~~###############~~~~~~~~~~~~~~~######
############~~~~~~~~~~~~~~~~~~###############~~~~~~~~~~~~~~~######
#########~~~~~~~~~~~~~~~~~~#####################~~~~~~~~~~~~######
#########~~~~~~~~~~~~~~~~~~#####################~~~~~~~~~~~~######
######~~~~~~~~~~~~~~~~~~###########################~~~~~~~~~######
######~~~~~~~~~~~~~~~~~~###########################~~~~~~~~~######
######~~~~~~~~~~~~=========########################=========######
######~~~~~~~~~~~~=========########################=========######
######~~~~~~~~~~~~=========########################=========######
######~~~~~~~~~~~~=========########################=========######
############===###=========###===#########=========~~~~~~~~~######
##################################################################

>>>~~~LASKEUDUIT~~~TURVALLISESTI!~~~<<<
$ 

Vau, tC$mC$ todella kruunaa kaiken! Screenshot nC$yttC$C$ aivan uskomattoman
hyvC$ltC$, puhdasta 8-bittistC$ taidetta.

NC$en, ettC$ teit tC$ydellisen, pehmeC$n laskeutumisen keskimmC$iselle
laskeutumisalustalle  onnittelut taitavasta pilotoinnista, tuo ei ole tuolla
0.05 kiihtyvyydellC$ helppoa! 

Kuvasta paljastuu hienosti koko arkkitehtuurimme voima:

* **Kartta:** ASCII-generaattorimme toimii tC$ydellisesti. Harmaat
kallioseinC$mC$t ja kirkkaanvihreC$t laskeutumisalustat piirtyvC$t ruudulle
tC$smC$lleen 22x23 `DATA`-ruudukkomme mukaisesti.
* **HUD:** Oikeassa reunassa nC$kyy nopeusmittarin musta kuilu. Alareunan
`FUEL`-teksti ja polttoainepalkki loistavat upeasti retro-vihreC$nC$. 3x5
pikselin fonttimme todellakin herC$tti kC$yttC6liittymC$n eloon.

**Klassinen koodausbuginen suojavC$ri**
Huomasitko muuten yhden hauskan visuaalisen yksityiskohdan vasemmassa
alakulmassa? `SCORE 1250` -teksti on piirtynyt sinne, mutta se on
tC$ydellisessC$ suojavC$rissC$!

Kirjoitimme koodiin komennon `340 DRAWTEXT 2, 175, "SCORE 1250", 1`. Koska
pikselivC$ri `1` on moottorissamme ohjelmoitu tismalleen samaksi harmaaksi
kuin kallioseinC$mC$, teksti sulautuu suoraan taustaan. Sen olemassaolon
erottaa vain pieninC$ pikselikuhmuina harmaan seinC$mC$n alareunassa. Jos tuon
muuttaa ohjelmassa vC$riksi `2` (vihreC$) tai `255` (punainen), pisteet
ponnahtavat heti esiin pimeydestC$.

10 REM === JUPITER LANDER (ASCII DATA EDITION) ===
20 WEBSERVE PORT 9090 INTO HTTP_SERVER
30 WEBSERVE ADD "/" TO HTTP_SERVER FROM FS "vfb_client.html"
40 WEBSERVE LINK VFB TO HTTP_SERVER ON "/stream"
50 WEBSERVE LINK OMEGA TO HTTP_SERVER ON "/input" INTO "ch_input"

60 SCREEN 176, 184
70 SETGRAVITY 0

80 RESTORE 1000
90 MAPGEN "ASCII", ROWS 23

100 SPRITE 1, "LANDER"
110 MOVE SPRITE 1, 84, 10
120 LET C = "ch_input"
130 STATE BIND "KEY" FROM C

140 PRINT ">>> ODOTETAAN PELAAJAA: Siirry selaimeen ja paina W aloittaaksesi!
<<<"
150 STATE READ "KEY.W" INTO READY
160 IF READY == 1 THEN GOTO 200
170 WAIT VBLANK
180 BUFFER BLIT SCREEN
190 GOTO 150

200 LET FUEL = 100
210 SETGRAVITY 0.05
220 REM --- GAME LOOP ---
230 STATE READ "KEY.W" INTO THRUST_UP
240 STATE READ "KEY.A" INTO THRUST_LEFT
250 STATE READ "KEY.D" INTO THRUST_RIGHT

260 IF FUEL <= 0 THEN GOTO 320
270 IF THRUST_UP == 1 THEN ADDSPEEDY 1, -0.15: LET FUEL = FUEL - 1
280 IF THRUST_LEFT == 1 THEN ADDSPEEDX 1, -0.05: LET FUEL = FUEL - 0.5
290 IF THRUST_RIGHT == 1 THEN ADDSPEEDX 1, 0.05: LET FUEL = FUEL - 0.5

320 WAIT VBLANK

330 REM --- HUD DRAWING ---
340 DRAWTEXT 2, 175, "SCORE 1250", 1
350 DRAWTEXT 90, 175, "FUEL", 2
360 FILLRECT 110, 175, 55, 5, 0
370 FILLRECT 110, 175, FUEL / 2, 5, 2
380 FILLRECT 170, 10, 4, 150, 0
390 LET SPEED_Y = SPRITE_1_VY
400 LET BAR_Y = 85 + (SPEED_Y * 20)
410 IF BAR_Y < 10 THEN LET BAR_Y = 10
420 IF BAR_Y > 155 THEN LET BAR_Y = 155
430 FILLRECT 170, BAR_Y, 4, 5, 255

440 BUFFER BLIT SCREEN
450 CHECKCOLLISION 1 INTO COL
460 IF COL == 0 THEN GOTO 220

470 REM --- END GAME ---
480 IF COL == -1 THEN PRINT ">>> RAJAHDIT KALLIOON! <<<"
490 IF COL > 1 THEN PRINT ">>> LASKEUDUIT TURVALLISESTI! <<<"
500 HALT

1000 REM --- LEVEL 1 ASCII MAP (22 Saraketta x 23 Rivia) ---
1010 DATA "######################"
1020 DATA "###~~~~~~~~~~~~~~~~###"
1030 DATA "##~~~~~~~~~~~~~~~~~~##"
1040 DATA "#~~~~~~~~~~~~~~#######"
1050 DATA "#~~~~~~~~~~~##########"
1060 DATA "#~~~~~~~~~~~##########"
1070 DATA "##~~~~~~~~~~~#########"
1080 DATA "###~~~~~~~~~~~~#######"
1090 DATA "####~~~~~~~~~~~~######"
1100 DATA "#####~~~~~~~~~~~~#####"
1110 DATA "######~~~~~~~~~~~~####"