New Release: Telengard (for the Vic-20 +24K)

Discussion, Reviews & High-scores

Moderator: Moderators

Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

Telengard_vic.jpg
Telengard_vic.jpg (35.18 KiB) Viewed 6928 times
Nobody knows who build the great underground labyrinth called TELENGARD. Some say that the souls that perish there feed some unspeakable demon. Others say that it is a testing ground for wizards and warriors.
Only the knowledgeable few know that TELENGARD was built by Daniel Lawrence (R.I.P) by means of some clever proceduraly generated code that produces two millon different rooms, spread out across 50 dungeon levels.

There was no official version of Telengard released onto the Vic-20. Many screamed out in anguish to their gods to get the game ported to the wonder computer of the 1980s, but their voices fell on deaf ears
for over three decades. Suddenly, out of the ether(net) the code sprang forth! Their prayers had finally been answered by the gods... or so they thought.....
In truth, I just found myself unemployed and with a lot of time on my hands. What started out as an experiment to see if the game *could* be shoehorned onto a fully expanded Vic turned into an obsession - resulting in a fully
functional Vic-20 port of Telengard v4.18 (the standard Avalon Hill Telengard version).

It's not hard to see why it was never originally ported back in the 1980s. The original PET version from which this VIC version is mostly based on expected 40 column width character display to show both map and stats at the same time.This is true for all the other versions, including the C64, Apple II, TRS-80, Heathkit, and the upgraded DOS version. The VIC simply didn't have the screen real-estate to accomodate such a display, and as it turned out, editing the code to work around it required A LOT of effort.
Secondly, the market for Vic-20 owners with 32K RAM expansions was incredibly small. Just getting a 16K expansion and maybe a copy of "Sword of Fargoal" would have set you back at least $100 - a lot of money back then. Clearly buying a 32K expansion to play a version of Telengard would have been even more expensive - to the point where you may as well have dropped the money on a C64.
Lastly, the original game barely fit into 32K of BASIC, and the Vic's maximum available space for BASIC is 27.5K. It would be doubtful if a port of Telengard could fit anyway.
From a purely business point of view, doing the work to port the game wouldn't have been worth it. This is despite the original PET version using the same version of BASIC as the VIC did.

That all changes TODAY!

Presenting Telengard v4.18 for the Vic-20 with +24K RAM exapnsion

If you've been living under a rock with your Vic-20, the instructions for the game can be found here
http://www.c64sets.com/telengard.html

Of course, to get the game to work on the VIC-20, some compromises had to be made:

* The map and status display are only showed one and a time. There wasn't enough room to fit them both on the screen. Managed the way that I've handled it in the program, I think you will find that this compromise hasn't really affected the game's playability all that much. The map screen is displayed when you need it, and stats are displayed when you need them. It does, however, mean that the game slows down a bit after fights to redraw the screen constantly. I don't think you will notice that much.

* The game title screen, and many of the in-game messages have been edited and cropped. The reason has been two-fold. Firstly because many of the messages - if left unedited - would have scrolled the stats off-screen as there's not much room for as much text as the original ports. The other reason for the shortening is that this saved some vital RAM needed to get the game inside of BASIC with enough space for variables. You will find that the game has less than 1K of BASIC left after reading in all the variables. That said, you will still be pleased to know that you can still "snarf" treasure, and that you're still "rooted" if you can't evade the monster (stop laughing back there!)
The messages still convey what's going on, so I hope you don't mind.

* Character modifiers (Strength, light, detect traps, protection from evil, raise dead, levitate, drunk, etc) and now displayed to the side of the screen in blue, and the indicators are now only two characters long and not four.
You will still figure them out though.

* Due to the screen display size, the "evade" circles that display how far away monsters have been chasing you will only display from 17 steps away. That said, the game still remembers them from 20 steps away to stay faithful to the original game.

* The re-plot command will now also show you stats, and pause the game (waiting for a keypress to continue), before re-plotting the map. This slows down the "real time" nature of the game a bit, but it was needed to be fair to players who aren't getting their stats and map on the same screen at the same time.

