GithubHelp home page GithubHelp logo

jlvaquero / scunm Goto Github PK

View Code? Open in Web Editor NEW
19.0 3.0 4.0 837 KB

Text Adventure Engine, Editor and Telegram Bot host

License: MIT License

JavaScript 99.83% Batchfile 0.17%
nodejs text-adventure-engine bot telegram-bot game-engine reactjs redux electron javascript

scunm's Introduction

logo

SCUNM

badge Second prize winner in Spaghetti Code Fest at ETSIS University

This is Script Creation Utility for Nodejs Maniacs; a text adventure game engine and Telegram bot as host, writen in node.js. The engine aims to be easily consumed by a Telegram ChatBot through standarized output that allows text, images (even animated gifs) and interactive selection although, thanks to the low coupling design, different hosts and UI are possible.

Instead of free text input, the UI will show custom keyboard for verbs and inline buttons for interactive things that the user will use to send commands to the game engine.

The engine keeps in memory shared game assets for all players and allows the host to load and unload the game state for each player on request. This is perfect for host the engine on server and use it through stateless protocols (i.e. HTTP ) in a multiuser enviroment.

Game assets are defined using plain javascript object initializer with embedded game custom scrips and images will be URL references from any host (your host site, google drive, dropbox, ms onedrive, etc should work).

Keep in mind that the priority is to easy the content creation for game designers; so a lot of concessions was made (read: technical debt and low resilence) to reach to a minimum viable product in its current state.

Game editor has just been born. Electron-React-Redux makes things easy ;)

It is in Alpha state. You can fork it and pull request.

Runing in your machine

Create your bot with https://t.me/BotFather.

Change "var botTokenAuth = "399277036:AAHmfEFe3LcfDkvejKaz_RPxcNHhkQRvf2E"" in Application\app.js with the token botfather provides you.

Visual Studio 2017: Open SCUNM.sln in VS. Restore Nuget packages for Redis. Restore NPM dependecies. Run Application\start.bat.

Other: Restore NPM dependecies. Run redis server. Modify Application\app.js with redis connection config. Run "npm start".

You should be able to play Demo in your bot like in this video:

SCUNM Engine Video

scunm's People

Contributors

dependabot[bot] avatar jlvaquero avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

scunm's Issues

Clustering

Make changes needed for clustering on multicore systems.

Make engine stateless,

Pass state to every command ejecuted by the engine and make the engine return the state as response to avoid race conditions when await to get data from redis.

ToDo: Test.

Implement unit, integration and system test.

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.