Giter Site home page Giter Site logo

sirjeppe / webgamemaker Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 1.0 96 KB

A plugin/module based "almost WYSIWYG" editor/framework for creating games for the web based on the canvas element (2d-context)

License: MIT License

JavaScript 94.03% CSS 3.65% HTML 2.32%

webgamemaker's Introduction

WebGameMaker

A plugin/module based "almost WYSIWYG" editor/framework for creating games for the web based on the canvas element (2d-context)

webgamemaker's People

Contributors

robertn avatar sirjeppe avatar

Watchers

 avatar  avatar  avatar

Forkers

robertn

webgamemaker's Issues

Add support for using values from other objects in object values

I'm thinking it would be really nice to be able to calculate stuff in the different settings fields. Exactly how this should be done is unclear. Needs to be discussed. But e.g. calculating the height of an object depending on how tall another object is etc would be really nice.

Add support for saving a game

Since we already seem to have a mechanism for "loading" games, we need to implement some way of storing them as well. IIRC we discussed storing them as JSON objects somehow, probably using local storage initially?

Create a standalone viewer for a stored game

Since a saved game must be easily publishable when it's been created, it would be nice to have a simple viewer so that the publisher of the game would be able to just share a link to it.

Add support for controlling movements of game objects

It must be possible to specify how an object should be moved around in the game. For example in the Pong case it must be possible to specify that one of the bars should be controlled by keyboard input (or mouse..) and that the other one is controlled by some sort of AI.

To enable this, there must be some sort of generalized plugin API for moving objects around.

Alt 1: If a "controller" is bound to a game object by the creator, the game object could call the controller with the object itself as argument. Problem with this is that the it would make more sense if the controller object was the one initiating the move since it could then directly act on a input event from the browser.

Alt 2: When a controller object is created it also gets a reference to the object that it should control. Then it could just update the object whenever it receives an input event. In the case of an AI controller, it could use a internal timer for determining when to make a move (or somehow rely on the applications main loop).

Support for collision detection

There needs to be a way to notify objects if they are colliding with any other objects in the game, so that they can handle it in their preferred way (e.g bounce, explode etc).

Handle collisions

There needs to be support for actually handling collisions, i.e be able to calculate what speed colliding objects will have after the collision etc.

Implement visual WGM node editor

It would be very nice to have a visual representation of the nodes, having a node editor where you can connect the nodes much easier and get a good overview how different nodes affect each other.

The nodes should be painted on a canvas and it should be possible to connect the nodes by mousedown on an output point for one node and mouseup on an input point on another node.

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.