Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
[Tool] Nebula2D -- 2D Game Engine for mobile devices and desktop
Hello all!
I just wanted to let everyone know that I have been hard at work developing a generic 2D game engine for mobile devices as well as desktop platforms. The engine consists of a front-end GUI for editing of scenes and scripts, while the back-end engine is compiled with your scripts and scene data to create the game itself.
My goal for this engine is develop once, deploy many--that is, the user writes their gameplay code in the lua scripting language and creates their scene in the graphical editor, then when it comes time to compile, just select the platform you wish to deploy the game and the engine handles the rest!
Thanks to the typeless nature and overall simplicity of the lua scripting language, anyone can make fantastic games, even with 0 programming experience.
Android will be the primary focus of this engine, however the platforms that we plan to support are Android, iOS, PC, Mac, and Linux.
The front-end GUI will be available for PC, Mac, and Linux.
Development is still in the very early stages, however I do have some very early screen shots to showcase.
Default light theme:
Optional dark theme:
Last edited by jonbonazza; May 1st, 2012 at 03:03 PM.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
The front end has come a long way from the previous screen shots. Here is an updated screen shot, showing it off:
The front-end editor is written entirely in Java, using JDK7, and works beautifully on all PC, Linux, and Mac. The editor is almost ready for beta testing--only a few features remain left to be implemented. I will be in need of testers when that time comes, so if you are interested, please feel free to post in here and I will update you when it's ready.
Last edited by jonbonazza; April 28th, 2012 at 04:05 PM.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
Here is some info on the back-end:
Currently, the SDK is being built for PC as it is easiest to test on. Once all of the desired functionality is implemented and working, I will start porting it to other platforms.
For now, N2D has the support for the following features:
* Component-Based Entity System - Increase performance and decrease code complexity with a state of the art CBE system. Need to make an entity renderable? Just added a renderer component. Need other custom functionality? Create a custom component!
* Native Rendering - Rendering is done natively with OpenGL for increased performance.
* Key-Frame Animations - Bring your entities to life with fully configurable key-frame animations.
* 3D Sound - We know that you put a lot into that music track and those sound effects, so we put a lot into the audio interface! Control exactly where a sound is coming from and who can hear it. Our audio API supports both streaming and sampling of audio in all major formats (excluding MP3, due to licensing issues)!
* Z-Ordered Layers - Easily control the rendering order of your graphics with layers.
* Fast Image Processing - Load and process all major image file types, quickly and efficiently.
* Scripted Game Logic - Integration of the Lua scripting language means you can say bye-bye to slow compile times! Just edit, save, and run!
* Markup-Based Asset and Scene Data Loading - Setup your worlds easily with our simple XML specification.
Currently, I am working on a robust Collision detection system, as well as Box2D integration.
Last edited by jonbonazza; April 28th, 2012 at 04:07 PM.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
Quote:
Originally Posted by cr5315
I'll gladly test it.
Excellent, I will be sure to let you know when it is complete.
With that said, I finally got around to implementing animation into the editor. All that's left now before the editor is ready for prime time is script editing integration, project settings, and build operations. These will all probably be done within the next few weeks.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
New screeny:
Code editing works perfectly. Just fixing up some bugs in the coming week and then I'll be releasing the beta of the editor for testing (beta will NOT include build functionality, but project files WILL be transferable to the final product).
Once the beta is out, the first features I will be working on are copy/paste and undo/redo support.
Last edited by jonbonazza; April 28th, 2012 at 04:08 PM.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
Quote:
Originally Posted by cr5315
What language is the script for a game written in? From that screenshot it looks to be Java or Javascript.
EDIT: Nevermind. I re-read the OP.
No worries. Just to clarify, it does use the Lua scripting language, however it makes use of the luabind library to allow for classes and other OOP concepts. Various standard libraries are also included to alloe for things such as string manipulation and advanced mathematics.
I should also mention that we do plan to add support for Javascript and possibly python in the future.
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
Update time!
1) The back end--up to where development is at now--has been successfully ported to Android.
2) We fixed some major bugs with collision detection and it now works exactly as intended.
3) Collision detection has been abstracted to allow for various types of collision detection. Currently, only AABB is implemented, however Polygon collision detection is still in the works.
4) Currently working on a GUI subsystem to allow for easy implementation of common GUI components.
5) The Audio APIs have been reworked to and provide you with even more control than you had previously
6) N2D PC now has mouse input detection!
As mentioned above, we are currently working on implementing a GUI subsystem. Since there currently doesn't exist an implementation that is both lightweight and supports OpenGL ES, we have decided to roll our own. What kind of controls do you all wish to see in the engine first?
Device(s): Nexus 4, Samsung Galaxy S II, HTC Evo 4G, Amazon Kindle Fire
Carrier: ATT
Thanks: 235
Thanked 465 Times in 288 Posts
Another update for today:
-Abstracted the Renderer and Animation classes
-Provided a PanelRenderer implementation for rendering rectangular "panel" objects.
-Provided a KeyFrameAnimation implementation for key-frame animations using sprite sheets.
Note: PanelRenderer only supports animations of type KeyFrameAnimation