Git Product home page Git Product logo

cave-in's Introduction

Cave-In

Cave-In: [Bagman Arcade game sequel: still alpha as Red lang itself ]

There was this arcade machine game from the early 80's where I spent a lot of coins. As I'm learning Red language, I thought it would be a good training to design a clone, just to learn while play, because I wanted to play again this game. Red lang allowed me to create the game from scratch, I never imagined it would be so easy & fun to make games (have I mentioned that wanted to play again?), I really enjoyed doing it, it had been a long time since I did it this way. (since my COBOL epoch at 80's to be honest).

As it was a lot of work to do for only a person, design everything and put it all to run together was a challenge, I could hardly have done it with another language that was not human oriented 😃. Yes, Red really makes everything a bit easier, I'm sure you would like to try it if you are, like me, tired of fighting against the tense syntax and semantics of traditional languages. Red is a data format first, so you write relative expressions and decide what is code and what is data, (because everything is data in Red ), and so the expressions evaluation runs fluent accordingly.

In this game I explore the idea of writing the object names out of the source code, in the config files, together with the other object parameters, I had this idea when thinking on how to allow multiple game levels and take profit of these files to reduce the LOC number (~2300), so the objects are created when loading the level config file using the names they have. The code makes intensive use (maybe abuse 😆) of path access to data across multiple objects (what I myself refer to as transobjecting 😄), this feature, native on Red, avoids using a lot of code functions or so called 'methods' on other langs to manage objects. That is, truly, fighting against software complexity.

I know this game does not have the quality of the true arcade game, but the goal is not to market it, but to learn, to play and share the code to others, so they can also enjoy and learn in his way. In addition there are some known functional concerns on behavior, as for example elevators & kart excessive speed on Linux and different computer speeds (what is itself a challenge), and for sure will discover more flawns, so the development continues, but slowly.

Official sound support is not available at this time, (you're already aware that Red is alpha stage) so no sound is provided by now. I remember the sound effects & melody the arcade machine had, Turkey in the Straw (ice cream truck song melody), some day music & sound will be available in Red and we could enjoy much more.


REQUIREMENTS: None on Windows & MacOs, just click on the executable file. For Linux GTK Must be installed and running.

To run the game you need to copy the desired executable file from the right folder for your O.S. in the main game folder.


The game also runs on interpreter!, you need the Red toolchain in your path, just download/unpack the files & folders and click on cave.red file (sources must be at the main game folder in this case). This way you'll see a lot of messages in the gui console that help on debug, because I use the gui console for development and testing.

You can also cross-compile your exe going to the src folder with [PATH to Red]red -r -t [target OS] cave.red.

Meet us at the Red forums and ask whatever you want to ask, here is the Red dev team ready for answer, and of course me too. Have fun! 😉

Red language is an open source project made by Full Stack Technologies @ www.red-lang.org


INSTRUCTIONS FOR CREATING NEW LEVELS: Read file zLevelsDesign.txt please


Test Image 1

cave-in's People

Contributors

gltewalt avatar planetsizecpu avatar

Stargazers

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

Forkers

gltewalt djrondon

cave-in's Issues

Error on load file in Linux

Filenames in Linux is case sensitive.

I got the following error

[guaracy@guaracy Cave-In (master)]$ red cave.red
*** Access Error: cannot open: DATA/Kart-tl1.png
*** Where: decode
*** Stack: LoadDfltImages load 

Please, change lines 312 and 313 in file loadlevel.red

Kart-TL1: load to-file (Ldata/Kart-tl1.png)
Kart-TR1: load to-file (Ldata/Kart-tr1.png)

by

Kart-TL1: load to-file (Ldata/kart-tl1.png)
Kart-TR1: load to-file (Ldata/kart-tr1.png)

thanks

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.