Giter VIP home page Giter VIP logo

kaetram-open's Introduction

Kaetram

Kaetram is an open-source game-engine created to aid those interested in entering the game development realm. The codebase is simple, clean, and intuitive, and is intended to be used as a learning tool. The original idea is based on Little Workshop's demo game - BrowserQuest. The assets have remained the same, but the code itself has been completely wiped and redone from the ground up.

Live Version - https://kaetram.com

Discord - https://discord.gg/MmbGAaw

Demo

Features

Features include what you'd expect from an MMORPG.

  • Multiplayer
  • Enhanced rendering engine (includes dynamic lighting, overlays, animated tiles)
  • Region system (client receives only necessary data and saves it)
  • Questing and achievements system.
  • Plugin-based combat system (for bosses/special enemies)
  • And much more

Region Manager

The region system sends data to the client according to the map data of the server. The collisions are checked both server-side and client-side in order to avoid cheating. The region-system has also been updated such that users can create instanced versions of the same area. These areas can be used to draw 'alternate' versions of the map, and be used for special events such as minigames. Multiple players can also be added to these regions.

Tilesheet Parsing

The rendering engine has been updated such that it is able to handle multiple tilesheets the same way Tiled editor can. Simply drop in your tilesheet in the client/img/tilesets.

Installing and Running

You must install MongoDB and create a user and a database.

npm install
npm start

Prior to starting Kaetram, make sure you rename the config.json-dist to config.json and modify them accordingly. There are two configurations in server/ and client/data.

Map Parsing

Once you finish modifying your map in tools/maps/data you can parse the map data by executing exportmap.js in tools/maps directory. Example command:

./exportmap.js ./data/map.json

TODO

  • Write documentation outlining the entirety of the source code.

  • Come up with a storyline.

  • Add (continue) to NPC talking -- spacebar when talking

kaetram-open's People

Contributors

veradictus avatar lemueldls 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.