Games > SHADOW OVER THE TWELVE LANDS


An RPG game
made by Bruno Oliveira
uploaded by btco
added:
updated:
download cartridge

22


Shadow Over the Twelve Lands
By Bruno Oliveira (@btco_code)

** UPDATE: PDF manual is here:
https://drive.google.com/file/d/1SnYhs746W0-UF7pXWsxmwRnLmP8rE69r/view

This is a retro CRPG game where you control a party of adventurers through an epic quest that starts out with a small mistake where you essentially doom the entire world to a decade of disasters. But worry not, because you are going to fix things now and defeat the great evil you unleashed upon the world.

It's turn-based, so you have as long as you want to think things through and even in the heat of battle our monsters are well trained to wait, seemingly forever, until you have taken your turn.

You start at the shores of Riverside with barely no equipment, a laughable budget and a desire for fame, fortune and making the world a better place. Let's see how this works out for you.

Printable world map: https://drive.google.com/open?id=1-9d8MZCrX5cdGBQ0LVlgSxD2lK6vp_zd

This project is open source. The source code is at:
https://github.com/btco/so12l

*** SAVEGAME WARNING: Depending on your browser, the save game feature might not work (known issue on Chrome)! To test that it's working, reload the page after the intro screen. If you see "Save OK" on the top left, savegames are working. In any case, if you are playing this seriously, consider downloading the cart and playing in the TIC-80 program.

[ CONTROLS ]
arrow keys: move
[Z]: menu / confirm
[X]: cancel / close

At any time while adventuring you can bring up the game menu by pressing [Z] to allow you to: rest, cast spell, manage inventory and see detailed party info.

[ TIPS ]
0. To interact with things, just walk into them (huts, fountains, doors, etc, etc).
1. To rest, use food rations: press Z to open menu, select ITEMS, select the food ration, press Z and select USE.
2. Always carry plenty of food. Buy them in General Stores.
3. Always carry plenty of torches to light dark caves and dungeons. Also found in General Stores.
4. Upgrade equipment! You won't go very far with just a dagger and no armor.
5. Save at every opportunity. Fountains and inns allow you to save.
6. Beware of unidentified items. They may be cursed, explode, release poison gas, and all sorts of other bad effects. Plus, if you equip a cursed item, you won't be able to remove it.
7. When you get enough XP, go to a town to train to level up. You will know you have enough XP because the XP meter on the bottom right will be highlighted with an up arrow.

[ TECHNICAL DETAILS ]
The game engine is 64K of Lua code but the core of the game's logic is written in XL, an assembly-like language I created, which assembles to bytecode that gets put into the cart's Map memory banks (banks 6 and 7). You can look at the XL source code in https://github.com/btco/so12l/tree/master/xl . It looks something like this:

PROC WRLD_RS_OldWizardHut
TEST GM_R_MYRA; JNZ .quest_r
TEST GM_C_MYRA; JNZ .quest_c
SND 251 .old_wiz .quest_msg
SYS SYSC_SPEAK
SND 251 .old_wiz .quest_msg2
SYS SYSC_SPEAK
SND 0 0 .quest_narr
SYS SYSC_SPEAK
OR GM_A_MYRA
...
END

The assembler that takes that and converts to bytecode is in https://github.com/btco/so12l/blob/master/tools/xlasm . The VM that runs this is in https://github.com/btco/so12l/blob/master/src/xlvm.lua

Comments


Leshuguita

This is very cool, I love how well the 3D effect works. Reminds me of the first final fantasy, too

btco

Thanks! Yeah, I made the 3D engine myself, it's very basic: just floors, walls and sprites. All textures are 16x16 pixels, which creates this retro look (and conserves the very limited texture memory).

masternama

Btco this game is awesome!

btco

Thank you!

btco

Just pushed a quick patch making the first dungeon a little bit easier.

Ferk

This is actually pretty impressive, with story and all. The elder scrolls of tic80

btco

Thank you! I never played Elder Scrolls, but my main sources of inspiration were the CRPGs of the early 90s, like Eye of the Beholder, Might and Magic, etc.

pngwen

I played entirely too many of this kind of game back in the 90s. (Or at least, this was my mother's assessment.)

I love this game! I was hooked from the moment I read "Or perhaps you will just die pathetically on that first battle that was supposed to be easy".

msx80

wow this is a masterpiece among TIC80 games! Very well done!

btco

Thank you! :)

TaniaDevil

hi , amazing game , i havea question. you update both version of your game, here and github ? i want translate the game and the manual to my language.

btco

Hey! I think the best way is to work with the github version. Most of the game strings are in the virtual machine memory (XL) encoded in map 6 and 7. For instance, this is the jail level:

https://github.com/btco/so12l/blob/master/xl/jail.xl

After modifying XL files you can rebuild the cart by running the go.sh script. It will call the XL assembler to reassemble the XL files into bytecode and encode them into the cartridge. Thanks!

TaniaDevil

change of plans, this is too advanced for me, I thought it would only be a text file T_T

btco

Yeah, the format is a bit annoying to work with, sorry about that! What language did you want to translate it to?

andraaspar

Ha! This is on an entirely new level! You invented a language just to get more out of (or into) the TIC! Impressive! And still it makes great use of the map editor. I see you are very much into compressing big stuff into little containers. Was XL invented solely for this game, or is there any other use?

Not to mention, the story seems great! Even though I died. After 10 years in prison. Walking around and around. But it was with a grin on my face. :D

btco

I invented XL solely for this purpose :) I'm not using it in any other projects.

TaniaDevil

spanish

btco

I speak Spanish, maybe I can try to translate :)

TaniaDevil

oh my god , please ! thank you so much!


Post comment