Git Product home page Git Product logo

tophop's Introduction

TopHop

Link: https://www.desmos.com/art#17;iqhtp7solc.

TopHot is a game for Desmos, written using Graphgame and Logimat. It's one of the winners for Desmos' 2023 Math Art Competition, as well as a technical demo/example for Graphgame.

TopHop has an easy-to-use interface inspired by Geometry Dash.

Graphgame and Logimat

Logimat is a language that compiles to Desmos (as well as pure math) which provides an interface intended to be as similar to a standard programming language as possible, and is based on Javascript. The core idea behind it is to simplify logical operations (for example, it includes standard if statements with comparison and boolean operators), but it also includes many features that help development, especially for someone who is not used to Desmos' syntax.

Graphgame is a game engine built on top of Logimat, and is based on Unity. It has concepts such as behaviors, game objects, and prefabs that allow for a data-driven approach to game development and makes code easily reusable. It also comes with several built-in behaviors that help to jump-start development.

Graphgame Studio

Graphgame Studio is a tool intended to make Graphgame development faster. It provides an integrated environment for editing code, compiling it, and putting it on Desmos. It also automates the process of styling elements, and comes with all the compilers and libraries you need built-in, so you don't need to set anything up to use Graphgame. Also, it includes basic git operations. If you'd like to explore this project and see how it works, I'd highly recommend using Graphgame Studio (also, make sure to read Graphgame and Logimat's documentation).

Technology

TopHop is a showcase of Graphgame and Logimat's core systems, as well as some features that they ship with. As mentioned above, Graphgame and Logimat simplify the process of creating games and animations in Desmos, especially for those who are not used to how Desmos handles many things. They also allow for greater organization and cleaner code, by allowing for more granular control on how code is organized, separated, and commented, without providing a detrement for the compiled output.

Graphgame's behavior system also supplements this idea by allowing code to be split up into reusable packets (called behaviors), which can respond to input directly given to them (arguments), or variables on an object, and integrate with other components. For certain components that need to interact with others of the same kind (for example, colliders need to interact with other colliders), Graphgame provides systems that allow for dynamic code generation.

Graphgame and Logimat include quite a few features not listed here, and so I'd highly recommend taking a look at their documentation, as well as the code in this repository. Finally, these are some of the big components that Graphgame comes with:

  • Rendering components that simplify the process of putting an object on the screen.
  • Fast collision detection that's essential to any game or animation.
  • DOA (Dynamic Object Allocation) system that allows several objects to be represented with only a few. For example, TopHop has 30 different world elements, but only needs 9 objects to represent them.

Logimat also allows code to be separated into different files.

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.