JS Game Engine (Discussion and Reference)

Started by RickJ, Sun 25/03/2012 04:29:48

Previous topic - Next topic

RickJ

I came across a couple of things of interest today related to JS and and game engines and thought they may be of interest to the AGS community.  It also seems like a good opportunity to start another discussion about an  AGS JS target platform.

AVES Game Engine
AVES, from what I understand was bought out by Zygna shortly after it was publicly demonstrated.   Since it's now proprietary and can't be used directly I think the developer's comments and advice may be very useful.  Here is a pretty impressive demo and talk about what they did and how they did it.

InCreator

#1
Game Maker now ports its code into obfuscated Javascript which can play on HTML5 canvas. Don't know if it counts... but making (or rather, setting engine up for) AGS-kind of adventure game with of GM would take less than a week.

Limitations are with HTML5: it still has godawful sound and loads of lag, even with WebGL.

Daniel Thomas

Ok, I'll probably look like an idiot, but I'm curious what more experienced people think about Flash?
Now that Flash player 11 recently came out which support GPU-acceleration and with Adobe keep improving AIR for cross-platform support.

What is the pro vs cons between Java and Flash?
Here is a video that is very fresh:
http://casualconnect.org/lectures/design/flash-to-the-core-2012-update-andre-jay-meissner/

So I'm curious why Javascript should be consider a better choice? I'm mainly curious because I'm working on a Flash Game myself with the Starling Framework for Flash11.
If I'm hijacking the thread, feel free to send me PM!
Check out The Journey of Iesir Demo | Freelance artist, check out my Portfolio

magintz

I'm a JavaScript developer by profession, so for me I'm a little biased. JS is native to ALL browsers and so is more widely adopted than flash (a third party plugin that is not compatible with the likes of iPhones and iPads).

Flash is slowly becoming a thing of the past, it's much more restrictive.

JS has come a long way over the past few years and all my personal development outside of work is done in NodeJS. I've dabbled with the idea of a JS Game Studio myself and would love to be a part of it if someone plans on  starting the venture.

A flash app would have the benefit (or hinderance) of hiding code. All JS code is viewable in source. Similarly Adobe Air allows you to actually 'install' the app on your desktop and would be good for offline play. However JS only needs a browser to run, not the internet (depending on the services used in game, but that would be the same as Air). JS could use the same code for my phone, laptop, desktop, PSP, Android phone WITHOUT installing anything on any of the devices.

As far as I'm concerned for anyone wanting to get into JS this is the best book out there:
JavaScript: The Good Parts

As for NodeJS it's still very new, and as a result can come with a lot of downfalls. Things change quickly, what was common practice 6 months ago might now be redundant in place of something new. It's starting to become more stable with full support on all the major OS (Linux, Mac and Windows). Lots of good documentation and now plenty of 'secure' support for WebSockets. I can recommend this book, although you'll have to wait for a release:
Smashing NodeJS
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.

Andail

Game maker studio looks pretty promising. Has anyone had the chance to study it in depth? It's yet to be released, but maybe someone has some info.

How far is AGS from being as portable to these various platforms?

Joseph DiPerla

Well lets see... AGS is supported on all the major desktop platforms such as Windows, Mac and Linux. There are two ports that work well for Android and Sony PSP. I would not be surprised if it makes it to other ports in the near future.

However, I do agree that JS is a more cross-platform environment and is a nice choice to develop an app or game that you want as many users as possible to use.
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

InCreator

#6
I already wrote about Game Maker... I'm developing something with it atm.
Game Maker HTML5 is out & working and GM: Studio is soon to be released (Studio adds box2d integrated physics, better Win32 compiler, android and iOS compilers).

GM:HTML5 is easy to use as always and has basically no limits except those that come with HTML5: levels of support on different browsers vary greatly, for example, Safari refuses to play any sound, IE9 is slow ass hell, and so on. Also, since Webaudio API isn't included yet (and hell knows if it ever will be), you can basically play a single sound at a time, which might feel really strange in sound-intensive games. Otherwise, it's pretty quick and polished IDE, extremely beginner friendly and open-ended, and you can make simpler cross-browser/-platform games in mere days.

For example, I made this simple platform game engine in like 3 hours (including crappy physics)
http://www.indrek.org/drop/kz2/ (runs in browser of course, arrow keys and spacebar)

I think that if GM: Studio will be released, it will absolutely dominate ios and android market, maybe even reshape it.

Darth Mandarb

