10/10 spicy af
Recent community posts
There is no "cameraPixelPerUnit" but for an orthographic camera, the orthographic scale is the vertical number of world units that will fit on screen. The horizontal number of units can then be calculated by dividing by height and then multiplying by width (aka. multiplying by the screen ratio).
Hope that helps!
I have juste installed Superpowers with the ArchLinux repository given in Antergos
What's a repository in this context? Can you explain what is Antergos? Did you not install Superpowers by downloading it from https://sparklinlabs.itch.io/superpowers?
By the way, is there anyone working on the Import feature, as mentioned in the issues in Github? If not I would like to help, as far as I can as I am a very beginner with Electron and Nodejs ^^
I don't think anyone is working on it at the moment. If you start working on it, just post a comment on the issue on GitHub so people know you are.
Search is provided by the CodeMirror editor widget. I think the best approach would be to submit an enhancement request or a patch to CodeMirror's search.js addon, and then update Superpowers to use that new version of CodeMirror. Would be much simpler than trying to fork and maintain our own version of it, which would become an on-going maintenance burden.
The scene editor doesn't generate code, it generates a JSON description which is then used to build the actors.
Basically, each actor does:
const myActor = new Sup.Actor("My Actor", parentActor);
Then if you have a sprite renderer for instance, it'll do:
new Sup.SpriteRenderer(myActor, "Path to sprite asset");
You can find the whole code for setting up an actor component from its scene configuration in its runtime folder. For the SpriteRenderer for instance: https://github.com/superpowers/superpowers-game/blob/master/plugins/default/sprite/runtime/SpriteRenderer.ts
OK so the fact that one can't include manage a subtree as its own git repository is indeed not very convenient. But I'm not very enticed by the idea of complexifying project structure with nested entries.json. What do others think?
We haven't really given much thought to reusable engines built *within Superpowers*. I mean, there are project templates (which you can put in systems/game/public/templates) which are one approach, but it's not quite the same. Maybe your engine would be best built as a plugin for Superpowers Game? It could expose its API like the sound play exposes its API for instance: https://github.com/superpowers/superpowers-game/tr...? I feel like that's a good match.
It would be a very simple plugin that only have a typescriptAPI bundle and no editors or data folder.
I feel like what you really need is the ability to export and import a bunch of scripts at once easily from one project to another, right? If that's the case, this will be covered by implementing https://github.com/superpowers/superpowers/issues/78
La démo RPG le fait : http://bitbucket.org/sparklinlabs/superpowers-rpg-..., tu trouveras peut-être ton bonheur dedans ? Sinon hésite pas à nous montrer le problème que tu rencontres spécifiquement.
Y'a des chances qu'on utilise des trucs qui ont été ajoutés dans la version de développement donc ça m'étonnerait pas que le jeu ne marche pas avec la v0.19. Si tu lances avec F6 ou bien si tu appuies sur F12 pendant que le jeu tourne, tu pourras voir les éventuelles erreurs dans la cosnole.
The Superpowers RPG demo project might help, it has dialog boxes and 2D exploration. It's not quite what you're looking for but should be a good start to learn how to build your own.
(I'd love to have a native visual novel project type at some point too, so that it doesn't require any special coding, but I doubt I'll have the time to tackle it anytime soon so hopefully someone else in the community will take it up ^_^)
Hey! I haven't posted here in a little while!
Last week end, we took part in the Global Game Jam and made Lumberjack Jacques and the Ritual of Doom.
Also, we've posted our first Secret Supporter Update on Patreon, featuring a sneak peek at our next game! :D
It's been a year and a half since the three of us started working on Superpowers. Thanks to generous support from the community on Patreon and during early access on Gumroad, we've been able to do it full-time so far. But with our current financial situation, we can't afford to keep going like that for much longer.
So we've been looking for work on the side, in order to continue this awesome beast of a project... and, well, good news! Bilou and I have found long-term gigs and Pixel-boy will be doing some contract work soon.
What does that mean? Well, we'll definitely have less time to spend on Superpowers every week. Buuuuut! now we don't have to worry so much about making rent every month, and it's remote work with a pretty flexible schedule so, short of being paid to work on Superpowers itself full-time, it's the best outcome we could hope for!
More Open Source work!
We'll do our very best to keep earning your support by releasing more cool open source stuff! On top of our ongoing work on Superpowers, we're recently open sourced, migrated to GitHub and/or improved:
- superpowers-asset-packs — Our asset packs are now CC0-licensed!
- tab-strip — Fixed various edge cases, much better demo
- resize-handle — Can now reuse an existing handle div to avoid flashing on startup
- dnd-tree-view — Now supports custom drag'n'drop events from/to external locations
- simple-dialogs — Extracted as a standalone library from Superpowers
When's the next release?
Check out the latest edition of This Week in Superpowers for info about the next release and why we haven't pushed out a v0.20 yet.
Talk to you soon! ♥
It's the Teleport Behavior that does the trick: https://bitbucket.org/sparklinlabs/superpowers-rpg...
Each marker has the Teleport Behavior on it and will check if the player is close enough before fading out and loading the new map.
At the moment, Superpowers Game has a socket.io plugin for the client, but for the server part, you'll need to use Node.js directly. We have plans to build a "Superpowers Server" project type later!
What happened this week?
Since we're hosting a weekly livestream in French, we thought it'd make sense to have something for the English community too.
Doing a second livestream in English would take a lot of time and effort so instead,
we've just kicked off a weekly community report on our new wiki!
Check it out, it's called: This Week in Superpowers #1!
Lots of games and contributions being made :)
Subclassing the Sup.Actor class isn't really supported, you should be able to accomplish everything you need with Behaviors, I think. You can access properties and methods on a behavior from the outside like so:
And if you need to build a complex reusable actor made of multiple components or with children actors attached to it, you can build your reusable actor hierarchy in a separate scene and then import it many times in your main scene with the "New Prefab" button.
Hope that helps.
For starters, you'll need to create an actor in a scene and put a TextRenderer component on it. Then create a font asset and put it on the text renderer.
Then, in some behavior, you can update the text renderer's displayed text like so:
Just a quick uninformed first answer: I've heard it works for other people so I don't think it's Superpowers's fault, but I haven't tested so who knows! Hopefully someone better informed will show up soon :D
I'd recommend that you use the dev tools (F12 while your game is running, or F6 when launching your game) to grab a CPU profile and look where most of your game's time is spent. See https://developers.google.com/web/tools/chrome-dev... and/or https://developer.chrome.com/devtools/docs/cpu-pro....
Here are some ideas of what MIGHT be performance bottlenecks:
- Does each one of your bullets have a behavior? You might want to add them to a list instead and have a single bullet manager that takes care of moving them around by looping over them. Less work for the engine.
- Are you creating / deleting bullets all the time? You could create a pool of hidden / unused bullets when the game starts. Make them invisible and add them to a list that you can pick from when you need to spawn a new bullet. Once a bullet goes offscreen, remove it from the live bullet list and add it back to the available bullets pool. Less work allocating, creating, destroying and garbage collecting bullets for the engine.
But don't do any of that until you have profiled and located where most of your game actually spends its CPU time or you might end up optimizing the 5% instead of the 95%.