* There's no fancy graphics like the C64 version (RAM issues). As this version is based on the PET version, all you're getting is graphics characters - but at least they're in (some) colour, so don't whinge.

* There's not much sound either (again, RAM issues). I did manage to sneak a gong sound in however. You'll get used to hearing it when you bite the dust in the most brutal and unfair ways that the game deals out to you.

* There is no machine code in this game as in the other ports. The program is 100% BASIC, and the machine code routines have been replaced with small BASIC ones. There's nothing stopping the avid programmer from editing this program using more of the Vic's memory outside of BASIC to add some routines. As there's not much BASIC memory though, there's little hope for adding extra features. If anything, the game could possibly be basic compiled and sped up a bit. The timing routine uses TI$ to pause, so *perhaps* it may even help. I haven't tried.

Unlike the PET version, I have enabled the function keys to access the load/save, scroll of rescue, and potions much like the C64 version.
You can access the help screen with "H" in game

Also, I included some of the disk routines from the C64 disk version hack. You can select Tape or Disk for loading and saving of characters. This should be good news to you datasette lovers who want to avoid disk drives completely.

Lastly, I have included a Telengard character editor which I used to create powerful players to test out the higher level magic routines. I've included it so that now - you too - can be a dastardly cheat.
The editor will let you start with a blank character, or edit one that you have already got.
There's very few brakes on this program and you are free to enter ridiculous values outside what the program would expect (e.g. dropping yourself in dungeons over level 50), and bask in the game's weirdness as it tries to cope.
Please note that doing this - especially entering values in excess of ten digits - will likely cause the game to scroll the screen as it tries to process your HP of 9999999999/9999999999 - completely voiding your warranty :)
(Note that this also happens when you do the same to the C64 version - despite it's 40-column display. That's what you get for being a cheat!)

While I've done my best to test this program to death, there's every possibility that I've missed fixing something. The program is very huge after all. PLEASE let me know if the screen is scrolling the map or stats off due to some rare condition that I never experienced in order to test. Same goes for any messages that flash on the screen without giving you time to read them - or any other issues that ruin the fun.
Also, any improvements to the port would be welcome, as long as we're not messing with the original gameplay and adding things to the game that weren't in there before.

Thanks also goes to Arthur Jordison for the CBM Prg Studio, without which I probably wouldn't have even attempted this port (or at least it would have taken much much longer!)
Attachments
telengard-vic.zip
(24.81 KiB) Downloaded 792 times
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: New Release: Telengard (for the Vic-20 +24K)

Post by orion70 »

Wow Neo-Rio, thank you so much for this! Telengard is (was) really one of the few missing bricks to the great VIC-20 building, and now we have a fully working version! It's so great to read these news, that I couldn't resist, and prepared an intro screen for it:
Image

