Posted March 26, 2021
mcburress: dtgreene,
are you gonna make us a game inspired by wizardry 4? I missed it back in the day (had already migrated to windows by the time I found out about it). Its been decades since I did any programming, but I know enough that the type of game is not that difficult to program. You could even upgrade the walls of the dungeon to color gradient walls (getting darker in the distance) without great feats of programming.
dtgreene: Not at this time (though never say never), but I might eventually look into that. If I make a game, it will probably be a SaGa-like game (possibly even a SaGa-like DRPG, so like Wizardry 1-3 and 5, except that growth is done SaGa-style instead of with XP). are you gonna make us a game inspired by wizardry 4? I missed it back in the day (had already migrated to windows by the time I found out about it). Its been decades since I did any programming, but I know enough that the type of game is not that difficult to program. You could even upgrade the walls of the dungeon to color gradient walls (getting darker in the distance) without great feats of programming.
Remember folks the dungeon is created by one line of code - a variable array of size 15, storing integers. each cell in the array represents a square/coordinate in the dungeon. You then put the following values in each cell to make the maze:
0=no walls
1=north side wall only
2=south side wall only
3=west side wall only
4=east side wall only
5=north and east side walls
6=north and west side walls
7=south and west side walls
8=south and east side walls
9=parallel north/south side walls
10=parallel east/west side walls
11=west side wall/east side door
12=west side door/east side wall
13=north side wall/south side door
14=north side door/south side wall
15=all four walls
This does not support corner doors. you can fix this by keeping a list of coordinates of the corner door locations that your display routine compares against
This does not support locked doors. you can fix this by keeping a list of coordinates OUTSIDE of the program of the locked door locations. when a door is unlocked you can then delete that coordinate from the list.
Your display routine takes the coordinates of the player character/party and their facing as well as the "in-play" monsters and only displays 3 squares in front
The reason for keeping everything limited to 15 is the computer sees everything in hex. 15 is hex "F" and is the largest number that can fit in to one byte. Having everything one byte allows for some neat programming tricks. For instance characters on the keyboard are also one byte. You can store a part of the dungeon as a character string and use that to reuse a part of the dungeon (see Western Crevasse, SSI's Secret of the Silver Blades).
thats about all i remember about programming
micah out