Impact

This forum is read only and just serves as an archive. If you have any questions, please post them on github.com/phoboslab/impact

8 years ago by dungeonmaster

Let me start by saying that I bought an Impact licence more then a year ago and I already released 2 games on iOS with Ejecta. It's a breeze to work with, even for a guy like me who didn't have previous Javascript or HTML5 or iOS experience.

That being said, I find the Impact development a little bit too obscure. Once in a while, Dominic makes a blog post and share some new features of the latest Impact version and that's about it all.

I would love to see what he's working on at the moment especially on the Impact front. Will there really be an 2.0? Is he planning any other cool plugins like twopointfive? Are there any plans to implement an ofical UI instead of the plugins and injects? etc.. etc..

8 years ago by Apiheld

While I'm not dominic, I want to give this discussion a twist from the start:

Why do you care about 2.0 at all?

If you buy Impact, it allows you to make HTML5 games and works quite well in that regards. There is really no need for a version 2.0 to get your games done, as you've seen before.

See, I run a successful SaaS business. I stopped making almost any public announcements about new features, future development and whatnot. Why? Because people shouldn't buy into some sort of promise but buy value that's actually provided by my software right now.

As a developer (especially games), you should know that it's completely unfeasible to sustain your games over years to come. With every software you sell, you need a continuous stream of income and we, as developers, can be glad that we don't have to pay yearly licence fees for Impact.

Furthermore: I am quite happy that Impact is as lightweight as it is and that, e. g. Impact++ isn't made a core part of the engine.

Anyways, maybe dominic will tell us what he's working on, although I can understand if he won't ;)

8 years ago by Joncom

Sometimes less is more.

8 years ago by dungeonmaster

I basically agree with your statements, like lightweight engine, licensing, etc..I also accept that if somebody doesn't want to make any public announcements, it's perfectly ok, no one can force him to do so. I also don't make any blog posts about updates to my games but on the other side not a single person is interested in :(

I'm just saying that it would be nice to have more information about impact development. Not as a means to somehow make false promises for PR sake but only to give us some information. At the moment it's like a chocolate box, you never know what comes out at the next update.

Speaking of 2.0, I guess it is the largest thread on the forums. So at least some people have some expectations. Personally, I don't have any big issues with the current state of impact. But still I have a big wish list of nice-to-haves and would happily pay for it.

8 years ago by stahlmanDesign

Even if there doesn't seem to be much activity, I'm glad to see that Dominic is always making little fixes to maintain compatibility with new browsers and OS versions, especially Ejecta compatibility with Xcode. A link to clone the latest dev version of Impact can be found on the download page

8 years ago by drhayes

Here's the big old thread.

Preface: The day Dominic announces ImpactJS 2.0 I would pay money for it again. In a heartbeat.

Honestly, I spent a lot of time learning Phaser because I was kinda mad that Impact "wasn't going anywhere". Phaser is more flexible, Phaser lets me do things my way...

I was wrong. Wrong wrong wrong.

I love that Impact is so simple. For all that I think its roll-your-own module system is kinda goofy, the code organization fits in my head perfectly. If I have an idea of how to do something it takes me almost no time to get it running in Impact.

I've spent a lot of time learning how to do things in Impact. I've spent a lot of time building up a library of useful bits to do stuff in Impact. The community is unparalleled, probably the only online community I've spent a large amount of time in because everyone is so helpful and interested.

I could almost believe that Impact is not going to have a 2.0. What features would be in there? I don't think Impact could implement any kind of multiplayer that makes any kind of general solution sense.

