Giter VIP home page Giter VIP logo

htgm's Introduction

HyperText GameMaker

Links:

HyperText GameMaker

HyperText GameMaker is an open source framework that allows GameMaker to be used as a webserver and server-side scripting language. GameMaker developers can use HTGM to create and host websites and APIs using only GML, without any external tools. It does this by providing a web-server written in pure GML, a component-framework, and integrations with HTMX to provide simple-to-use dynamic website capabilities. For example, the HTGM Website is built and hosted using HyperText GameMaker.

The name HTGM (HyperText GameMaker) is derived from HTML (HyperText Markup Language), indicating that GameMaker can be used to render and output HyperText to the browser. Its principle of operation is that of a server-side scripting language similar to PHP or React SSR, in that each request from the browser is handled by GameMaker project that uses HTGM which renders an HTML document to be sent to the browser to display. HTGM can act as a REST API or Websocket server equally well.

HTGM can be used to host websites if built and deployed to a server, or it can be used to provide browser-based in-game or debugging tools that can run inside a running GameMaker game, as real-time data connectivity is possible through the use of websockets. Giving players or gamedevs access to interactive tools built using web technologies such as HTML and Javascript. Because HTGM is a webserver, it can work with a wide range of web technologies. The demo project includes integration with HTMX, but can be extended to include the use of client-side frameworks such as React or Vue if desired.

HTGM was created by Meseta, released under the MIT open source license, and is free to use for commercial and non-commercial projects. The project is released as-is, and no support or warranties are provided, but those working on GameMaker projects in general may find help from the friendly GameMaker community on Discord.

Change History

  • v1.3.1
    • Add Vary header for HTMX requests to avoid accidental caching
    • Add surface to PNG function
    • Add Extras argument for HTMLSprite
    • Update logging suite
  • v1.3.0
    • Add support for sessions
    • Add freeform context data
    • Add Websocket renderer support
    • Add multiple session cookie support
    • Add more sanitize functions
    • Fix empty form field handling
    • Fix duplicate header handling
    • Fix should_cache handling
  • v1.2.0
    • Add form and file upload support
    • Add gzip support for content encoding
    • Support url entities in path and query
    • Add separate Query and Parameter in requests
    • Fixed hang when buffer goes above 65k
    • Fix memory leak for responses
  • v1.1.1 Fix query param handling
  • v1.1.0 Add redirect functionality to HttpServerRenderBase
  • v1.0.0 Initial release

htgm's People

Contributors

meseta avatar

Stargazers

mv avatar Chloe Coyle avatar tomat avatar Faulty avatar Edgar Sayohm Takamura avatar Brian avatar TabularElf avatar Torin avatar

Watchers

 avatar

Forkers

mindfulvector

htgm's Issues

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.