Hacker News new | past | comments | ask | show | jobs | submit login
Impact – HTML5 Game Engine (github.com/phoboslab)
245 points by sgerhard on May 3, 2018 | hide | past | favorite | 54 comments



Why was the title changed? The interesting part here is that it has been open sourced and made free. Now it sounds like it's a new engine or active project.

http://impactjs.com/blog/2018/05/impact-is-now-free-open-sou...


Anything that might provoke interest in an article is considered "clickbait" by the HN community and neutered.

A famous HN headline of 1963 was "JFK returns to Washington after visit to Dallas"


Please, lords of HN, preserve this wonderful comment


I agree — I don't think I would have given this post any attention otherwise. Impact is old news. Its open sourcing is not.


I've been seeing a lot of title changes lately that seem far too editorial to me.


HN has been like this for years... not that I like it, but it's not new.


Maybe there should be a log of all headline changes, with a justification so the process can be audited


I agree that there should be some indication made by the software that a title (or URL) has been changed, possibly a second timestamp or asterisk, but if there is such a log, I doubt it would be public.


was there a title change? the link goes directly to the github page.


It used to say "HTML5 Game Engine Impact is now free and open source".


Sorry, how do you open source an HTML and Javascript project? Isn't the source already open by nature of it being interpreted at runtime? Is it just the licence that has changed?


Unlicensed Javascript/HTML projects are not open source. Just because you can see the code, doesn't mean you have any implicit legal permission to use the code for your own projects.

See https://en.wikipedia.org/wiki/Open_source


Wow, this is fantastic! I feel like Impact never got the attention it deserved: at the time of release it was miles above the rest of the 2D pack, and the author was brave/crazy enough to charge money for it (which obviously hindered greater uptake, compared to Phaser - but it showed he was serious about it as a real product). The editor it came with was fantastic - and there still isn't a lot of movement in this area for other game libraries (I think Phaser has a third-party paid effort that is shaping up)

Then he released Ejecta as open source, which was a real game game-changer for me: 60FPS canvas games running on my old iPHone 3G - it was FANTASTIC!

I would have given up on tinkering with HTML5 games along time ago if it wasn't for Dominic, so, if you happen to read this, thank you for all your effort!


My procedurally generated huge-universe MMO uses Go on the back end but ImpactJS on the front end. < https://www.emergencevector.com > I was meaning to port the game to PixiJS to be able to open source the front end, but now I don't have to!

(Even better, now that I know Ejecta is also open source, I can have OpenGL and iOS distribution!)


It only worked because the Impact community had people like you. Thank you so much <3


I've never heard of Ejecta, thanks for the heads up. I wonder if an Android analog exists?


Neat! By clicking on some links I found the blog of who looks like primary developer of Impact, Dominic Szablewski.

http://phoboslab.org/log

It's nice to see a blog with articles from ~10 years ago that aren't broken! I really like his WebGL rendering of WipEout maps:

http://phoboslab.org/wipeout/ http://phoboslab.org/log/2015/04/reverse-engineering-wipeout...


The demo game for Impact was Biolab disaster

http://playbiolab.com/

It's got retro feel, and shows the power of the engine for making scrolling games. Really neat project and I was surprised that it's 8 years old already.


Perhaps the most well-known game is Z-Type.

http://zty.pe/


That was nice a for a minutes. It's funny how the web, free software allow for so many games these days that are free that I think we can take it for granted. When I was a kid, getting _any_ game at all was amazing.

Kids these days are overwhelmed with free stuff, it's likely the reason an engine like this has a hard time making money.


Yes, but the usual "free games" kids get today, they pay with their attention, and or data, and/or later with real money to make progress in the game.

All the games of my childhood I bought(or pirated) .. were 100% about the game.

vut when I see my niece and nephiew playing and accpeting lots of advertisement all the time in their game, like it's normal, I get a bit sad.

So of course, I push other content to them... but I would say the ordinary kid today, gets a lot worse input today, the I did.

And I would like to see much more real free, open source games out there. But apparently very hard to make money with it..


I built a game with Impact a number of years ago and it worked very well. It also comes with this really simple but powerful tile editor https://github.com/phoboslab/Impact/blob/master/weltmeister..... Regardless, it was a great way to learn 2d game development and got me to actually pay for a software library!


I was a big fan of Impact back in the day. It's a great general purpose 2d engine, but it's especially great for platformers. I collected all my Impact plugins here: https://github.com/city41/ImpactPlugins


There used to be a great impact plugin site, pointofimpact I think it was called. Unfortunately, it's all gone now, along with most of the plugins on it...


Same. And its collision map was a great resource when I was looking for the next upgrade to my own naive collision system.

https://github.com/phoboslab/Impact/blob/f461c2f4054dac37dea...


Here's a page on the level editor: http://impactjs.com/documentation/weltmeister


Are there any active projects using this?

It seems to me this was a big thing back in the day but not really relevant anymore.