The only feature I would really want is to get rid of PHP as a requirement. ( =

Now, the codebase could use some love. I'm not a fan of the class implementation, the module system is weird, it does make an awful lot of garbage per frame... but, then again, the big game I'm working on is targeting desktop and I haven't seen any problems yet so..?

Tests would be nice. Extensibility points in Weltmeister beyond loading JS would be nice. But it's nothing I don't think we can/have managed on our own.

Totally willing to help if Dom wants to open the repo, though. ( ;

8 years ago by FelipeBudinich

"The only feature I would really want is to get rid of PHP as a requirement. ( ="

This.

It would be friggin fantastic to have bake as a node module, and weltmeister officially ported to work on a node server. (currently I do something very hacky with grunt calling the command line to run the bake script)

Also, I would gladly pay again, if only to remove the PHP requirement.

(my only previous request was web audio, and now we have that, so I'm pretty happy with the current feature set.)

8 years ago by Apiheld

The only feature I would really want is to get rid of PHP as a requirement.

Why? I know it's kind of trendy to bash PHP for everything, but you need some tool or program to bake the code. And you need some sort of server to use Weltmeister.

Replacing it with nodejs is NOT an alternative. Why? Then you need to install node and I'd prefer an environment that is heavily widespread anyways. You could upload your Impact-game on almost any webspace and you could use Weltmeister or bake your code. My Mac runs an Apache + PHP modules natively. There are extremely easy stacks like LAMP or XAMPP for Windows as well.

With nodejs, not so much.

The only thing that makes sense is to replace PHP with something that is even more widespread and easier to install and I can't think of anything that fulfills that requirement.

So again, what's the benefit of replacing PHP except for PHP being the hate-child nowadays?

8 years ago by drhayes

@FelipeBudinich: Here's my Impact dev server that recreates the Weltmeister server-side API. Installable through a quick npm install -g impact-dev-server. I've considered adding a plugin API to the dev server. That way you could write plugins for Weltmeister that do stuff on the server-side.

@Apiheld: My main gripe with PHP is I don't know it like I know JS. I've been thinking about modifying the bake script to add a preprocessor to allow for removing debug code automatically, inlining JSON/text/Markdown resources (akin to browserify's brfs on the Node side of things) for dialog, etc. Unfortunately, since I don't really know PHP that well, it's a slog and I've been avoiding it. Since the engine is in JS why not get the toolchain aligned as well?

Apache is very heavyweight for serving local resources to a single browser on a development box. On memory constrained machines I imagine it's kind of a pain. Never mind that MySQL gets bundled with all the XAMP packages and you might have to hand-edit a .htaccess file just to serve Weltmeister.

I don't think uploading Weltmeister to a globally-available webspace is a good idea and wouldn't recommend that to anyone.

As for the environment being widespread, considering Node is an easy brew install node away, I don't see that as being an issue. And, not to be a smart ass, but JavaScript is the most widespread language by installed runtime – chances are you have seven devices in your house that run it right now, give or take.

8 years ago by Apiheld

As for the environment being widespread, considering Node is an easy brew install node away, I don't see that as being an issue. And, not to be a smart ass, but JavaScript is the most widespread language by installed runtime – chances are you have seven devices in your house that run it right now, give or take.

How do Windows user install node? I have a Mac, but just wondering.

You're right about language support, but it's more about the stack, less about the language. I guess I was unclear ;)

But generally speaking, you have some very valid points.

8 years ago by drhayes

Hey, sorry, looking back, my reply is really defensive and aggressive. Is it possible to be both? So, yeah, I didn't mean to come off that way. Sorry about that. ( =

Apparently Node ships an MSI? So there's that.

8 years ago by FelipeBudinich

@drhayes That is so cool! thanks a lot, i'll give it a go later today :)

8 years ago by Saithir

You don't have to use either Apache (which is an overkill for local development) or Node (which I personally don't like because of reasons). Here at work we use this - https://github.com/chrisdarroch/impactrb - on both Windows and Mac machines. Installing Ruby and the Sinatra gem is pretty easy on either. For baking installing PHP-cli is not a big problem as well - it could be rewritten in Ruby or whatever, but what's the point? It takes time and it's not like the baked code would be any different.

So basically, anything that says 'now Impact will be a Node/requireJS/whatever module, have fun putting THAT in your CocoonJS projects' means we'd stay with the old version.

There's just no real reason to spend time on doing such cosmetic and pointless things when that time could be so much better spent on the engine itself.

8 years ago by bookofmormon

I think ImpactJS is shaping along quite nicely. It demonstrates Dominic's clear and structured thinking.

Here's my take:

- It's really easy to use (far easier than Phaser),
- Creating levels are a bliss
- Extending it to include other libraries is easy
- Canvas and WebGL is covered. What more do you need?
- I get to see the source code of the engine. That means, if the HTML5 standard is updated, I might be able to help Dominic out.
- Porting to other platforms is generally doable (there are tutorials for iOS, Windows mobile and even desktop EXEs/apps).

My concern would be the Android version of Ejecta. Right now I only see an unofficial version https://github.com/Wizcorp/Ejecta-X

Anyone working on their Android version of Ejecta?

8 years ago by svenanders

I think there are some good points here. I especially agree with Apiheld when asks why care about 2.0. While the engine development seems to moving slowly, the recent updates have been quite splendid. The 2.5 plugin has spurred me to making something new. More stuff like that would be preferential than an 2.0 engine rewrite.

8 years ago by fugufish

@bookofmormon Android of Ejecta solution, is using Crosswalk.

Tried and proven
http://crosswalk-project.org

8 years ago by dungeonmaster

This seems cool. Any known impactjs games deployed on Android with this ?

8 years ago by Render

I think it's a fair question considering how many options are available today. It's not really a question of if it's worth the money or if it is is relevant today. I think most people asking about updates are concerned with the long-term time investment in getting experienced with impact and never seeing another update, which will inevitably put this engine out of date.

I am pretty certain Dominic is still working on updates for this... if only he would make some kind of announcement, blog post, or something, that would probably clear the air for a lot of people and even make himself a couple more sales.

In reality, we saw a major update 6-7 months ago which is not too shabby, but I think communication would go a long way.

8 years ago by Joncom

@Render: Some ideas don't age quickly. For example, Box2D, despite its age and lack of updates, is still highly effective and in prominent use today. Concepts in networked game programming for example, like entity interpolation (to draw smooth entity movements despite little amounts of data), or client-side prediction (to allow the feeling of responsiveness even when a distant server is yet to confirm the validity of a player's local actions), do not age quick either. There are reasons why "no updates" is not necessarily a valid reason for concern. If a product is mature enough that no updates are necessary, why would you care about updates? The real question people should be asking is, what does this "new thing" offer that I need which this "older thing" does not offer?

8 years ago by Codestar

I love impact's module system and it's ease of getting things done. Bundled with Impact++ it is a beast of a game engine. That's why I'm, sticking with it for my game development. I've been working with it for almost 2 years now and I really don't want all that time I put into to learn the ins and outs of impact to go to waste.

I really wished Dominic would move the engine to using pixi.js for it's rendering, that way we could still get our nice easy canvas fallback and also get all the performance improvements and cool features from Web-GL.

Having access to Web-gl would be my perfect version 2.0. I know Dominic put out that Web-GL demo a while back using the webGL-2d library, but that library hasn't seen activity in almost 4 years. Pixi is what gives phaser and edge over Impact and I feel if impact had an implimentation of pixi it would be the powerhouse of the HTML5 game dev scene as it once was before.

I agree with the above posts, Dominic needs to put out an announcement or something of some of the work that's being done on Impact 2.0 (if any) It would really renew mine and other HTML5 game devs trust in the engine.

8 years ago by Lunarovich

@Joncom: Web technology is aging very quickly. In order to keep the engine up to date, you have to do updates :) Otherwise, it is a normal and accepted practice in the world of development to release additional features. Nobody buys a piece of software nowadays thinking that he obtained some everlasting and fixed technology. In fact, the seller has to assure his clients that they'll get regular updates and bug fixes as well as additional features.