Unfortunately, you used every bit of the fully expanded machine, so if you put the GAME file into the disk, it will give an ?out of memory error :(. So, I won't put the D64 online. Anyway, consider it as a tribute and a big THANK YOU for this. Can't wait to play it on my real VIC! :D
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

There's no room to add anything extra onto the listing, as you found out.
You'd have to create a basic loader to load extra stuff into non-BASIC RAM and then load the main program.

Compiled BASIC is always an option too (one that I haven't tried!)

As I mentioned, it may be possible to compress the BASIC listing further to make more space. If that's not enough, then perhaps remove the few REM statements, but after that you'd be cutting into the game. You could remove the title graphics, inn graphics, sound, help screens.... all of which I considered, but then figured that it wasn't worth it because I wanted to keep the game as close as I could to the original while balancing the limitations of the VIC
telengardtitle.JPG
User avatar
mrr19121970
Vic 20 Nerd
Posts: 873
Joined: Tue Jan 19, 2016 9:22 am
Location: Germany
Occupation: IT service manager

Re: New Release: Telengard (for the Vic-20 +24K)

Post by mrr19121970 »

I just tried on VICE, running at PAL 100%. I found the text flashed up too fast to read.
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

mrr19121970 wrote:I just tried on VICE, running at PAL 100%. I found the text flashed up too fast to read.
Some of it will, just as the C64/PET version does.
If it flashes so quick that it's completely illegible, then let me know what part does.

The game is played in "real time" so it will keep things moving even when you don't press any keys. If you are not fast on the draw, the game will ignore whatever is in front of you, sometimes costing you a good weapon, gold, or letting an enemy score a hit on you.
Play the C64 version for comparison.
telengard-throne.JPG
User avatar
beamrider
Vic 20 Scientist
Posts: 1450
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: New Release: Telengard (for the Vic-20 +24K)

Post by beamrider »

A big thumbs up. Thanks for all the hard work!
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

One question though.... which tool can you use to BASIC compile a VIC listing this big?
VIC Austro-comp chokes on this listing
User avatar
ral-clan
plays wooden flutes
Posts: 3702
Joined: Thu Jan 26, 2006 2:01 pm
Location: Canada

Re: New Release: Telengard (for the Vic-20 +24K)

Post by ral-clan »

Thanks so much for making this come true!
Image Music I've made with 1980s electronics, synths and other retro-instruments: http://theovoids.bandcamp.com
User avatar
GreyGhost
Vic 20 Nerd
Posts: 525
Joined: Wed Oct 05, 2005 11:10 pm

Re: New Release: Telengard (for the Vic-20 +24K)

Post by GreyGhost »

Not really sure why you would want to compile it. You would most likely end up with a file larger than it is now. I think a cruncher might be a better option. A cruncher could optimize the BASIC code for the 88 character line length of the VIC-20 instead of the 80 character limit of the 64. A renumbering may help a little. Some of this would probably have to be done by hand. I also noticed in the first few lines of the code their is a place to squeeze out some bytes. For instance, just changing that CHR$(5) in line 60 to the control character for white saves 3 bytes.

This really is an amazing feat though. Thanks for spending the time to bring this awesome game to the VIC-20.
Rob
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

Yeah, I was just curious about what would happen if it was basic compiled.
Basic compression could have been interesting though, but messing with the listing structure would make it harder to compare it with the original listing.

I'm happy enough with the way it came out.
Interestingly the Atari version is slower, despite that maghine having a faster cpu.
User avatar
beamrider
Vic 20 Scientist
Posts: 1450
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: New Release: Telengard (for the Vic-20 +24K)

Post by beamrider »

I recall Atari BASIC itself being pretty slow.
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: New Release: Telengard (for the Vic-20 +24K)

Post by tokra »

Please don't forget to post this game in the Software Releases 2016-thread in the announcement-section, thanks!
User avatar
RobertBe
Vic 20 Elite
Posts: 2312
Joined: Sat Jul 14, 2007 2:48 pm

Re: New Release: Telengard (for the Vic-20 +24K)

Post by RobertBe »

GreyGhost wrote:A cruncher could optimize the BASIC code for the 88 character line length of the VIC-20 instead of the 80 character limit of the 64.
Is there a cruncher for the VIC-20? I have a cruncher for the C64 and have been pleased with it for many years.

A useful utility,
Robert Bernardo
Fresno Commodore User Group
http://www.dickestel.com/fcug.htm
July 30-31 Commodore Vegas Expo v12 -
http://www.portcommodore.com/commvex
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

tokra wrote:Please don't forget to post this game in the Software Releases 2016-thread in the announcement-section, thanks!
...and done! :)
Neo-Rio
Vic 20 Amateur
Posts: 45
Joined: Sun Jun 07, 2015 5:57 pm
Location: Oz

Re: New Release: Telengard (for the Vic-20 +24K)

Post by Neo-Rio »

RobertBe wrote: Is there a cruncher for the VIC-20? I have a cruncher for the C64 and have been pleased with it for many years.
I know there are BASIC compactors for the C64... but they choke on VIC-20 programs because the start address of the program for the VIC is not accepted.
As for BASIC compiling, Austrocomp for the VIC can't handle my port of Telengard and crashes for some reason.
Post Reply