GithubHelp home page GithubHelp logo

franeklubi / dino Goto Github PK

View Code? Open in Web Editor NEW
103.0 5.0 7.0 213 KB

Chrome's t-rex based bootsector game (512 bytes) written in 16-bit x86 assembly (now with 8086 support!)

License: MIT License

Assembly 92.03% Makefile 7.97%
bootsector bootsectors x86-16 boot game assembly-x86 x86 bootsector-game dinosaur-game assembly

dino's Introduction

dino

;  ______     ______     __      __     ______        ;
;  \      \   \_    _\   \  \\   \  \   \      \      ;
;   \  \\  \     \  \     \  \`\  \  \   \  \\  \     ;
;    \  \\  \     \  \     \  \ `\ \  \   \  \\  \    ;
;     \  ``  \    _\  \_    \  \  `\\  \   \  ``  \   ;
;      \_____/    \______\   \__\   `\__\   \______\  ;
;        A tiny game in 512 bytes (bootsector)        ;

Dino is a bootsector game (512 bytes) written in 16-bit x86 assembly, that's based on Chrome's t-rex runner game!

The game can now be assembled for CPU 8086!



preview.gif

How to play

There are various ways to play dino: you can either use an x86 emulator, or burn the binary to a floppy (or some other medium), and try booting your old pc off of it.

I recommend using an emulator, namely qemu.

$ qemu-system-x86_64 a.bin || qemu-system-i386 a.bin
  • If you have make, nasm and qemu installed, you can just use this command:
$ make run

How to compile

To compile dino you'll need to have nasm installed on your machine.

  • If you have make installed, just use it like so:
$ make
  • If you want to compile by hand, use:
$ nasm -f bin -o a.bin dino.asm
  • Alternatively, if you want to generate a 1440KiB floppy disk image, use:
$ make floppy

Controls

  • Use shift to jump
  • Use ctrl to crouch

Acknowledgements


Dino: 512 bytes
This README: 2154 bytes (not counting the preview gif)

dino's People

Contributors

franeklubi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dino's Issues

Dino 2.0

With the newly gained 39 bytes it's now possible to add more enhancements to the game, e.g.:

  • more random enemy spawning algo (with difficulty level rising preserved, of course)
  • better collision detection (although I think it's good enough)
  • one more enemy
  • crouch sprite for the dino
  • more varied cactii
  • better scoring (now it only indicates how many enemies you have avoided, maybe the scoring system could be revised)

Please include the binary

A suggestion: We normally leave binaries out of repos for size and portability. In this case, saving those few bytes prevents less experienced users from giving it a go in a VM.

Tabs

Reformat to use tab indentations instead of spaces

Add 8086 compatibility

For now, the game can be assembled for CPU 186 and up. I wish it to be able to be assembled for 8086 processor

Development has started on branch 8086-comp - all it needs is finding a couple of bytes to shrink it to 512 bytes overall

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.