🤑 Indie game store🙌 Free games😂 Fun games😨 Horror games
👷 Game development🎨 Assets📚 Comics
🎉 Sales🎁 Bundles


A member registered 1 year ago · View creator page →


Recent community posts

(Edited 1 time)
declare let window;

juste avant

et ensuite après ton namespace, tu peux faire :

window["machin"] = tonnamespace;


window.machin = tonnamespace;

Ben tu fais pareil, tu crée un Namespace en y mettant tes fonctions dedans.

Ensuite, tu lui dit que window.machin = namespace;

Et tu aura acces a ton namespace et tes fonctions dans le debuggueur

Pas mal du tout, relaxant :D

(Edited 2 times)


for Uniforms:

And an exemple in Superpowers

Video Exemple

for exemple :

you have an actor named "Map" with tilemap Renderer , and one layer

First , you need to get the tileMap with

let map = Sup.getActor("Map").tileMapRenderer.getTileMap()

after that, you can get the TileID from your position with :

let tileID = map.getTileAt(0, Math.floor(this.actor.getX()), Math.floor(this.actor.getY()))

It's just an exemple

It is not recommended to use port 80, because it's the HTTP port.

use another port

you can use

Sup.Math.Random.integer(min, max)


Sup.Math.Random.float(min, max)

A small video to show how to export and use Electron to play the game.

You cant use directly this in your browser.

You can put this in webserver, or use Electron

(Edited 2 times)

with Superpowers v0.19 , Electron have a probleme in 64bits in all platforms.

If you want to continue use this version, download the 32bits.

or download the last release , Superpowers lates version

The video is blurry, it is unclear :(

For exemple , to use Kongregate with your export project :

Put this link into the Index.html after export;

<script src='https://cdn1.kongregate.com/javascripts/kongregate_api.js'></script>

And in Superpowers, you can directly use :

declare let window;

let kongregate = window.kongregateAPI.getAPI();


declare let window;

let kongregate = window["kongregateAPI"]["getAPI"]();

put this plugin into extra folder under the plugin folder

Icon "Formating" after "<>" html , and choose code

Mouse dont use normal coordinate.

0 is the center of the screen game

-1 for left, 1 for right

-1 for down, 1 for up

if you want to use pixel coordinate of game screen, you can use :

camera: Sup.Camera;

awake() {
    this.camera = Sup.getActor("Camera").camera;

update() {
    let mouse = Sup.Input.getMousePosition().unproject(this.camera);

UI is an actor that move with the Camera.

Put an actor into camera for UI ^^

class ballBehavior extends Sup.Behavior{
    private ballActor: Sup.Actor;
    private ballAngle: number;
    private ballPosition: Sup.Math.Vector3;
    private ballVelocity: number;
    constructor(ball) {
        this.ballActor = new Sup.Actor("Ball");
        this.ballActor.setPosition(0, 0, 0);
        this.ballAngle = 0;
        this.ballPosition = new Sup.Math.Vector3;
        this.ballVelocity = 0;
        this.ballAngle += this.ballVelocity;
        //Constrains the angle between 0 and 2pi
        if(this.ballAngle > Math.PI * 2) this.ballAngle = 0 + this.ballAngle - Math.PI * 2;
        }else if (this.ballAngle < 0) this.ballAngle = Math.PI - this.ballAngle + Math.PI * 2;
        //Maybe a little spinback on the pointer?
        this.ballPosition = new Sup.Math.Vector3(Math.cos(this.ballAngle) * wheelActor.getLocalScaleX() * 100 / 100, Math.sin(this.ballAngle) * wheelActor.getLocalScaleX() * 100 / 100, 0);
        if(Sup.Input.wasKeyJustPressed("LEFT")) this.ballVelocity = 0.5;

dont declare all variables into constructor, always on top of this

normalement, rien qu'avec la souris, pas besoin de touch.

La souris est remplacé directement par le touch sur des systemes compatible.

Pour qu'une scène puisse s'afficher , il faut au minimum une camera. Sinon ton écran reste noir :)

Apres, en parlant d'index, c'est en fait le Z Order.

Donc faut que tes objets dans ta scene soient inferieurs au Z Order de ta camera.

Superpowers utilise son propre système de TileMap, donc son propre éditeur interne.

a toi de fixer les limites.

Soit en code, soit avec ton tilemap et des tiles de collisions