The Lords of Midnight : Landscaping

development and releases of new/rewritten text adventures
User avatar
Tosk
Posts: 149
Joined: Mon Sep 25, 2023 10:52 am
Location: Falkirk, Scotland
Contact:

Final Version - The Lords of Midnight : Landscaping

Post by Tosk »

TobyLobster wrote: Mon Jan 29, 2024 9:02 am Fastest
@TobyLobster - thank you so much for this final and fastest version of the dragon!

As a result I've been able to incorporate your code into my final version of my landscaping project, being able to keep the Mode 1 graphics and including a game to find the dragon. There was even memory left over to include instructions for the game. I had to reduce detailing on the tower and reduce variable/procedure names to an absolute minimum to gain the memory I needed.

The code simply assigns a random hidden position on the grid for the dragon and calculates the distance from the player each time, essentially playing a game of "warmer or colder" as you get closer.

A reminder of the keys for the game: 1-4 allows you to look either N,E,S or W and the "M" key will move you one space in the direction you are looking.

When you land on the square where the dragon is, you are rewarded with the dragon graphic.

From my perspective, this provides a great conclusion to the project.

But I'm happy to see how far everyone else can take this to provide an even closer approximation to the original Lords of Midnight game.

Image

Here's the code:-

https://bbcmic.ro/#%7B%22v%22%3A1%2C%22 ... PROC%22%7D
Last edited by Tosk on Fri Feb 09, 2024 8:10 pm, edited 2 times in total.
Acorn BBC Micro Model B 32K - O.S. 1.2 - Basic v2 - Issue 7 motherboard - Opus DDOS DFS, MMFS Solid State Drive, Graphics Extension ROM and Gotek https://retrorendezvous.org/
brianmartin_2001
Posts: 418
Joined: Mon Jun 14, 2021 7:39 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by brianmartin_2001 »

Been following this thread since it began , well done on your efforts Paul. Looks really impressive.
I remember this game as I tried to play it on brother's speccy a couple times. He was more into speed games
like Lunar Jet man and Atic Atac though , so my time on it was pretty minimal.

Will you be showcasing this at the next A-Bug meet?
Sysop of (the Night Owl BBS) nightowlbbs.ddns.net:6400
User avatar
tricky
Posts: 7693
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: The Lords of Midnight : Landscaping

Post by tricky »

Great result, well done.

I think that the gxr in the master is a little cut down, but don't remember in which ways.

PS the gfx would need changing, but have you thought of doing a red/blue glasses 3D version?
User avatar
NickLuvsRetro
Posts: 285
Joined: Sat Jul 17, 2021 4:18 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by NickLuvsRetro »

I'm absolutely loving the progress on this! =D>
User avatar
Tosk
Posts: 149
Joined: Mon Sep 25, 2023 10:52 am
Location: Falkirk, Scotland
Contact:

Re: The Lords of Midnight : Landscaping

Post by Tosk »

brianmartin_2001 wrote: Fri Feb 09, 2024 9:36 am Been following this thread since it began , well done on your efforts Paul. Looks really impressive.
I remember this game as I tried to play it on brother's speccy a couple times. He was more into speed games
like Lunar Jet man and Atic Atac though , so my time on it was pretty minimal.

Will you be showcasing this at the next A-Bug meet?
I might build a slideshow presentation on it's development and just let it run kiosk style, automatically, so folks can see how I built up the code, bit by bit.

