PunyInform, ett bibliotek för att skriva textäventyr

Diskussioner om programmering

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher, hollowman

PunyInform, ett bibliotek för att skriva textäventyr

Inläggav fredrikr » 29 juli 2020, 14:07

För några veckor sedan släppte vi PunyInform, ett komplett bibliotek för programmeringsspråket Inform 6, för att skriva textäventyr som sedan kan köras på massor av plattformar, inklusive Commodore 64, Vic 20, Plus/4, Amiga, ZX Spectrum +3, Amstrad CPC, Atari 520 ST, Atari 1040 ST, Apple II, BBC, TRS-80, men även alla versioner av MS-DOS, Windows, MacOS, Unix, Linux etc.

Tricket för att kunna köra på alla möjliga plattformar är att kompilera till Z-maskinen, en virtuell maskin (tänk Java) som designades 1979 och som det nu finns emulatorer (Z-kods-tolkar) för på snart sagt alla plattformar. Det finns redan ett standardbibliotek för Inform 6, och spel man skriver med det kan i princip köras på de flesta av dessa plattformar, men biblioteket är inte optimerat för denna användning, så det är för stort och för långsamt för att det ska funka riktigt bra.

PunyInform är ca 60% mindre än standardbiblioteket och skrivet för att vara effektivt. Spelen rullar därmed på alldeles utmärkt på t ex en C64.

Här är en artikel om PunyInform, med länkar till allt man behöver: https://vintageisthenewold.com/punyinfo ... computers/

Och här är projektets hemsida: https://github.com/johanberntsson/PunyInform

Bifogar en skärmdump av ett spel som startar på en C64 samt lite kod från samma spel.
Bilagor
PunyLibOH_code.png
PunyLibOH.png
fredrikr
Lärling
Lärling
 
Inlägg: 40
Blev medlem: 22 december 2016, 09:26

Re: PunyInform, ett bibliotek för att skriva textäventyr

Inläggav bjonte » 29 juli 2020, 18:39

Riktigt coolt! Vic20 till och med! Vad är minsta minneskrav på den?
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2021
Blev medlem: 17 april 2006, 23:12

Re: PunyInform, ett bibliotek för att skriva textäventyr

Inläggav fredrikr » 30 juli 2020, 07:51

Det funkar i alla fall med en 32 KB-expansion, som ger 27.5 KB Basic-RAM. Vet inte om det funkar med mindre.

Här är ett screenshot av ett Z-kods-spel som kör på Vic20:

Bild
fredrikr
Lärling
Lärling
 
Inlägg: 40
Blev medlem: 22 december 2016, 09:26

Re: PunyInform, ett bibliotek för att skriva textäventyr

Inläggav fredrikr » 30 juli 2020, 08:59

Den som vill kan här ladda ner spelet Calypso för C64:

http://microheaven.com/ozmooonline/personal/dycxedjjktysuthxvglg/calypso.d64

Det är ett spel skrivet för vanliga Inform 6 från början, och nu konverterat för att kunna kompileras med antingen vanliga Inform6 eller med PunyInform. Kompilerat med vanliga Inform 6 blir det 78.1 KB, med PunyInform 44.9 KB.

Även ett spel på 78 KB kan förstås gå alldeles utmärkt att spela på en C64. Problemet här är att ca det är mycket kod som tillhör biblioteket och som behöver köras varje drag. Speltolken lämnar ca 50 KB RAM för speldata, och när biblioteket behöver köra rutiner på mer än 50 KB varje drag, leder det oundvikligen till att spelet swappar hela tiden, och det blir trögt.

Som referens kan nämnas att Z-kodsfilen för Zork 1 är på ca 90 KB. Infocom använde inte ett bibliotek på samma sätt, men de hade en uppsättning centrala funktioner som fyllde samma syfte, och de verkar ha varit ungefär lika stora som PunyInform.

Källkoden för Calypso finns på Github: https://github.com/dave-f/calypso

Spelet finns även på IFDB: https://ifdb.tads.org/viewgame?id=apo771qxl1ba4lsy
fredrikr
Lärling
Lärling
 
Inlägg: 40
Blev medlem: 22 december 2016, 09:26


Återgå till Programmering/prog.-verktyg

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016
cron