GithubHelp home page GithubHelp logo

ripscape's Introduction

#Ripscape

##General Idea

Goal is to build a playable demo of a top-down game with mouse-oriented controls reminiscent of Runescape.

###Demo

The initial demo will be of a single small room with mineable ore fields, an anvil, and a forge. Player will be able to mine and smelt ores, retrieve items from containers, smith a small range of weapons and armour, and equip said weapons and armour.

##Progress

Very early development. Cursory testing has been done.

##Technical Details

###Type Objects to Describe Item/World Object types

This project makes heavy use of the Type Object pattern, since it allows for individual items (weapons, armour, interactable world objects etc.) to be specced out outside of the source. Each possible Item/World Object type is retrieved from one configuration file or another, and then added to a pool of types, then referenced by the concrete manifestations of that type (a weapon, piece of armour etc.) This also allows us to reference object type properties in a quasi-static way, since only one Type Object for each type is instantiated.

###Room Generation

Rooms are generated from ASCII art. Different floor and wall tiles are represented using different characters, as are different world objects. Numbers are used to indicate "portals" into other rooms, which are mapped to each other in a separate configuration file. This configuration file also contains room names and default styles (floor/wall tile fill, etc.) The room ASCII art is pre-processed to simplify the room designer's life.

###Movement

An implementation of A* is used to pathfind on mouse click. Movement is mapped to a grid. The system permits horizontal and right-angle diagonal movement between adjacent squares.

ripscape's People

Contributors

dcdholder avatar

Watchers

 avatar  avatar

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.