All Projects → jeff-1amstudios → Restful Doom

jeff-1amstudios / Restful Doom

Licence: gpl-2.0
HTTP+JSON API hosted inside the 1993 DOOM engine!

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Restful Doom

Flask Restplus
Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 2,585 (+882.89%)
Mutual labels:  api, restful, json
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (-3.8%)
Mutual labels:  api, restful, json
Flask Restx
Fork of Flask-RESTPlus: Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 1,050 (+299.24%)
Mutual labels:  api, restful, json
Php Curl Class
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Stars: ✭ 2,903 (+1003.8%)
Mutual labels:  api, restful, json
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-81.37%)
Mutual labels:  api, restful, json
Cornichon
Scala DSL for testing HTTP JSON API
Stars: ✭ 211 (-19.77%)
Mutual labels:  api, json
Bilibili Api Collect
哔哩哔哩-API收集整理【不断更新中....】
Stars: ✭ 4,497 (+1609.89%)
Mutual labels:  api, json
Datoji
A tiny JSON storage service. Create, Read, Update, Delete and Search JSON data.
Stars: ✭ 222 (-15.59%)
Mutual labels:  api, json
Flasgger
Easy OpenAPI specs and Swagger UI for your Flask API
Stars: ✭ 2,825 (+974.14%)
Mutual labels:  api, restful
Horaires Ratp Api
Webservice pour les horaires et trafic RATP en temps réel
Stars: ✭ 232 (-11.79%)
Mutual labels:  api, json
Jsonapi Rails
Rails gem for fast jsonapi-compliant APIs.
Stars: ✭ 242 (-7.98%)
Mutual labels:  api, json
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+20071.86%)
Mutual labels:  api, json
Dialetus Service
API to Informal dictionary for the idiomatic expressions that each Brazilian region It has
Stars: ✭ 202 (-23.19%)
Mutual labels:  api, json
Contentful Cli
The official Contentful command line interface. Use Contentful features straight from the command line!
Stars: ✭ 200 (-23.95%)
Mutual labels:  api, json
Jsonapi Rb
Efficiently produce and consume JSON API documents.
Stars: ✭ 219 (-16.73%)
Mutual labels:  api, json
Jsonapi Utils
Build JSON API-compliant APIs on Rails with no (or less) learning curve.
Stars: ✭ 191 (-27.38%)
Mutual labels:  api, json
Flexirest
Flexirest - The really flexible REST API client for Ruby
Stars: ✭ 188 (-28.52%)
Mutual labels:  api, json
swwmgz m
Codename: Demolitionist. An ambitious GZDoom gameplay mod featuring non-stop over-the-top action, crazy guns, and a cute, sassy robot protagonist, as well as lots of LORE. (Formerly known as SWWM GZ)
Stars: ✭ 23 (-91.25%)
Mutual labels:  retro, doom
Supra Api Nodejs
❤️ Node.js REST API boilerplate
Stars: ✭ 182 (-30.8%)
Mutual labels:  api, restful
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-28.52%)
Mutual labels:  api, json

RESTful-DOOM

An HTTP + JSON API hosted inside the 1993 DOOM engine!

RESTful-DOOM is a version of Doom which hosts a RESTful API! The API allows you to query and manipulate various game objects with standard HTTP requests as the game runs.

There were a few challenges:

  • Build an HTTP+JSON RESTful API server in C.
  • Run the server code inside the Doom engine, without breaking the game loop.
  • Figure out what kinds of things we can manipulate in the game world, and how to interact with them in memory to achieve the desired effect!

RESTFul-DOOM is built on top of the awesome Chocolate Doom project. I like this project because it aims to stick as close to the original experience as possible, while making it easy to compile and run on modern systems. This was only possible by building on top of their hard work!

More details in blog post:

http://1amstudios.com/2017/08/01/restful-doom/

API Spec

API spec in RAML 1.0 format

Build

Building dependencies (needs to be run only once)

Takes care of building and configuring dependencies like SDL. Uses chocpkg.

./configure-and-build.sh

Compiling

Run make from the src (or root) directory. src/restful-doom will be created if the compile succeeds.

Run

The DOOM engine is open source, but assets (art, maps etc) are not. You'll need to download an appropriate WAD file separately.

To run restful-doom on port 6666:

src/restful-doom -iwad <path/to/doom1.wad> -apiport 6666 ...

Thanks!

chocolate-doom team
cJSON - JSON parsing / generation
yuarel - URL parsing

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].