Chris

Introducing Project Warp

33 posts in this topic

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

OzRamos, gin5eng, jerome and 2 others like this

Share this post


Link to post
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!

Dread Knight likes this

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Downloaded, tested and liked! :) 

 

It just works.

 

I'll be watching the project closely since it will be bounded with phaser. 

Share this post


Link to post
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 :)

Dread Knight likes this

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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 :)

Share this post


Link to post
Share on other sites

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.

Can we use the standard HTML elements to create UI in phaser ? if yes, how please :rolleyes:  ?

Share this post


Link to post
Share on other sites

Great idea, I love it. It certainly helps reduce some of the barrier of entry and tech understanding for many people learning HTML5 game dev.

I look forward to trying it out. 

Share this post


Link to post
Share on other sites

Thanks for the project!

Warp is very useful for testing projects on devices via wifi, which VS doesn't let me even though it has httpserver built in for testing purposes.

Share this post


Link to post
Share on other sites

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.

Dread Knight likes this

Share this post


Link to post
Share on other sites

I have a feature request:

Can, please, you add a textbox for us to directly paste the path (and/or make a "paste from clipboard" button)?

Share this post


Link to post
Share on other sites

Warp is a generic, static webserver that can instantly host any folder on your HDD for you.

 

Just use http-server...

npm install http-server -g

Then navigate to any folder in your terminal and run "http-server". Now you can visit http://localhost:8080 to view the contents.

Share this post


Link to post
Share on other sites

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 ;)

Share this post


Link to post
Share on other sites

Pert, have you ever heard about grunt? It does exactly what you described. Any anything else you can imagine ;)

 

Might have to look into it for some work stuff anyway, cheers for reminding me :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.