Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nanochess/bootrogue

bootRogue, a roguelike game that fits in a boot sector (510 bytes)
https://github.com/nanochess/bootrogue

Last synced: 2 days ago
JSON representation

bootRogue, a roguelike game that fits in a boot sector (510 bytes)

Awesome Lists containing this project

README

        

_ _ ______
| | | | | ___ \
| |__ ___ ___ | |_| |_/ /___ __ _ _ _ ___
| '_ \ / _ \ / _ \| __| // _ \ / _` | | | |/ _ \
| |_) | (_) | (_) | |_| |\ \ (_) | (_| | |_| | __/
|_.__/ \___/ \___/ \__\_| \_\___/ \__, |\__,_|\___|
\ A_________ __/ | /
\ )==o_________> |___/ /
\__________V__________________________________/

bootRogue, a roguelike game that fits in a boot sector (510 bytes)
by Oscar Toledo G. Sep/26/2019

http://nanochess.org
https://github.com/nanochess/bootRogue

It's compatible with 8088 (the original IBM PC)

If you want to assemble it, you must download the Netwide Assembler
(nasm) from www.nasm.us

Use this command line:

nasm -f bin rogue.asm -l rogue.lst -o rogue.img
nasm -f bin rogue.asm -Dcom_file=1 -o rogue.com

Youtube video:

https://www.youtube.com/watch?v=DMMr4z6kU5g

Play it on your browser: (v86 at parkertomatoes.github.io)

https://tinyurl.com/y4447ph8

>> HOW TO PLAY <<

Move with the arrow keys to reveal the area where you are.
Any action is done by touching the target.

Any letter is a monster, the Aardvark monster is the most
easiest of the game, while the Zombie master monster is the
most difficult one. Touching them will cause a battle to
start, press any key to keep advancing the battle and see
how your HP goes down.

The diamonds are traps that will suck your HP.

The clover symbol is food. The square with a hole in the
center is armor, getting more of these means the monsters
will have a hard time hitting you. The up arrow is weapon,
getting more of these means the monsters will receive harder
hits.

The asterisk like symbol is gold, but doesn't affect the
gameplay nor is counted (because lack of space), but I wanted
to have gold in the game ;)

Finally the Amulet of Yendor is represented by a Female sign,
and it will appear only in level 26 or deeper. Once you get
the amulet, the ladders will start taking you to upper levels.

The game will get stuck once you lose all your HP or take the
last ladder to surface.

Enjoy it!

>> AND THERE WAS ROGUE <<

I was a young kid when I learned to put floppy disks inside an
old Televideo machine with green monochrome monitor, turning the
handle to close the door, and turning it again to open it and
insert another disk.

I learned by watching that you could type DIR, and then enter
the name of anything that appeared at the left side.

Didn't passed too much time until I saw I could execute only
the files with COM or EXE letters at the right side.

I played Digger, Jumpjoe, Columbia Invaders, Buzzard Bait,
J-Bird, Bushido, some Pacman-like games, and then I found a
game starting with a full text screen and then a tiny face
over a dotted background. It was called ROGUE.EXE.

You could move over the rooms and find things, like a ring,
armor, weapons, and monsters! Barely I could understand English
but it got me immediately because there were always things
around the corner, and more levels!

I went lazy and tried to go so deep as possible, finding the
ladders without fighting. Big mistake! A dragon appeared and
roared fire with ASCII letters, killing me immediately. I was
hooked!

Patience was the key, slowly started to gather experience
killing the small monsters, discovered how to get better
weapons and armor, avoided the rings (You could never know
the strange things these could do! Except of course when I
found the Identify scroll). Went to level 26 and retrieved
the amulet of Yendor, then started to go back to surface,
fighting for my life, avoiding monsters, and finally I was
out! I was ecstatic, and I was age 11.

It was one of these epic fables that you do only one time
in the life, since then I only played some minutes a few
games of Rogue for the nostalgia, but didn't had time again
to go to level 26.

>> 30 YEARS LATER... <<

But still I had the game in my mind, and decided that I
could write a smaller version for a boot sector, just as a
challenge.

I had "clear" specifications, it had to have the ASCII
graphics and gold (this made it a very difficult task).

Statistics of source code files over development.

lines bytes (com file)
rogue0.asm 252 351 Sep/20/2019 07:18pm
rogue1.asm 358 467 Sep/21/2019 10:00pm
rogue2.asm 548 829 Sep/22/2019 05:54pm
rogue3.asm 502 759 Sep/23/2019 05:22pm
rogue4.asm 468 670 Sep/23/2019 07:03pm
rogue5.asm 460 652 Sep/23/2019 09:43pm
rogue6.asm 460 643 Sep/23/2019 10:16pm
rogue7.asm 457 630 Sep/24/2019 07:08pm
rogue8.asm 435 602 Sep/24/2019 07:48pm
rogue9.asm 436 596 Sep/24/2019 09:44pm
rogue10.asm 441 576 Sep/25/2019 01:35pm
rogue11.asm 480 553 Sep/25/2019 10:24pm
rogue12.asm 472 510 Sep/26/2019 12:24pm

I went into a coding spree and I had coded the whole game
in 3 days. But of course it was too big (rogue2.asm).

Then I had to optimize carefully the code and remove the
features that wouldn't fit even with all my effort, so there
went the roguelike monsters names (the easiest monster is A
for Aardvark, till the more difficult Z for Zombie Master,
feel free to invent more names).

At same time preserved the ASCII graphics for rooms and items,
but couldn't put inside scrolls or potions.

In the last iteration I removed the exp(erience) code because
it really didn't affect the gameplay and managed to get under
510 bytes.

I've put all the revisions inside the backup directory so you
can watch the process of optimization. I preferred to optimize
rather than remove features if possible.

And no, it isn't too easy to go to level 26 and get the Amulet
of Yendor.

>> ATTENTION <<

Would you like to learn 8086/8088 programming? Then you
must get my new book Programming Boot Sector Games including
a 8086/8088/V20 crash course!

Now available from Lulu:

Soft-cover
http://www.lulu.com/shop/oscar-toledo-gutierrez/programming-boot-sector-games/paperback/product-24188564.html

Hard-cover
http://www.lulu.com/shop/oscar-toledo-gutierrez/programming-boot-sector-games/hardcover/product-24188530.html

eBook
https://nanochess.org/store.html

These are some of the example programs documented profusely
in the book:

* Guess the number.
* Tic-Tac-Toe game.
* Text graphics.
* Mandelbrot set.
* F-Bird game.
* Invaders game.
* Pillman game.
* Toledo Atomchess.
* bootBASIC language.

After the success of my first book, if you need even
More Boot Sector Games then you must get this book!

Soft-cover http://www.lulu.com/shop/oscar-toledo-gutierrez/more-boot-sector-games/paperback/product-24462035.html

Hard-cover http://www.lulu.com/shop/oscar-toledo-gutierrez/more-boot-sector-games/hardcover/product-24462029.html

* Follow the Lights
* bootRogue
* bricks
* cubicDoom
* bootOS