Jump to content

Introducing Project Warp


Chris
 Share

Recommended Posts

Hello Friends,

I'd like to introduce you to a new project I started recently. Its called Warp.

 

The idea is to create an app that helps you building HTML5 games by taking away some of the obstacles for beginners - as well as making life easier for the more advanced developers.

 

The Warp app acts most basically as a zero-config static HTTP server. This means you hit a browse button and select a folder on your harddrive that contains a index.html file. After that, you hit the start button.

 

Warp enables its built-in HTTP server and makes that folder accessable within your browser. It even opens your browser for you when you hit start ;)

 

This takes away the task of downloading a [W/L]AMP server package that needs to be configured and secured and forces you to keep all your projects within its htdocs or www folder structure.

 

Warp doesn't give you serverside scripting, but most HTML5 games don't use that stuff anyways. On the other hand its not impossible to integrate something in that direction into Warp in the future.

 

My vision of Warp goes much further than just serving files to the browser via HTTP. I dream of an application that helps you getting started by maintaining project templates and scaffolds new game projects for you. Warp will be able to start new projects for you by creating a basic folder structure and placing the most recent version of Phaser (and maybe other engines) for you.

 

In the final stage, Warp will list all devices that are currently accessing the game, displaying device information, the current game framerate on that device and a global console for logging messages and errors of all devices - your personal developer dashboard.

 

Take a look at the git repo, download the sources and make your custom build of Warp 1 if you can't wait to try it out. And please participate here and tell me what you think about Warp, the direction its going and of course what ideas you have in mind that might be also worth implementing (I can't promise to implement everything, tough).

 

You can download pre-build binaries of Warp for:

 

Windows

Mac OS

 

9yGV+.png

Link to comment
Share on other sites

Great project, congrats!

 

What web game development needs is tools, and I think this is great, specially for newstarters and developing in multiple devices at once. All that you say about the roadmap of Warp adds special relevancy.  One thing you didn't mention that could be cool is to be aware of the timestamp of resources and refresh all devices automatically.

 

About privacy & security, I guess it should only serves on local intranet, am I right?

 

Cheers!

Link to comment
Share on other sites

You mean like livereload? That would definitely be possible. But maybe a "simple" solution would be quicker: implementing a refresh button into the app to manually reload single devices, or all of them. Or maybe a hybrid of both. I'll write that on my feature list :)

 

Yes the app is definitely meant for development and testing in your local network, altough you could easily forward a port through the router to make it accessable from the internet.

Link to comment
Share on other sites

After using Warp 1 for a couple of days locally on my computer, I think that the version 1 is stable enough to be used "in the wild".

 

Feel free to download your copy of Warp 1 for Windows or Mac OS (see the first Post in this thread, I added the URLs there).

I didn't manage to create a linux build, yet. If one of the linux users out there would make a build and send it to me, I will host it on our server and add it to the downloads, too.

 

Give it a try and tell me what you think :)

Also, add possible bugs on github.

Link to comment
Share on other sites

@dnkm: No, Warp are completely different things. Warp is a generic, static webserver that can instantly host any folder on your HDD for you.

 

There won't ever be any "live reload" feature in Phaser, because I think it isn't needed. Live-reload doesn't apply on game development, but you can always prove me wrong :)

Link to comment
Share on other sites

  • 2 weeks later...

There won't ever be any "live reload" feature in Phaser, because I think it isn't needed. Live-reload doesn't apply on game development, but you can always prove me wrong :)

 

https://www.loomsdk.com/ check out the video

 

Although I'm afraid something like this is not feasible in Phaser, its a thing that should be coded from the very beggining in the core..

 

As for the convenience of having live reload in game development, I find it quite useful when designing guis and put things in place, fine adjustment. But maybe you are right. It's quite inconvenient to adjust stuff when you are working with compiling languages, but with web technologies and scripting is just a matter of refreshing the game :)  not worthing the effort of code it in the core of the engine, indeed.

Link to comment
Share on other sites

The video looks interesting. When thinking about live-reload for games, I somehow only thought about reloading parts of the game logic, the javascript sources - which is impossible.

 

But you are right - it would be a relatively easy task to observe the asset files like images and css files and observe that files on the hdd for changes. When a change is detected, it could be forwarded to a special phaser plugin that simply re-loads the changed assets.

 

Sadly it looks like more and more phaser users don't utilize the DOM and the standard HTML elements anymore; building all menus and UI elements with canvas elements. So, live changes like shown in the video aren't possible then anymore without re-loading the whole game.

 

But maybe such a reload feature will cause more people to return to HTML elements for UI :)

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Nice.

Here's something I thought of doing because of some Cocoon JS projects that I might be working on in the future, but it might be good match for your helper wrapper.

 

Cocoon requires users to upload single ZIP file with all the game assets, and at the moment the limit is 30Mb.

As it stands, adding code into archive manually is pain enough, but it would be extremely helpful if some kind of a tool could go through all the assets, minimize CSS and JS (assuming that will make some savings on ZIP file?), optimize or notify dev about huge image assets that could do with, then whack all these new optimised stuff into single ZIP file with the best algorithm available.

That could be useful for normal delivery as well, without ZIP option.

Link to comment
Share on other sites

  • 2 weeks later...

Well, yeah...

 

But Warp doesn't need you to have nodejs installed on your machine at all. It also keeps a list of the recently used folders and I have a lot more features planned so far that you can find in the initial post and in the github readme.

 

So its not so simple as just using the http-server module ;)

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...