News for hackers. Stuff that matters.

Ask HN: Please Review My Project (JS Game Engine)

Hi Everyone,

This is the first time that I've submitted anything here, but I lurk and read HN daily. My partner Joe and I just launched a suite of tools for building 2D web games with pure JavaScript and we'd really love your feedback. 

http://www.effectgames.com

Briefly: we're a web developer and designer who are both very heavily into video games. While trying to avoid any negativity around Flash, we thought standard and open web tech would be a better basis for creating games (plus we're more familiar with JavaScript).

We have been working on this off and on for over four years, and now we're ready to release the "Effect Engine" -- a pure JavaScript / DHTML framework for displaying and animating game graphics, playing sounds & music, handling keyboard & mouse, and performing sprite collision detection. It smoothly renders multiple layers of parallax scrolling tiles and sprites without requiring Canvas or SVG (so it plays nicely with all modern browsers).

Right now, we're working on expanding some of the available game demos to full blown titles (for example: http://www.effectgames.com/effect/games/crystalgalaxy/1.0b), but that doesn't mean that the engine is done.

We're planning on launching a slew of new features in the coming months, but we've gotten to a point where we'd really appreciate some feedback for improving Effect.

As excited as we are about finally getting to create the games that we've had in our heads for years, we're even more excited to see what our friends on HN can do!

Min and Joe