The Game Maker: Studio looks very promising indeed.  I am very curious how it can publish to all those different platforms just from the "click of one button" but if they can actually pull that off I would probably shell out the 99 clams for it.

I have been, for quite some time, seriously considering writing my own game engine in javascript.  I am in love with the language and its flexibility.  I know it used to get a bad rap back in the day but it's come a long way.  My only problem is while I'm great at making stuff work on the web with functions and the like... actually putting together an engine isn't something I even know where to begin!  I watched the first vid Rick posted awhile back (and actually watched the entire thing) but still was left a tad in the dark if not completely intrigued.  I have been messing around with HTML5 and CSS3 and coupled with javascript I think there's very little that can't be accomplished once the sound issues are worked out.

I would love to be involved in a project like this.  I specialize in user-interfacing so, if nothing else, I could lend my expertise there :)

RickJ

AGS HTML5 Runtime
I have been looking at the game engines on the second list I linked to in the first post.    A couple of them appear to be under active development potentially suitable targets for AGS created games.  Crafty has the option of using either CANVAS or DOM as the AVES video suggests is more speedy.
  • http://craftyjs.com/
  • http://gamejs.org/

    They both claim to have a path finding algorithm but I am not sure how well (if at all) they are able to handle walk-behinds, walkable areas, regions, etc.  If the room areas/region stuff was supported then it seems to me that the next biggest task would be to create a JS library that implements the AGS built-in functions (many more of us perhaps have the skills for this part).  The last thing to do is to modify the editor so that it is capable of exporting the necessary game files in the necessary format.

    AGS Script Language
    This is another issue that needs to be addressed sooner or later.  There is a huge pile of AGS script language feature requests.   It begs the question if an off the shelf scripting language should be considered rather than recruiting and retaining dedicated compiler developers?  If an off the shelf scripting language were adopted then developers would be able to concentrate on other things. Some of the obvious candidates would likely include JS, Python (wraps C/C++ easily), Angel Script, various interpreted C/C++s, etc.   

    node.js
    Which brings us to node/V8.  If JS were chosen then the game script code would be directly executable by either browsers or a runtime with embedded node/V8 or other JS interpreter.   

    I think these are interesting ideas but don't have enough knowledge to know how good or bad they maybe would like to see what others may have to say.



tzachs

I have actually been keeping my eye on the Haxe NME project for a long time. The amount of supported devices is incredible, and it's being actively developed.

I'm planning on at least trying to create an adventure game library for that this year, we'll see how it goes...

Denzil Quixode

#10
My contributions (that is, projects started by me, that may be useful despite being unproven and even only partially-complete in some cases):

Mask Based Path Finder (MBPF) JavaScript library: Intended for path finding on AGS-like walk zone bitmap masks. Demo

SPAGS C# library: Hand-written parser for AGS script, intended for editor-plugins that process global and room scripts to export them in some other format or language.

Red Herring Farm: An experimental, incomplete implementation of the AGS engine in JavaScript, with a corresponding exporter plugin (requires SPAGS, above). To see a demo (Ben Chandler's "!"), you will need to clone the GitHub repository, set up a local web server pointing at the root folder, then visit /hostpage/embedtest.html in a browser.

I haven't properly reviewed this stuff in quite a long time, so there may well be problems with it, but there's quite a lot there. I hope it's of some use.

magintz

Something interested popped up on TechCrunch today and BBC.

The BBC has just invested heavily in a HTML5 gaming engine called SpacePort.io

http://spaceport.io/

[original article] - http://techcrunch.com/2012/04/11/bbc-bets-on-html5-games-invests-millions-in-mobile-game-creation-platform-spaceport-io/

I hope to have a good play around with this, looks great.
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.


magintz

I'm attending a meetup on Thursday on Cross platform HTML5 Games & Javascript Micro Frameworks

Quote
This month we have Nick Brown speaking on Cross platform HTML5 Games, and Daniel Knell speaking on Javascript Micro Frameworks!

With many more developers specialising in either HTML5 or Javascript now, it's time we drilled in to best practises in both fields, with lots of examples and case studies for HTML5 work, and a look at the best way to structure your Javascript!

HTML5 Games

More details coming soon...

Javascript Micro Frameworks

In recent years there has been an upwards trend in the use of JavaScript micro frameworks -- small, single purpose libraries -- Daniel's talk gives an introduction into what they are, what they can do for you, and where to get started using them in your own web applications.

http://www.meetup.com/londonweb/events/27064461/

Will let you know what I find out.
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.

SMF spam blocked by CleanTalk