Ness-Engine updates

*** Important Notice ***

Currently this is a hobby project I work on in my spare time, and because its very new expect often updates and version upgrates. however, all the versions are stable and perfectly useable, at this point all updates are just small improvements and additions. when the engine will be more mature updates will become less often.

 

Never miss an update! Follow Ness-Engine on twitter!

 

 

 
04/02/2015 - version 1.4.9 release

This is a really tiny version update with mostly refactoring and fixing internal stuff:

  1. refactor the camera class to make it more OOP and more powerful.

  2. small refactor to all renderables to make the virtual function of get_absolute_transformations() more useable (internal fix).

  3. made tilesmap and nodesmap more efficient and more suitable for larger maps (changed the way transformation updates work in tilemaps).

  4. some minor changes by dazed from the forum to make it compile on gcc.

 
15/01/2015 - version 1.4.8 release

New year, new stuff! lots of updates in this version are from feedbacks I got in the forum (thanks :)), please keep it up and help me make Ness-Engine better!

  1. fixed memory leak in text entities (important update!).

  2. added Viewport object! very useful to create scenes within a limited region or alpha mask, for split-screen aplication and post-render effects!

  3. added new example projects, and added debug-draw for Box2d in the physics example - a useful snippet you can take when using Box2d.

  4. entities and nodes can now delete user-attached objects automatically (you decide when you set them).

  5. some work on the GUI system (not ready yet).

  6. added optional shadow to text entities.

  7. some optimizations in code.

  8. added function to render line and circles.

  9. fixed a critical bug with multiple z-nodes.

  10. improved the mouse and keyboard event handlers, can now detect clicks and the moment the button is pressed / released (and not just is_down() state like before).

  11. fixed bug that when transforming a scene sometimes objects lower in hirarchy did not update.

  12. added option to camera to still affect static entities - this is mostly for internal usage.

