Been thinking about another game to make. This time--
"Fast Travel: The Game"
Where you press F to fast travel and collect things in the locations you teleport into.
Items collected can be converted to other items.
Users define the conversion rates upon discovering a new item that remain static for the duration of the game.
"99 oats per 3.9 blahaj".
"57 flowers to the oat".
Maybe the point of the game is to get 10 000 of something, such as oats.
René Bauer from @chludens and colleagues wrote a #BASIC #game which should run on all common #homecomputer platforms:
https://research.swissdigitization.ch/?p=1260
I will try and test/extend it for more systems and find out a routine that auto-detects on which platform it runs.
- randomly generate 5 different items
- come up with a simple randomly generated naming scheme
- name those five items with that subroutine
- add the items to the inventory once collected by the player
- once all the items are collected generate a new playfield
- the inventory list persists, the point of playing is to generate items with silly names
it's a game about being shrunk to the size of an insect in someone's front yard.
https://spectra.video/w/42mNUHTs2yvrkERrsx5yRZ
experimenting with different ways of having people interact with the project
here is a quick 10 minute hacking session of a Tiny BASIC game called @oats
player initial random positioning completed!
https://git.sr.ht/~vidak/oats-for-my-goats/commit/5fc8143a5c864d0453fc9baaae0c701f69badfb8
9 REM SET UP PLAYFIELD BORDER
10 DIM A(10,20)
20 FOR B = 1 TO 10
30 FOR C = 1 TO 20
40 LET A(B,C) = 0 REM Make every playfield space blank.
50 IF B = 1 THEN A(B,C) = 1 REM Top border is all fences.
60 IF B = 10 THEN A(B,C) = 1 REM Bottom border is all fences.
70 IF C = 1 THEN A(B,C) = 1 REM Left border, all fences.
80 IF C = 20 THEN A(B,C) = 1 REM Right border, all fences.
90 NEXT C
100 NEXT B
499 REM GENERATE PLAYER POSITION
500 B = INT(RND(8)+2)
510 C = INT(RND(18)+2)
520 A(B,C) = 3
999 REM PRINT MAZE PATTERN
1000 FOR B = 1 TO 10
1010 FOR C = 1 TO 20
1020 IF A(B,C) = 0 PRINT ".";
1030 IF A(B,C) = 1 PRINT "X";
1040 IF A(B,C) = 2 PRINT "+";
1050 IF A(B,C) = 3 PRINT "@";
1060 NEXT C
1070 PRINT
1080 NEXT B