When I bought Impact, I was not aware of features essential for the game development that it is missing. For example, you cannot (out of box and without a hassle) scale or rotate sprites. The engine supports only collisions via rectangles. There is no Webgl support... Should I go on? I think not. Impact is but a core of what one expects from a game engine. Elegant and stable, and yet, very feature poor.

How would you make a pulsating turret in Impact? In Construct 2 or Phaser it's a breeze to do it. You buy a game engine in order to focus on the game logic and not to do usual programming chores normally done by specialists. How do you blend layers in Impact? You'll reply, you can acces canvas directly, etc. But one buys an engine precisely in order not to worry and waste the time on these kinds of things. It's the job of the engine to give you these functionalities out of box.

Dominic has surrounded himself with a veil of silence. That is so uncorrect and dissapointing. People are asking very legitimate questions and he stubbornly remains silent. After all, they paid him and have right to ask questions.

Finally, where can we see a road map of Impact development? Is Impact still in development? Only time will tell. The absence of updates and communication will probably give us the answer.

8 years ago by Apiheld

Valid points, one question though:

There is no Webgl support...


What would you require specifically? From my understanding, modern browsers use hardware acceleration to render canvas, no?

8 years ago by FelipeBudinich

Personally, the moment that we start to see feature creep, and we end up with a 2 megabyte monstrosity such as Phaser, that will be the moment that I'll stop using Impact.

There's nothing being suggested on this thread that is not supported by a plugin (Specially the webgl thing, there's Impact-Pixi, even tho that is currently not necessary because canvas 2d is hardware accelerated on modern browsers)

How would you make a pulsating turret in Impact? 
In Construct 2 or Phaser it's a breeze to do it.

Please show me a list of Construct or Phaser games on Steam, Desura or Good Old Games.

It's very hard to structure medium sized projects with those tools, they are aimed to beginners, and they are not business grade stuff. (unless you do advergames, and in that scenario I would recommend you to use Construct instead of Phaser, because it is way easier to get something working)

8 years ago by Lunarovich

Here are but a few games that are on steam and are made in C2:

http://store.steampowered.com/app/332250/
http://store.steampowered.com/app/262790/
http://store.steampowered.com/app/278890/

Now, show me at least one game made in Impact that looks at least as good as Angvik (the last example). (The Next Penelope is obviously far beyond the reach of Impact capabilities.)