Version 1.4.8 is now in the download page.

 
22/12/2014 - version 1.4.7 release
The following improvements:
  1. internal update to make sure changing parent will always invoke transformation update (didn't solve any bugs but solved potential ones when creating custom entities).

  2. attached lights/shadows will now remove themselves with the entity they are attached to.

  3. added last_render_frame and last_transformed_frame to enable new optimizations.

  4. optimized the way entities check themselves if they are visible.

  5. added destructor to all nodes to prevent potential bugs when creating custom entities that rely on checking parent's pointer (sort of tiny refactor).

  6. improved the basic sprite animator, added optional delays (note: there is the newer sprite animator which is much better, but this one is still better for simple things).

  7. fixed select node from position in nodesmap. also fixed nodes default z-index and position.

  8. added some "const" version functions to tilesmap and nodesmap API.

  9. added "select_entity" function to pick entities from position in nodes (works recursively). this can be used as minimal collision detection or for mouse "picking ray".

  10. optimized z-node: now works much faster, especially when FPS is not limited to vsync and with high FPS rates.

 

or in short....

  1. z-node is much faster.

  2. added collision detection with point.

  3. entities are optimized.

  4. extended some APIs with useful stuff.

 

Version 1.4.7 is now in the download page.

 

 

13/12/2014 - version 1.4.6 release

The following improvements:

  1. added attach_to functionality to lights/shadows (attach them to other entity so they follow it).

  2. fixed a bug where points accepted single float as ctor - could create confusing situations and unexpected behaviour.

  3. added function to set entity size from single float, for square entities (related to previous bullet).

  4. fixed animators bug - animations that were complicated enough to affect FPS messed up other animators that came after them because they were not counted in the time_factor calculation (also messed up FPS count). this is now fixed.

  5. function to check if entity was rendered in the last render cycle. this provides a very efficient method to check if an entity is currently visible in screen.

  6. added entity highlight effect.

  7. added some new const colors

  8. fixed nodes_map default z-index to be more inuitive.

  9. started working on gui system! not functional yet.

  10. fixed anchor and get-tile-from-position in tiles map (bug reported by community).

  11. updated example projects to new version and added corner logo to all old examples.

 

Version 1.4.6 is now in the download page.

 

02/12/2014 - version 1.4.5 release

Some new features! including:

  1. lights and shadows:

    1. added ability to change light-node mode between additive and modulate (additive create lights that actually make lit areas brighter). changing is just like changing rendering mode.

    2. added change_color functionality to the light-node that effects the whole lighting instead of the default node-color behaviour. 

    3. added Shadow Node (similar to the light-node, but to create 2d shadows).

  2. added advanced sprite animator (you can define animation sequences and play them in loops or for single times).

  3. improved points api to return self so you can append several math operations in a single line of code (makes prettier code). for example: pt.normalize().add_x(5).limit(1, 10);

  4. extended points api, added some new useful functions.

  5. window size:

    1. added window-size to renderer size ratio calculation, required to fix mouse position when working with different renderer size.

    2. added option to init renderer on an existing window instead of creating one.

    3. fixed but with window size when working on desktop fullscreen mode or maximized window.

    4. added proper handling to window resize (not automatic, you need to call refresh on your own).

  6. fixed the z-node breaking of son nodes and in general how nodes behave when they are broken into sub-entities for the z-ordering. 

 

Version 1.4.5 is now in the download page.

 
26/11/2014 - version 1.4.4 release

Some new features! including:

  1. pause/unpause particles emitting.

  2. naming entities and get entities by name.

  3. ability to create empty sprites without texture (and set the texture later).

  4. fixed window creation flags (changed API a little).

  5. added renderer real-size functionality (for example you can work with fullscreen resolution of 1280x1024, but everything will appear as if the resolution is 800x600).

  6. points now default to (0, 0) when you create them without params.

Version 1.4.4 is now in the download page.

 
01/11/2014 - version 1.4.3 release

Version update to 1.4.3 - mainly bug fixes and changed how node scaling works:

  1. changed how node scaling works: scaling now effect the position and maintain propotion between entities, so scaling a node node looks like zoom-in/zoom-out.  this is more intuitive then the previous scaling method.

  2. some optimizations to particles.

  3. added new entity: texture-scroller sprite - a sprite that acts like a background with texture that scrolls based on camera position.

  4. improved the point class.

  5. fixed memory corruption bug: when a node removes itself and has no external references and thus get deleted it used to corrupt a small portion of memory. now it is fixed.

  6. fixed a small bug that when a light is turned invisible and the camera don't move at all, the light node will not redraw itself and the light will still appear.

  7. fixed mask texture to support alpha channels (canvas mask can now be 32 bit or png formats).

  8. fixed small bug that particles not attached to their node might appear at wrong position.

Version 1.4.3 is now in the download page.
 
28/10/2014 - version 1.4.2 release

Small version update to 1.4.2:

  1. added Canvas entity masking.

  2. small improvements to sprite animator.

  3. helpful randomize functions.

  4. new animators.

  5. added some vectors functionality.

  6. changed containers namespace.

Version 1.4.2 is now in the download page.
 
14/10/2014 - version 1.4.1 release + new tutorials

Small version update to 1.4.1 which makes animators usage more safe and improves the particles system.

 

In addition added new examples for animators and particles system, and improved the animators tutorial + added new particles system tutorial.

 
12/10/2014 - version 1.4 release

Huge update from previous version! upgrade now!

New version main changes:

  1. Bug fixes:

    1. fader animator bug.

    2. unjustified culling on rotated objects.

    3. tilesmap range issue (last row and column not shown)

    4. resource manager race issue (in some conditions assert on exit program)

  2. Added some useful API functions including:

    1. getting vector from angle and vice versa, and get_direction_vector() for entities.

    2. useful add_xxx() functions for transformations (for example add_rotation()).

    3. extended tilesmap and nodesmap API.

  3. Added lots of new Animators.

  4. Added Particles Node (particles system for special effects).

  5. Added Animated Sprite class for easier animation management.

  6. Separated the Animators Queue API so now you can create a customized node that you can also attach animators to.

  7. Some useful optimizations.

  8. Extended Camera functionality (added optional bounderies).

Version 1.4 is now in the download page.

 

20/08/2014 - added useful tutorial on physics integration

Ness-engine works great with Box2D! check it out here!

 
17/08/2014 - version 1.3 release

Small version update with the following modifications:

  1. camera follow target functionality.

  2. more flexible tilemap and nodesmap.

  3. tilemap and nodesmap fixes, better tile picking functionality and more.

Version 1.3 is now in the download page.

 

15/08/2014 - version 1.2 release

Small version update with the following modifications:

  1. added license notice to all files + LICENSE.txt file (zlib license).

  2. added NodesMap scene node - similar to TilesMap, but with nodes instead of sprites (you can customize the node type to use special nodes).

  3. added flags to renderable entities to support general-purpose behaviour flags.

  4. extended nodes and renderable API, added some useful getter functions to specific entities.

  5. some fixes to tilesmap scene node.

  6. fixed z-order inheritance bug.

Version 1.2 is now in the download page.

 
12/06/2014 - version 1.1 release

Really minor version update with the following modifications:

  1. slightly improved some transformations update functions.

  2. fixed bug with light-node not updating on time with camera.

  3. improved one of the examples and updated to new logo.

Version 1.1 is now in the download page.

 
8/06/2014 - version 1.0 released!

The engine is now officialy up and version 1.0 is ready for download!

Note: this version was deprecated and removed from the download page.

profile on indiedb

Help ness-engine grow!