Posted September 19, 2021 by PhaserEditor2D
#phaser #html5 #cloud #editor
Hi! I'm glad to announce a new release of Phaser Editor 2D: version 3.30.0!
This version is 10 points ahead of the previous one (v3.20.0), it comes with some awesome new additions and breaking changes.
Don't worry, the breaking changes are not going to break your projects. It is all about how the editor is distributed and integrated into your development environment.
If you are creating games, tutorials, or any other content (no matter if it is your first project) with Phaser Editor 2D, please tell me, and I will be proud to feature it on the website, newsletter, and social channels.
A lot is happening in our Discord server. Join us for collaboration. Ask questions or tell us your ideas. Your feedback is highly appreciated and is very important in the process of providing a more friendly and stable IDE.
(I'm going to write a bit here, please, sorry for my poor English, I don't even write my native Spanish very well)
Since the first time I released v3 of the editor, I had in mind to make an editor capable to run in different environments: the cloud and the desktop.
My first idea was to follow a server-client architecture. And provide different servers (backends) for the different contexts where you can run the editor. For example, a backend for the cloud and a backend for the desktop.
It worked. I implemented a PHP backend for hosting the editor in the phasereditor2d.com website, and a Go-based backend for running the editor on the desktop, or private networks.
However, this had some limitations:
For the first point, I had no solution at all. I only own a shared hosting on top of PHP and Apache, so my resources in terms of infrastructure are very limited.
For the second point, I tried wrapping the editor in an ElectronJS app. It solved some issues, like launching the editor just with a click, but questions like creating a new project in different locations were not solved.
These are not too complex problems. But I decided to focus more on the Phaser development tools, which is the real value of the editor.
However, after the release of the nested prefabs feature, I decided to give another try to the way the editor is distributed and integrated with your development workflow.
This is my solution.
First, let's forget about providing an online platform for making games with Phaser Editor 2D. With the limited resources I have, I just can make a toy. What's the solution? A third-party platform. I especially like Gitpod.io.
That's a real platform for running a development environment in the cloud. Gitpod allows opening a GitHub repository in a remote container (or workspace) and it welcomes you with a VS Code instance running in your browser! So you can code with a powerful editor, run tools like the TypeScript compiler, and, open Phaser Editor 2D alongside VS Code!
This is something you can do since the first version of the editor, but now I have made it a lot easier.
This is what I did:
For adapting the editor to the cloud:
This new "minimal" backend had the new name of Phaser Editor 2D Core. And I find it is not only useful for cloud-based development, else I think that's the right setup for developing games locally. I love that you can install/update it via NPM and "force" your teammates to use the same version of the editor.
Learn more about Phaser Editor 2D Core
But what about the project templates? I created a Phaser Editor 2D Start page, it lists a few of project templates with different setups:
And also a few example games.
You can download a template, open it on Gitpod, or go to the GitHub project. So, the workflow for starting with Phaser Editor 2D Core is like you do with other web tools: you start cloning/downloading a repository.
Phaser Editor 2D Core is the solution for you if you want to make Phaser games following a modern web development workflow.
Second point. An editor for the desktop.
We have a "minimal" Phaser Editor 2D Core, so we need something with deeper integration with the desktop. Many of you come to Phaser Editor 2D because want to have a traditional IDE-like experience.
This is what I did:
This distribution of the editor has the name of Phaser Editor 2D All-in-One.
"All-in-One" because it includes the tools you need for working offline. If you are used to traditional game development IDEs (Unity, Godot, GameMaker,...), and don't want to adopt the web development workflow. Or if you want just to try the editor, then Phaser Editor 2D All-in-One is for you.
Learn more about Phaser Editor 2D All-in-One
In the process of simplifying Phaser Editor 2D Core, I changed or removed some features:
-update
, -download
). Now you can install & update the editor via NPM. Check phasereditor2d-launcher.
-ws
flag). You cannot create a new project with Phaser Editor 2D Core. When you start it, you should set the project path, with the -project
flag. $ PhaserEditor2D -project path/to/game
For starting a project in Core, you can download a starter template. Or create it with Phaser Editor 2D All-in-One.
The Marketplace! I want to implement a marketplace for keeping in a single place all content related to the editor. If you are working with the editor (or plain Phaser), making tutorials, videos, games, plugins, assets, you will be able to publish (or link) them in the marketplace.
This will take some time for me, I'm not skilled in traditional web development, but I believe it will help to grow the community around the editor.
Maybe in the future, I can add payments to the marketplace. I want to diversify my sources of income. I think about it every day. Because I want someday to release the editor for free and fully open source. Maybe I can do it, providing services for game development, like game hosting, game servers, a marketplace. It is a lot of work, and the competition is huge, but I keep dreaming about it. For now, the most important task is adding the features the editor needs, like a Timeline Animator. Maybe I will work on it after complete the marketplace.
Keep in contact!
Arian