Sign in to follow this  
andrew1b

Ethanon engine (2D w/ per pixel lighting)

Recommended Posts

andrew1b    229
I have just released the version 0.5.1 beta of my 2D game engine that features dynamic per-pixel lighting and particle effects. Here's a more detailed description: Screenshots Video Ethanon Engine is a free 2D game development tool focused on the recent video cards for hardware acceleration and shader effects. EE is best suitable for 2D games with a top-down view, but it can also be used to develop other styles, such as side scrollers and shoot'em up games. The main goal of this engine is to provide high-quality lighting, shadow and particle effects with an easy to use visual interface and a simple and direct scripting system. EE is entirely based on 2D sprites. It uses pixel shaders to perform the normal map based lighting and supports any kind of map construction (e.g..: isometric, orthogonal or hexagonal) because it's based on arbitrarily positioned entities instead of fixed tiles. To control the game flow and handle its events, Ethanon Engine uses AngelScript for scripts, which brings a familiar C++ syntax to the code. The integration with the scripting language is pretty simple and easy to understand. Many features are included in the scripting system, such as full entity manipulation, save and load games with one instruction, video playback support, and more. The website and documentation are already on-line: www.asantee.net/ethanon/ If you try it, let me know about your experience and impressions. [Edited by - andrew1b on February 18, 2010 2:19:39 PM]

Share this post


Link to post
Share on other sites
andrew1b    229
This video shows some of the content creation tools. Still, I recommend you to try it yourself, I'd be glad to know about your impressions.

It uses normal maps for lighting. All the normals must be created using another tool such as Photoshop plugins or even 3dsmax. There’s no drawing or modeling tool, the entity editor just puts it all together.

Share this post


Link to post
Share on other sites
matthughson    588
Quote:
Original post by andrew1b
This[/b] video shows some of the content creation tools. Still, I recommend you to try it yourself, I'd be glad to know about your impressions.

It uses normal maps for lighting. All the normals must be created using another tool such as Photoshop plugins or even 3dsmax. There’s no drawing or modeling tool, the entity editor just puts it all together.


Yah I saw that vid. Looks great! But I meant more of a video going from start to finish creating an asset in Max, calculating the normal map, bringing it into game, etc. Seems like it would be interesting to see the process.

I'd love to try it out myself, but too many things on my plate at the moment.

Share this post


Link to post
Share on other sites
andrew1b    229
Quote:
Original post by matthughson
Quote:
Original post by andrew1b
This[/b] video shows some of the content creation tools. Still, I recommend you to try it yourself, I'd be glad to know about your impressions.

It uses normal maps for lighting. All the normals must be created using another tool such as Photoshop plugins or even 3dsmax. There’s no drawing or modeling tool, the entity editor just puts it all together.


Yah I saw that vid. Looks great! But I meant more of a video going from start to finish creating an asset in Max, calculating the normal map, bringing it into game, etc. Seems like it would be interesting to see the process.

I'd love to try it out myself, but too many things on my plate at the moment.


You're right. I miss that too. I’m working on it (I'll include some instructions and suggestions about normal mapping in the manual), but it has to go little by little because my plate is full either :)

Thanks for the suggestions.

BTW: I have just released a new version (0.6.2) with some important bug fixes.

Share this post


Link to post
Share on other sites
andrew1b    229
As I promissed, version 0.7.1 is out:

Changes:

* Spatial hashing implemented for fast culling and also optimizations for the collision detection system.
* New method ETHEntity::AreParticlesOver
* New method ETHEntity::HasShadow
* Now the Scene Editor will only recalculate lightmaps if necessary.

The spatial hashing feature will allow much bigger scenes, faster collision detection and faster lighting.

Share this post


Link to post
Share on other sites
andrew1b    229
A new stable version is out:

Version features and changes:

* Now it is possible to run the application directly from SciTE by pressing F5.
* Fixed a bug that would make the entities and scenes in the Editor not to be saved when the user clicked the "Save" button.
* Several small bug fixes and adjustments.
* New global functions: GetBucket(vector2) and GetEntitiesFromBucket(vector2, ETHEntityArray@).
* Ethanon Editor: media files will be automatically copied to their right directory if the user tries to open them from other locations.
* Global function SortVerticalEntities removed.
* Entity color bug fixed.
* The debug version of the machine (Ethanon Machine_d.exe) was added to the SDK.
* A new LoadScene overload function has been added: void LoadScene(string fileName, string preLoop, string loop, vector2 bucketSize) to customize bucket size.
* New method: ETHEntity::GetCurrentBucket.
* The Ethanon Editor window size will be automatically readjusted if the system screen dimension is too small.