( 50 comments | 103 points | on HN )
Re:Ask HN: Please Review My Project (JS Game Engine) by thechangelog on Wednesday December 09, 2009 @01:58PM (#986305)
I tried Crystal Galaxy and it was amazingly smooth and felt native. Nice work.
Re:Ask HN: Please Review My Project (JS Game Engine) by e1ven on Wednesday December 09, 2009 @02:19PM (#986355)
This is really wonderful! The games play quickly on Chrome, how well do they preform on IE?

The Mario demo was great, and the Platformer demo really expanded on that to show it supports modern techniques.

Just FYI, in Chrome, http://www.effectgames.com/effect/games/crystalgalaxy/ shows alert boxes complainigna bout unloaded resources.

I didn't see it mentioned on the site, but what is your revenue model for this? Advertisements? Charge for the devtools?

Do you deal with multiplayer at all yet?

Best of luck with this project!

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @02:25PM (#986368)
First off, thanks for the kind words! You shouldn't be seeing a significant difference in performance on IE (6-8). We'll look into the alert boxes, are you in Chrome on Windows? We currently don't charge for use of the services. And, absolutely looking at dealing with multiplayer in the future.
Re:Ask HN: Please Review My Project (JS Game Engine) by teach on Wednesday December 09, 2009 @06:07PM (#986839)
I did see a pretty significant slowdown on IE7 (XP service pack 3) in the Crystal Galaxy demo in the section where there's a wall down the center of the screen and a big mass of the "bubbles" both above and below. By the end of that, it's really chugging.

Firefox 3.5.4 is really smooth, though, and IE7 is surprisingly smooth even then.

Re:Ask HN: Please Review My Project (JS Game Engine) by bbq on Wednesday December 09, 2009 @04:39PM (#986648)
Just tried Crystal Galaxy out on IE7 (at work) and it works great. I actually didn't expect it to work at all but I was impressed.
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @05:42PM (#986782)
We actually support IE6 as well. It won't perform quite as well as browsers with optimized JS engines, but it should load, run and be playable.
Re:Ask HN: Please Review My Project (JS Game Engine) by pufuwozu on Wednesday December 09, 2009 @05:33PM (#986767)
Re:Ask HN: Please Review My Project (JS Game Engine) by ErrantX on Wednesday December 09, 2009 @01:14PM (#986201)
Re:Ask HN: Please Review My Project (JS Game Engine) by cabalamat on Wednesday December 09, 2009 @03:49PM (#986556)
I've had a look at your website and am not sure exactly what proposition you're offering. I also don't understand your EULA, which says:

"The API consists of Javascript that allows You to use the Effect Game Engine on your website, subject to the limitations and conditions described below. The API is limited to allowing You to use the engine only, and does not provide You with the ability to access or modify the underlying code"

This is incorrect terminology, because an API is just an interface; the code OTOH is a library. Given that JavaScript is distributed as source, how can I use your library without accessing the underlying code. Do you mean you've obfuscated the source?

Furthermore if the Effect Game Engine is on my website, presumably the *.js files containing your libvrary are also hosted on my website, meaning I've copied them.

Later on the EULA says: "Effect Games reserves the right to release subsequent versions of the API and to require You to obtain and use the most recent version."

How do I "obtain" something without "accessing" it?

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @04:04PM (#986577)
Hi, we're revising our EULA and privacy policy to be clearer. Also, I'll be posting an article on our site so please watch for that in the coming days. fyi, we provide an embed function for posting a game to your site (via iframe), so copying isn't an issue. Thanks for the specific input! Again, we'll have updated policies that are much clearer up soon.
Re:Ask HN: Please Review My Project (JS Game Engine) by midnightmonster on Thursday December 10, 2009 @12:18AM (#987361)
Crystal Galaxy was amazing. One of the best browser games I've played in any platform.

FWIW, sound doesn't work at all here in FF 3 on Ubuntu 9.4.

I know you're working on terms, and I haven't dug into it very much, but just FYI, if my games depend on your company's ongoing existence and good pleasure to run, I won't even start using your system, no matter how good it is. I would certainly consider paying for a license (and it could be a larger amount if there's some kind of provision for low-traffic/revenue use being free or cheap), but you'll probably have to just trust me to some extent, because (here I am repeating) if my games depend on you to run on an ongoing basis, I'm much more locked in with you than with Flash, and I just won't do it.

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Thursday December 10, 2009 @12:55AM (#987399)
Hi there. You bring up a great point (one that we've thought about ourselves quite a bit). I'd like to mention that we are working on a standalone distribution package for your published games. This package can be deployed to your own server, and runs without contacting our servers. For whatever reason, if we go down (fingers crossed) we do not want to take you down with us.
Re:Ask HN: Please Review My Project (JS Game Engine) by rationalthug on Thursday December 17, 2009 @06:22PM (#1002176)
Was just browsing through the game engine code and came across this:

   // Effect Game Engine
   // Copyright (c) 2005 - 2009 Effect Games LLC and Joseph Huckaby.
   // All rights reserved.  Patent Pending.
Patent pending? Seriously? What aspects of your code you are attempting to patent?

While I'm sure you've pulled off many cool JS tricks in creating your product, is a patent necessary? The problem for every one, once your patent issues, if it does, is the temptation to chase down every smart programmer who has done something cool with browser based game programming.

What in your work is so novel that copyright won't suffice? Is it more about the entire ecosystem/framework you've created?

Re:Ask HN: Please Review My Project (JS Game Engine) by ElliotH on Wednesday December 09, 2009 @05:07PM (#986717)
I was literally amazed by how well this played - everything was really well done even under the slower internet explorer javascript interpreter. What I really loved was that the smoothness difference between this and say a flash game is hardly noticeable.
Re:Ask HN: Please Review My Project (JS Game Engine) by leej on Wednesday December 09, 2009 @03:02PM (#986458)
congrats. one thing, though, license and usage pricing should be communicated clearly.
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @03:25PM (#986507)
We're updating the EULA and policies to be more open. Once it's up, I'll post a message on the site. The absolute last thing we want to do is keep people from trying Effect out.
Re:Ask HN: Please Review My Project (JS Game Engine) by rufo on Wednesday December 09, 2009 @03:20PM (#986494)
Indeed. I'm really impressed and intrigued, but I'm a bit wary about doing much of anything serious since I don't know what the terms are, what licensing might be like, etc. Even though it says in the EULA I retain rights of code/assets/etc. I'd really hate to develop something and then have it taken down over payment, or for some other reason.

But from a technical standpoint, it looks very cool - nice work!

Re:Ask HN: Please Review My Project (JS Game Engine) by CamperBob on Wednesday December 09, 2009 @06:37PM (#986904)
Exactly. Lack of licensing details made me wonder what they were trying to hide.
Re:Ask HN: Please Review My Project (JS Game Engine) by lpolovets on Wednesday December 09, 2009 @02:34PM (#986385)
Looks awesome!

Without necessarily being negative about Flash-based games, I think your homepage should clearly mention that users only need Javascript enabled. Seems like a very strong selling/marketing point for developers.

Re:Ask HN: Please Review My Project (JS Game Engine) by flipgimble on Wednesday December 09, 2009 @05:51PM (#986801)
Wait, you say its a pure Javascript/DHTML engine, but it still using Flash for audio? I noticed your game is using http://www.effectgames.com/engine/audio.swf

Is that because there is no browser support for playing audio? I have only a passing familiarity with current state of HTML5 browsers.

Though overall those are the highest-quality mostly-JavaScript games I've seen yet.

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @06:04PM (#986832)
Yes, we currently use Flash for audio as a fallback. We've been working on native audio with mixed results. http://www.effectgames.com/effect/article.psp.html/news/Snow... It is definitely something we're continuing to work on tho. And thanks for the kind words!
Re:Ask HN: Please Review My Project (JS Game Engine) by ericd on Wednesday December 09, 2009 @02:42PM (#986409)
Awesome, I was thinking of doing a custom engine, since JS performance is reaching the point where it can compete with flash, and I have no desire to learn ActionScript. Big kudos for doing this and sharing it with everyone.

Crystal Galaxy performs very well on Mac Chrome, and feels more responsive than any flash game I've encountered (though it sometimes stutters a bit on some of the explosions).

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Friday December 11, 2009 @01:56AM (#989314)
Hi everyone, We've updated our policies http://bit.ly/4NKGHm so please give them a read, and check here http://bit.ly/7b4yF2 for a comment about an upcoming feature that addresses an additional concern. And thanks again for all the great comments!
Re:Ask HN: Please Review My Project (JS Game Engine) by jokergd on Wednesday December 09, 2009 @02:57PM (#986448)
great system!

we need to get rid of flash already and replace it with something that does not destroy resources

how about the multiplayer aspects of games? have you any ideas about developing this?

I am very interested in competitive games where we can play versus others in the same js style environment.

Re:Ask HN: Please Review My Project (JS Game Engine) by truebosko on Wednesday December 09, 2009 @01:37PM (#986250)
Do you plan to eventually use Canvas/SVG or do you find this way works better for the long term and overall?
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @01:49PM (#986283)
Hi, currently this is pure JS/DHTML but we are considering Canvas for the future. We go into a little bit more detail in our FAQ. http://www.effectgames.com/effect/article.psp.html/docs/Freq...
Re:Ask HN: Please Review My Project (JS Game Engine) by e1ven on Thursday December 10, 2009 @12:19AM (#987362)
It does seem to run on the iPhone 3gs, albeit it slowly. One suggestion I might make is to detect iPhone/Android devices, and offer a popup control.

Further, you can provide the right meta data so that it can be added as a web-application, right to the iPhone home screen.

Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Thursday December 10, 2009 @12:59AM (#987403)
Hi. These are great suggestions! A mobile optimized version of the engine and services are very high on our to do list so you can expect to see something in the near term.
Re:Ask HN: Please Review My Project (JS Game Engine) by timb on Wednesday December 09, 2009 @04:09PM (#986585)
The engine should load assets in the background. For example, in the mario game, when I descend into a pipe, it pauses while it loads the level. Likewise, the Crystal Galaxy game should load assets while I am on the menu screen, rather than waiting for me to press Start.
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @05:32PM (#986763)
That is a great suggestion! We actually have an option available to the game developer to opt to preload each level - Essentially, they can choose to preload everything at once. There are some performance implications to this tho. In any case, we'll definitely look at an asset streaming option. Thanks for the input!
Re:Ask HN: Please Review My Project (JS Game Engine) by simplify on Wednesday December 09, 2009 @02:32PM (#986382)
Looks great! absOrb is the only demo that doesn't load for me, os x / safari webkit nightly. Here's the console error:

    TypeError: Result of expression 'this.yH.gk' [null] is not an object.
    engine-0.12b.js:52
Re:Ask HN: Please Review My Project (JS Game Engine) by Pistos2 on Friday December 11, 2009 @10:48AM (#989857)
Also didn't load for me, Opera 10.10, Linux.
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @02:50PM (#986428)
Thanks for this! Looking into it.
Re:Ask HN: Please Review My Project (JS Game Engine) by dannytatom on Wednesday December 09, 2009 @08:26PM (#987074)
This is great! I've been toying around the idea of a game in my head for a while now, but every JS game engine I come across is terribly slow. This definitely seems like a leap in the right direction, congrats!
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @08:37PM (#987093)
To you and all the great commenters on HN, thanks! We're really looking forward to seeing any games you create.
Re:Ask HN: Please Review My Project (JS Game Engine) by fnid on Wednesday December 09, 2009 @04:39PM (#986646)
Doesn't work in Opera. The background image appears and the music starts playing, but that's it. In FF i noticed a loading progress bar and it proceeded to a welcome screen and I can play it as expected.
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @04:42PM (#986659)
Hi, which demo were you trying? and what version of Opera and FF?
Re:Ask HN: Please Review My Project (JS Game Engine) by Pistos2 on Friday December 11, 2009 @10:43AM (#989852)
Confirmed; the platform tutorial is unplayable in Opera 10.10, Linux. This has been an issue for years, where web devs develop for all other browsers, which have extremely sparing keyboard controls. So web devs think they can just hook onto single keystrokes willy nilly. Well, these things never work fully in Opera, because Opera has assigned browser functions to single keys for years (since 4.x, I think, at least?).

FWIW, Opera has a preference to disable single key hotkeys, but that still didn't help in the platform game, because pressing comma in Opera activates the search-as-you-type.

Maybe you need a way to let people remap. But it would be worth mentioning at the outset that Opera users will run into these issues.

Re:Ask HN: Please Review My Project (JS Game Engine) by fnid on Wednesday December 09, 2009 @07:33PM (#986985)
Everything is fine in FF. It was the Galaxy demo, but I tried the others too and they aren't working in Opera either. The Mario one does work, except the space bar Pages Down, so it isn't playable.

Opera info: Version 10.10

Build 1893

Platform Win32

System Windows XP

Java Sun Java Runtime Environment version 1.6

XHTML+Voice Plug-in not loaded

Re:Ask HN: Please Review My Project (JS Game Engine) by yannis on Wednesday December 09, 2009 @02:38PM (#986397)
It worked very well for me in Chrome v 3.0.195.25. Impressed! Just a short observation, down the line you may wish that your pages are indexed by the search engines, by generating in js they will not.
Re:Ask HN: Please Review My Project (JS Game Engine) by aarongough on Wednesday December 09, 2009 @03:06PM (#986463)
Great work! I have been thinking about something similar to this for a while, but it's nice to see that now I probably won't have to go to the trouble!

Demos run very smoothly for me on FF 3.0.15!

Re:Ask HN: Please Review My Project (JS Game Engine) by DanHulton on Wednesday December 09, 2009 @01:48PM (#986282)
Huh. Very neat. I was actually kind of planning on messing about with Node.js and a javascript-only client to make a multiplayer game...
Re:Ask HN: Please Review My Project (JS Game Engine) by unohoo on Wednesday December 09, 2009 @03:50PM (#986558)
great stuff ! what the biz model ? are you going to license the engine or direct to consumer paid games ?
Re:Ask HN: Please Review My Project (JS Game Engine) by nym on Wednesday December 09, 2009 @04:35PM (#986637)
I appreciate how polite your title is.
Re:Ask HN: Please Review My Project (JS Game Engine) by peakpg on Wednesday December 09, 2009 @01:35PM (#986243)
Looks interesting. Is this taking advantage (or do you plan to) of HTML 5?
Re:Ask HN: Please Review My Project (JS Game Engine) by itsmin on Wednesday December 09, 2009 @02:10PM (#986331)
Hi, again, this is pure JS/DHTML but we are looking at HTML 5, specifically for audio. We go into more detail on our FAQ. http://www.effectgames.com/effect/article.psp.html/docs/Freq...
Re:Ask HN: Please Review My Project (JS Game Engine) by wlievens on Thursday December 10, 2009 @05:04AM (#987631)
Can I do Isometric graphics, and will it outperform Canvas?
Re:Ask HN: Please Review My Project (JS Game Engine) by narendranag on Wednesday December 09, 2009 @01:27PM (#986223)
It looks very interesting!
Re:Ask HN: Please Review My Project (JS Game Engine) by tectonic on Wednesday December 09, 2009 @04:47PM (#986673)
Awesome work guys!
Re:Ask HN: Please Review My Project (JS Game Engine) by zackattack on Wednesday December 09, 2009 @03:51PM (#986561)
I am shocked and amazed. Well done. This is the future of in-browser gaming.