(Next ABug Scotland meet is now open for registration - it's on Thursday Feb 29th)
https://retrorendezvous.org/feb2024
Last edited by Tosk on Sat Feb 10, 2024 9:00 pm, edited 1 time in total.
Acorn BBC Micro Model B 32K - O.S. 1.2 - Basic v2 - Issue 7 motherboard - Opus DDOS DFS, MMFS Solid State Drive, Graphics Extension ROM and Gotek https://retrorendezvous.org/
shadow
Posts: 9
Joined: Sun Jan 21, 2024 10:08 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by shadow »

Aw, so cool! The dragon ate me. :lol:
It's great to see a final playable game from this, and very impressive that you fit it all into Mode 1 too!
This whole topic brought back a lot of cool childhood memories for me. I may return to this idea at some point. Thanks for making this! =D>
User avatar
Tosk
Posts: 149
Joined: Mon Sep 25, 2023 10:52 am
Location: Falkirk, Scotland
Contact:

Re: The Lords of Midnight : Landscaping

Post by Tosk »

shadow wrote: Sat Feb 10, 2024 3:32 pm Aw, so cool! The dragon ate me. :lol:
It's great to see a final playable game from this, and very impressive that you fit it all into Mode 1 too!
This whole topic brought back a lot of cool childhood memories for me. I may return to this idea at some point. Thanks for making this! =D>
Thank you. During the 80s these machines helped us alI think to "think big" despite having tiny resources when trying to code with these microcomputers. Playability and wonder of a game doesn't need a whole lot of memory; just imagination. We have seen this with many great projects documented around this forum.
Acorn BBC Micro Model B 32K - O.S. 1.2 - Basic v2 - Issue 7 motherboard - Opus DDOS DFS, MMFS Solid State Drive, Graphics Extension ROM and Gotek https://retrorendezvous.org/
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: The Lords of Midnight : Landscaping

Post by ChrisB »

I had a go and giving you some more memory. Firstly removing the "you look... The dragon is" text to it's own procedure as this is repeated data. I then applied the technique from here https://www.stardot.org.uk/forums/viewtopic.php?t=28545 to reduce the screen by two lines that allowed me to put your original tower back in (and turn the cursor off, and add the singular condition for the distance)

https://bbcmic.ro/#%7B%22v%22%3A1%2C%22 ... %5Cn%22%7D
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
dr_d_gee
Posts: 29
Joined: Thu Feb 01, 2024 6:53 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by dr_d_gee »

This works fine on an emulated Master 128 (on BeebEm) but unlike some of the earlier versions I can't run it successfully on RISC OS. There are even more of the "magic PRINT statements" this time. What actually do they do? On BBC Basic for Windows they print the actual characters shown in the PRINT statements on the Owlet editor.

In fact when I first tried this I got the error message "no room". Not a message I expected to see on BBC BforW, but then you're changing HIMEM…
User avatar
Tosk
Posts: 149
Joined: Mon Sep 25, 2023 10:52 am
Location: Falkirk, Scotland
Contact:

Re: The Lords of Midnight : Landscaping

Post by Tosk »

ChrisB wrote: Mon Feb 12, 2024 5:02 pm I had a go and giving you some more memory. Firstly removing the "you look... The dragon is" text to it's own procedure as this is repeated data. I then applied the technique from here https://www.stardot.org.uk/forums/viewtopic.php?t=28545 to reduce the screen by two lines that allowed me to put your original tower back in (and turn the cursor off, and add the singular condition for the distance)

https://bbcmic.ro/#%7B%22v%22%3A1%2C%22 ... %5Cn%22%7D
Thx Chris - interesting tip on the memory saving.
Acorn BBC Micro Model B 32K - O.S. 1.2 - Basic v2 - Issue 7 motherboard - Opus DDOS DFS, MMFS Solid State Drive, Graphics Extension ROM and Gotek https://retrorendezvous.org/
User avatar
Tosk
Posts: 149
Joined: Mon Sep 25, 2023 10:52 am
Location: Falkirk, Scotland
Contact:

Re: The Lords of Midnight : Landscaping

Post by Tosk »

dr_d_gee wrote: Mon Feb 12, 2024 6:48 pm This works fine on an emulated Master 128 (on BeebEm) but unlike some of the earlier versions I can't run it successfully on RISC OS. There are even more of the "magic PRINT statements" this time. What actually do they do? On BBC Basic for Windows they print the actual characters shown in the PRINT statements on the Owlet editor.

In fact when I first tried this I got the error message "no room". Not a message I expected to see on BBC BforW, but then you're changing HIMEM…
The magic PRINT statements were lifted from code I saw in BBCMicrobot.com (See the 'seasons greetings' code example)

https://www.bbcmicrobot.com/learn/index.html

There's more examples of these here as well.

https://www.bbcmicrobot.com/
Acorn BBC Micro Model B 32K - O.S. 1.2 - Basic v2 - Issue 7 motherboard - Opus DDOS DFS, MMFS Solid State Drive, Graphics Extension ROM and Gotek https://retrorendezvous.org/
shadow
Posts: 9
Joined: Sun Jan 21, 2024 10:08 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by shadow »

dr_d_gee wrote: Mon Feb 12, 2024 6:48 pm There are even more of the "magic PRINT statements" this time. What actually do they do? On BBC Basic for Windows they print the actual characters shown in the PRINT statements on the Owlet editor.
I worked a little on reverse engineering these a couple of days ago. Each character in the print statement is a number from 0 to 255, and is equivalent to a long VDU statement with those numbers. The resulting print statement is smaller and slightly faster for plotting fixed graphics (for instance)
To translate them back into readable numbers, I used: https://www.branah.com/unicode-converter.
Paste the magic into the unicode box and then grab the decimal box readout and mod by 256.

The reverse is one step extra. Take all your VDU commands, add 256 to any number under 32, and leave the rest as they are. Paste them into the decimal box, and grab the resulting magic unicode for your print statement.
shadow
Posts: 9
Joined: Sun Jan 21, 2024 10:08 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by shadow »

TobyLobster wrote: Tue Feb 13, 2024 9:33 am This can also do the conversion to magic print statements: https://8bitkick.github.io/vdu/
Haha, that page is amazing. Very very handy. Thanks for linking!
dr_d_gee
Posts: 29
Joined: Thu Feb 01, 2024 6:53 pm
Contact:

Re: The Lords of Midnight : Landscaping

Post by dr_d_gee »

The following Python3 program should produce the results. While the method above works, it is less than ideal when the string contains spaces (as some of these do.

Code: Select all

# python3
s = input("String? ")
for ch in s:
    code = ord(ch) % 256
    print(code,end=" ")

print()
print("Done")
If I'm right, then the first string in PROCs is:

Code: Select all

17 130 12 19 3 6 0 0 0 19 2 4 0 0 0 19 1 0 0 0 0 19 0 7 0 0 0 5
Post Reply

Return to “new projects and releases: text and graphic adventures”