If I remember right CrossCode[1] is using it. Fun game but another case of near endless beta.

[1]: http://www.cross-code.com/en/home


It's worth noting that crosscode's version of the engine is HEAVILY rewritten - it's not really a good representation of the base engine's capabilities.


The CrossCode devs seem very active on their Discord and company blog. (Last blog posted 3 days ago) [1]

If you want a peek behind the scenes of the gamedev check out their YouTube channel [2] to see an archive of their weekly programming stream from Twitch.

[1]: http://www.radicalfishgames.com/

[2]: https://m.youtube.com/channel/UC7WSom2KTVSX9jyBBWF6Stw


Does anyone know how this compares to Construct 2 & 3? I've only used Construct for simple 2D HTML5 game development, and haven't really heard of any other HTML5 game engines.


Construct is a fully visual game editor, no code is required. Impact is an engine, so you have to write your own JS to do anything.


"Publish your Games into the AppStore with almost native performance".

This had me laughing. Maybe too honest.


Ejecta is actually pretty cool. It maps all the ImpactJS render calls to native OpenGL draws plus other stuff like that.

> JavaScript code is executed directly by a JavaScript VM (JavaScriptCore), the HTML5 Canvas 2D and WebGL API is implemented in native code with OpenGL, Audio is implemented with OpenAL. Several other APIs (touch, accelerometer, localStorage, gamepad) behave like those in a real browser.

http://impactjs.com/ejecta


So I solves a lot of pain points and the only problem you are left with is dealing with JavaScript? It's quite neat, but why not simply use a better language and an engine? E.g. Unity3d, MonoGame, Godot?


If you're targeting the web, then you're compiling to Javascript anyways, so the indirection + engine complexity isn't always worth it. Unity tends to pay off as you take on more platform targets and/or implementation complexity (like graphics), for example.

It's kinda like using https://github.com/schteppe/p2.js for physics instead of Box2D: if p2 gets the job done, then you get the advantage of working with a much simpler code base than Box2D which is just about impenetrable as an emscripten port.


Web distribution is way easier this way, obviously.


I hope someone gets Weltmeister running client side now (without PHP). Then you could hack on Impact using a Chromebook!


There are a few node drop-in replacement for the PHP components. The one I've used in the past is:

https://github.com/drhayes/impact-dev-server


I have seen those, most of them seem abandoned.


Though so is Impact (well, unmaintained) and its plugin ecosystem (the website died and the plugins it hosted are lost), so it's more or less something you have to be comfortable with if you choose to use Impact in 2018.

Excited to see it open source now, of course. Great opportunity for a community to slowly redevelop and rebuild what once was.

I used Impact as recently as two years ago despite these issues and was able to make a networked game. The code is easy to work with and understand. And I used one of the Node wrappers to get the editor working without PHP.


How does it compare to PhaserJS?


Smaller in scope thus simpler. Unmaintained. Far easier to borrow pieces from as needed.

For example I implemented networking on top of my Impact game with relative ease (networked games are never easy) while layering it on top of my Phaser gamer would've taken longer and with more uncertainty because Phaser is far more opinionated and larger in scope.


IMHO - Phaser3 is promising to be the winner html5 framework last few years. But I didn't check if anything new came up in past 1 year.


I imagine Impact is from a time when javascript wasn't as performant and far from as portable as today. Is it still relevant given the canvas and sound improvements in a modern browser? What would be the major use cases for something like Impact versus starting from scratch?


Well, do you think it's worthwhile to implement your own collision map system, vector math, tile editor, etc. every time you start a new game?

It sure is tempting, but not necessarily healthy to the odds that you will ship a game. Though it's also not obvious how much a game engine will help you (like if you'll run into issues with your specific mechanics) until you credentialize in it, so it's always a bit of a crap shoot because games are so open-ended.

For example, I once migrated away from PhaserJS because I couldn't figure out how to add networking and server-side simulation without having more of the physics code in my git diffs.


I absolutely loved playing Xibalba, and was actually thinking about it a few days ago. One of the few HTML shooters that was performant on my mobile device -- actually played through the whole game on mobile. Awesome to see the engine open sourced.


Is it maintained? Only commit in over 3 years appears to be the readme and license.


Base on their blog post, it looks like its lack of maintenance was the driver for the decision to go open source http://impactjs.com/blog/2018/05/impact-is-now-free-open-sou...


I used this years ago - however ended up with construct 2. I've also contributed to the open source scratch 2 apk (runs in a browser) using webRTC for the cloud vars. It's the only scratch emulator with lists support too.

https://github.com/htmlgames/htmlgames.github.io/tree/master...


Another notable site that used Impact (for the client) is the multiplayer universe http://Manyland.com


I created some games for client in this; I liked it quite a bit. Interesting to see if someone picks it up. We encountered only small issues with it which did not really hamper development at the time.


How does it compare with PhaserJS?


Phaser is still maintained. Impact got its last update years ago.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: