Jump to content
IGNORED

The Legend of Tilda


PeteE

Recommended Posts

Here it is! This is the game I've been working on the past couple months, that I showed off at Fest West '17 earlier today. I wanted something to learn assembly by porting a NES classic to the TI99/4a. I'm using graphics mode 1 with almost all 256 tile patterns used. The graphics were done in Magellan. The assembly is compiled using RalphB's excellent xdt99 tools. The music was imported using NSFImport and FamiTracker which can export the music notes to a text file, which I then converted to bytes to play on the sound chip.

 

I used Classic99 for testing during development, and its very valuable debugger. When writing assembly I have to step through it in the debugger the first time to figure out why it doesn't work right. I got to try it on actual iron for the first time today thanks to iKarith and Airshack, and discovered that it worked fine on the F18A but there were graphical glitches on the stock VDP chip. Turns out I was reading from the VDP too quickly and putting a NOP between the address and the read fixed it (just like the E/A manual says to do.)

 

The game is a work in progress: all the secret entrances are exposed, all the caves are empty, there are no enemies or items yet, the dungeons shouldn't be caves (but I have the dungeon tileset drawn already) but it is possible to explore all 16x8 screens and swing your sword at rocks and stuff. A joystick is optional, can use WASD to move and Enter is attack. The rom is 32k (4 banks) and has no expansion requirements. I would have been so happy to play something like this back in the 80's.

legend_8.bin

post-43480-0-48698400-1493524003.png

  • Like 25
Link to comment
Share on other sites

You achieved a lot already. Respect!

I specially like the colourful attack effect.

 

8 pieces of TI-Force of Wisdom? I wonder what they are? Let me guess...

  • use Gpl
  • go 16 bit all the way
  • don't get into a price war with Commodore

Or do you mean GanROM in relation to GROM? haha

  • Like 1
Link to comment
Share on other sites

I got to try it on actual iron for the first time today thanks to iKarith and Airshack, and discovered that it worked fine on the F18A but there were graphical glitches on the stock VDP chip. Turns out I was reading from the VDP too quickly and putting a NOP between the address and the read fixed it (just like the E/A manual says to do.)

 

Okay. That's one to remember.

Link to comment
Share on other sites

I didn't hear the music at Fest West, or didn't recognize that it wasn't just in my head... :) That sounds really nice!

I probably forgot to turn the volume back up after talking to somebody,,, I hear the music and especially sound effects in my head ALL THE TIME and I haven't even implemented sound effects.

 

8 pieces of TI-Force of Wisdom? I wonder what they are? Let me guess...
...
Or do you mean GanROM in relation to GROM? haha

The TI-force will be a sprite in the shape of Texas.

 

And GanROM? I totally did not think of that. *Yoink*

  • Like 2
Link to comment
Share on other sites

Are you storing the map as metatiles?

 

Is the map changing while you play the game, and if so, how will you save the changes when the map is in ROM?

The map does use 2x2 character metatiles, but has another level of indirection: each screen is composed of 16 vertical strips of 11 metatiles. As it turns out the LoZ game designers only used 234 different strips in the entire overworld map, so the strip index will fit into a byte - only 16 bytes per screen! There are 16 x 8 screens in the map, so the screens take 2048 bytes, the strips take 2574 bytes, and the metatile definitions 412 bytes. Altogether about 5KB which fits in one bank with room left over for code to decode the screens and scroll them in each direction.

 

The map is designed to permanently change as you play (finding secret caves by burning trees or bombing walls) so I expect I'll have to save the game state to disk, or have the option to enter a long password. The number of gems, keys, bombs, max hearts, and items acquired would also be stored. (I wish it were possible to save a game on the SD card in a FlashROM or FinalGROM)

  • Like 2
Link to comment
Share on other sites

Hotly anticipated just doesn't cut it!

 

(and go for state saving instead of passwords...most of us have some kind of storage medium, and there something nostalgically "tactile" about saving and loading from disc (or tape), that typing in a password doesn't quite duplicate (of course, I never owned an NES era gaming console where passwords were the method to load your position)

 

Just my 2¢ though... it's obvious that, left to your own devices, you're going to create something that will be quite brilliant.

Link to comment
Share on other sites

FYI, the enhanced color modes of the F18A (2-bit and 3-bit color) were modeled after the NES. If you use some of the F18A's enhanced features then you can use the pattern data from the NES directly. You would also get the tile attributes which give you tile x,y flip, priority over sprites, transparency, and better palette control (might save you some pattern data).

  • Like 1
Link to comment
Share on other sites

Thanks for all your kind words. I chose VDP graphics mode 1 to limit the scope of my first project, but may look into converting it to F18A at some point. I'm not opposed to sharing the source code, if someone wanted to help with the F18A port. Matthew180, I want to thank you for your assembly tutorial thread, it was immensely helpful in getting up to speed.

Link to comment
Share on other sites

You're welcome, I'm glad you got some value out of the assembly thread. It is not as complete as I would like, and the forum format can make it hard to find the latest information, but it works for now I suppose. Please post questions or comments, it is nice to keep new programming active in the forum and hopefully inspires others to give it a try.

 

Personally I'm more of a tools provider than a game developer, but someone might take you up on helping with the code. I'm happy to offer F18A support, code snippets, etc., just ask (there is an F18A thread for exactly that).

 

Actually "porting" to the F18A is really not that hard. If you want a dual-mode game, the F18A is not hard to detect. To me it seems that having an F18A and non-F18A version might be easier, but all the games I have seen that use the F18A are single versions that detect the F18A and enable the enhancements if it is found. So maybe that is easier. I'm sure someone will chime in on this.

Link to comment
Share on other sites

Yeah, although it's something miscategorized as an RPG, I'd definitely put it in the action-adventure category. It's actually quite difficult to put many games - especially modern games - into neat genre boxes, because they embody multiple elements of what would typically be found in single games.

  • Like 1
Link to comment
Share on other sites

Sigh... just imagine if the TI had games like this back in the day. It would have been no. 1 no doubt. Commodore 64? Pah!

 

I suppose it's the tools that really make this kind of thing possible today. Back in the day we'd have rudimentary tools running on the machine itself and a pencil and some squared paper and a notebook!

 

When I were a lad...!

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...