Share this post


Link to post
Share on other sites
andrew1b    229
The version 0.7.3 of Ethanon Engine is out. The new version brings a lot of fixes and improvements. The most important ones are the addition of a new entity type ET_LAYERABLE and the implementation of a dynamic plug-in system.

Layerable entities will be drawn and ordered by their own user-defines depth value. Depth values may range between 0 (furthest) and 1 (closest). For instance: an entity whose depth equals 0.5 will always lie behind an entity whose depth equals 0.9. Layerable entities are useful for 2D games that do not use a top-down view, like side scrollers (the landscaping and backdrop images may use depth 0, the tiles may use 0.5, etc). The entity depth may be defined in the entity editor.

So that developers can program their own low level functionalities such as networking, artificial intelligence or custom device input and output, Ethanon Engine may dynamically load DLL's, which will provide them a pointer to the scripting engine object (asIScriptEngine) used by the machine. It may be used to bind new functions, objects and types to the scripting language.

Version features and changes:

* New entity type added: Layerable (ET_LAYERABLE).
* New ETHEntity::Set/GetLayerDepth methods that manipulate layerable entity depth.
* Several safety adjustments and bug fixes.
* Added a DLL-based plug-in system to bind custom functions and objects to AngelScript.
* The executable files were renamed to machine.exe and editor.exe to be more UNIX friendly (cross-platform version is under development).
* Shadow rendering technique was improved.
* New method ETHEntity::HasHalo.

Share this post


Link to post
Share on other sites
toonist    127
Nice job! Really cool shadow rendering you have there. I have been thinking about per pixel lighting for 2d games for a long time, nice to see that someone decided to implement it with a bang ;).

Share this post


Link to post
Share on other sites
andrew1b    229
Quote:
Original post by Lightness1024
you think it would be possible to use your engine with 'from top' point of view, and infinite screen scrolling ?


Sure! :) It may be used to make side scrollers, top-view RPG/Adventures, shoot'em up, puzzles, and so on.

Share this post


Link to post
Share on other sites
andrew1b    229
I've officially released the version 0.7.5 of the Ethanon Engine SDK.
A new tab system has been implemented to ease the changing between scene, entity e particle editors. Also, I've finally added the entity selection bar to scene editor.

Screen shots:




Download it from www.asantee.net/ethanon/

Share this post


Link to post
Share on other sites
andrew1b    229
The version 0.7.6 of Ethanon Engine has been released.
The new version brings lots of improvements and bug fixes. Download: https://sourceforge.net/projects/ethanon/files/

Version features:
-Scene editor:
* Entity picking bugs fixed
* "Lock static entities" button added to allow static entity drag and drop.
* It is now possible to manually type entity positions.
* Now shows an "invisible entity symbol" to make invisible and non-collidable entities visible and editable.
* The editor now shows the selected entity position.
* The selection bar now shows the correct first frame for cutted entities.
* Fixed the unaligned light-only entity position for selection.
* Now showing sound fx symbol in the selection bar.
* "Update lightmaps" button added.
-Entity editor:
* Unaligned axis bug fixed in the entity editor.
* Implemented a new warning system.
-Particle FX editor:
* The particle editor will now correctly show the current number of active particles in the system.
-Misc:
* Input fields are now set to 0 when left empty.
-Core engine
* Bug fixed: lightmaps won't be generated during load time if the global lightmap is disabled.
* Is is now possible to load empty scenes instead of loading prebuilt scenes from ESC files.
* New ETHEntity::AddToAngle method.
* New ETHEntity::SetSpriteCut method.
* New global function: IsPixelShaderSupported().
* New global function: GetProgramPath().
* New global functions DrawShapedSpriteZ(...) and DrawShapedSpriteZ(...).
* New global function: SetHaloRotation().
* New global functions: SetPositionRoundUp(bool) and GetPositionRoundUp().

Share this post


Link to post
Share on other sites
Sign in to follow this