I am not talking about tons of features. Transformations (scaling and rotation) are bare essentials for the game development. Besides, you can always have a modular approach in adding features, using only the features you need for your game and leaving out the others in order to reduce the size of the game.

Let's not praise something only for the reason we have bought and learned it.

8 years ago by FelipeBudinich

I wasn't aware of Construct 2 latest stuff, and that's some very nice GLSL on The Next Penelope, but that is GLSL, it's not out of the box Construct, it could be replicated with Impact.

I have also bought and learnt Construct (since their first DirectX version), that's why I recommend it instead of Phaser.

As for Angvik, my own game, Evilot.

I did implement a skeletal animation system, using transformations, they are part of the canvas spec, they are not hard to do, I don't think it is necesarry to add stuff that is already there.

Phaser, even if free, is not worth it at the moment, that can change, but their roadmap is dreadful, I'm way more excited about Construct 3.

8 years ago by drhayes

@Lunarovich: What do you mean by pulsating turret?

My best two examples of Impact games: Cross Code, who had to modify the engine extensively (there are posts on this forum about it), and Elliot Quest.

Main caveat: my four year anniversary of owning the Impact engine came and went January 29th, 2015. At this point, I know ImpactJS backwards and forwards and I've invested a lot in my current I'm-gonna-work-on-it-till-I-die game. My $100 has gone pretty far.

All that said, I'm a firm believer in using tools that fit the problem. If someone wanted me to make a Canabalt or a Metroidvania on the spot for a game jam, I'd use Impact.

Almost anything else I'd use Panda, at this point. I like open source and it's got a lot of missing features that I'm looking for -- all the Pixi/WebGL stuff (filters, shaders, etc), "better" collision (not just AABBs), Spine support, tweens, etc...

For my time, Panda's missing a decent tilemap implementation. I don't think lots of little rectangles would be that performant in its physics world and I'm seeing bugs for Phaser and Pixi about too many layers causing performance problems as well.

Impact goes through a helluva lot of trouble to be pixel-perfect, something I'm not convinced Phaser can manage. Here's another one.

Panda's got a solution for it, however. But maybe Panda makes pains to not go subpixel? I need to do more testing.

But, yeah, I like and make pixel art games. Impact is tailor-made for that. Any switch I make is going to be after lots of careful consideration.

8 years ago by Lunarovich

@FelipeBudinich: In fact, Construct 2 has started implementing the GLSL support already in 2012 (https://www.scirra.com/blog/95/webgl-shader-effects-in-construct-2). I assure you that you can use WebGL effects in C2 out of the box (ie. via GUI and C2 scripting system - no need for a single JS line of code, plugin authoring or hacking the engine). In my latest game, (that I did not finish, alas) I used to a considerate amount WebGL effects in conjunction with layer and sprite blending, also supported out of the box in C2.

Your game looks pretty nice and I see some advanced programming there :) I agree that transformations are not difficult. However, why should you reinvent the wheel, and waste your time on something else than the specific logic of your game? Transformations in respect to the game design are what wheels are to the car. If you want to build one, you'll have to use them. Why construct yourself the wheels? In regards to rotations, wouldn't it be nice to be able to write something like, sprite.angle = Math.PI / 4; and get a desired result out of the box?

I agree with you on everything you have said about Phaser.

8 years ago by Codestar

The whole panda engine came from the developer working on the Impact-pixi plugin. He doesn't even have the impact-pixi plugin on his github anymore, the only way I found it was on a mirror github page.

That is why I was saying having an implementation of impact in pixi or just webGL would be beneficial. I don't trust the code in the impact-pixi plugin, nor the code in the webGL-2d plugin because both of them are dead projects.

Modern browsers supporting hardware accelerated canvas a little better nowadays doesn't get rid of the need for webGL support. WebGL performs a lot better than canvas hands down and is gaining a lot more steam as the preferred game rendering method. Being able to write shaders to create greater environmental effects and utilized other aspects of WebGL would be awesome for impact.

I actually just recently saw something on twitter from Dominic and apparently he is looking to have Impact use WebGL in version 2.0, but he also stated that implementing it is going to be a lot of work. That twitter post gives me some hope that Impact is still being worked on, but a nice blog post detailing some of the work being done or a roadmap of what is to come would be great. hint hint

8 years ago by Joncom

I actually just recently saw something on twitter from Dominic and apparently he is looking to have Impact use WebGL in version 2.0, but he also stated that implementing it is going to be a lot of work. That twitter post gives me some hope...
Any chance you have a link for that post?

8 years ago by Codestar

@Joncom https://twitter.com/phoboslab/status/560848738386997248
Page 1 of 2
« first « previous next › last »