AndEngine - GLES2 - Pre-Release on December 23rd

  ... public announcements related to AndEngine.

AndEngine - GLES2 - Pre-Release on December 23rd

Postby Nicolas Gramlich » Thu Dec 22, 2011 12:57 pm

Hello Community,

[UPDATE] :!: All repositories are now live :!: [/UPDATE]


First of all:
AndEngine is NOT dead - in fact it has been more alive than every point in time before I joined Zynga.


The last commit to the public repo on GoogleCode has been almost 5 months in the past now. I can understand very well that there were rumours about AndEngine now being private to Zynga or that I stopped developing it at all.

The reality is much better though :). On Friday this week I'll be pushing the cutting edge 'GLES2' version of AndEngine and all its Extensions to github repositories (Yes, I switched from hg to git. Git is just that tiny little more awesome and its Windows support is goog enough by now.)

There are multiple reasons why the new 'GLES2' version was not pushed out publically before, but the three main reason were that I:
  1. Wanted to get it very stable first.
  2. Didn't want to annoy anyone with the (very frequent changes) I made to it.
  3. Have the public API not change anymore.

So if you want to get ready for my Christmas/Chanukka/... present for you,
The repository URLs are:

Github allows for easy pull-request, which makes contributions so much easier!
  1. Clone the project
  2. Push the changes to the clone
  3. Send a pull-request
  4. Profit

Here is a short list of the most interesting changes you'll experience in the GLES2 version:
  • GLES2
  • Moved to git(hub.com)
  • ShaderPrograms (Extremely versatile!)
  • NPOT (non-power-of-two) Textures
    • No more stupid POT (power-of-two) restrictions, wasting precious memory!
  • Improved VertexBufferObject
    • Faster buffering!
    • HighPerformanceVertexBufferObject (the 'old' one)
    • LowMemoryVertexBufferObject (50% lower memory usage as the HighPerformanceVertexBufferObject)
  • Entity-Skewing
    • In addition to Rotation, Scaling and Translation
  • BitmapFont
    • Pre-rendered Fonts (unlike the old runtime-generated fonts)
  • PVRTexture
    • Textureloading was always problematic, since even a 1024x1024 texture of RGBA_8888 is 4MB big and that 4MB needed to sit in the heap for a brief moment in time, easily causing OutOfMemoryErrors. The improved PVRTexture has a loading mechanism, that allows to minimize that temporary to any defineable size in bytes! (It loads the texture in stripes, rather than the whole texture at once.
    • Note: 'PVR-TC' (PowerVR Texture Compression) is not implemented, since it doesn't work on all GPUs built into Android devices.
  • ETC1Texture
    • Texture-compression that is supported on all Android devices.
  • Improved GLState
    • Improved state caching, reducing unnecessary GL-calls.
  • TextureOptions
    • Default is no more premultipliedalpha!
      • No more stupid workarounds to easily change the alpha of a sprite!
  • GLHelper
    • Improvements and fixes, especially around non-premultipliedalpha colorspace conversions
  • Improved AStarPathfinder
    • Greatly reduced allocations and performance
  • Changed package from org.anddev.andengine to org.andengine
  • New DataTypes:
    • Quadtree (IntQuadTree and FloatQuadTree implementations)
    • LRUCache
  • UncoloredSprite / DiamondSprite
    • Have a look at these if you want to write custom entities, learning proper entity-subclassing and custom shaders.
  • TextureRegion rotation
    • Used i.e. by TexturePacker to improve packing efficiency.
  • TiledTextureRegion
    • Animations are now basically free!
    • Memory usage is increased by the number of frames.
    • A TiledTextureRegion is now pretty much an array of ITextureRegions, which means that all the frames don't need to be adjacent (in a grid) anymore!
  • BlackPawnTextureBuilder
    • (allow Padding, to prevent Texture bleeding)
  • RenderToTexture/RenderTexture
    • Usage:
      • Render something into a Texture and use that texture for Sprites. (i.e. useful when rendering some complex mesh once and then efficiently drawing it again as a sprite.)
      • Post-Processing effects
  • BezierModifiers
    • Move entities along smooth paths
  • New "onCreate"-process
    • Allowing to easily load resources and creating the scene on a side-tread.
      • Easy LoadingScreens
      • No ANRs
  • Updated all Extensions
  • MultiTouchExtension now a part of AndEngine itself.
  • AugmentedReality will get an update soon!
  • DebugTimer
    • (add loglevel as constructor param)
  • Building with latest SDK tools r16
  • Shitload of fixes and improvements :!:
  • Improved compatibility with devices ignoring standards here and there :?
  • New ScreenOrientations: SENSOR_LANDSCAPE, SENSOR_PORTRAIT for GingerBread and above.
    • Screen-rotation without any lifecycle methods being called
  • Anything else I forgot .... :P

The projects we are doing here at Zynga are bigger than probably any other project done using AndEngine before. This made some of these above changes necessary, especially the jump from GLES1 to GLES2 and improving memory consuption (LowMemoryVBO, PVRTexture, NPOT textures) and the new Datastructures (QuadTree, LRUCache) made our current project possible at all. So every single one of the above changes has a real-life reason :) .

So if you are interested in the new stuff coming on Friday, this might be the time to do the following:
  • Update Android SDK and Eclipse ADT.
  • Sign up to github.com and follow the AndEngine projects you are interested in. ( https://github.com/nicolasgramlich/AndEngine )
  • Install git.
  • Read into GLES2 and Shaders if you want to get dirty.

:exclamation: :information: Some other very important information:
  • The new GLES2 branch will be the active branch in future development!
  • Here and there I'll add important fixes to the 'old' branch, but further development there will be dropped soon!
  • If you start a new project or are not too far in your current project, use the new GLES2 branch!
  • If one of the above new features/improvements gives you a very good reason to switch to the GLES2 branch, do it! Depending on how you wrote your project, if you did dirty stuff and your FIND+REPLACE/REGEX skills, it will take between an a few minutes to a day. (The public api didn't change dramatically, so your upgrade will be pretty straight forward.) If you do so, compare the old AndEngineExamples to the new ones, which should give you a very good idea/help for your own upgrade.

Stay tuned :)

[UPDATE] :!: All repositories are now live :!: [/UPDATE]


Best Regards,
Nicolas
Nicolas Gramlich
Site Admin
 
Posts: 1734
Joined: Mon Jun 07, 2010 6:20 pm
Location: Schriesheim, Germany

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby angel.ivorra » Thu Dec 22, 2011 2:11 pm

Yeeeeeeeeha! Thanks Nicholas for this gift. Thank you!!

I'm anxious to use the GLES2 in my new project.
angel.ivorra
 
Posts: 37
Joined: Mon Mar 21, 2011 11:49 pm

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby go4nishu » Thu Dec 22, 2011 2:19 pm

new add-on/changes look great. Nicholas please plan a book for and engine or ask someone else to do it :)
go4nishu
 
Posts: 34
Joined: Tue Sep 13, 2011 9:22 am
Location: Chandigarh, India

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby tudor » Thu Dec 22, 2011 2:32 pm

wow! just opened eclipse for the first time in months to begin a new project with andengine and blammo! This is great news, fantastic, really excited to work with the new code :)

And Thank You Nicolas!
Last edited by tudor on Thu Dec 22, 2011 2:42 pm, edited 1 time in total.
tudor
 
Posts: 4
Joined: Wed Feb 16, 2011 10:20 pm
Location: UK

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby Mathew » Thu Dec 22, 2011 2:33 pm

Great to hear that ;)
User avatar
Mathew
 
Posts: 1073
Joined: Sun Jul 31, 2011 2:49 pm
Location: Tarnów, Poland

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby PepsiCar » Thu Dec 22, 2011 2:48 pm

WoooHoooo :D
PepsiCar
 
Posts: 30
Joined: Wed Nov 17, 2010 10:04 pm

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby vertti » Thu Dec 22, 2011 6:40 pm

Great news Nicholas, both feature-wise very interesting as well as great move to github, I see alot of potential in easy pull-request way of people participating and improving AndEngine even further.
Catch me on Twitter and our development blog.
Check out our game SCAWAR Space Combat and it's trailer.
Image
vertti
 
Posts: 82
Joined: Fri Jul 08, 2011 11:19 am
Location: Finland

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby Mathew » Thu Dec 22, 2011 7:13 pm

One question, svg extension won't be updated?
User avatar
Mathew
 
Posts: 1073
Joined: Sun Jul 31, 2011 2:49 pm
Location: Tarnów, Poland

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby RealMayo » Thu Dec 22, 2011 7:27 pm

Thanks Nicholas! :D

I REALLY HOPE that you will include by default the Debug Draw extension by forum member skyuzo :!: :!: :!:
User avatar
RealMayo
 
Posts: 1691
Joined: Sat Sep 03, 2011 9:25 pm
Location: Chicago, IL

Re: AndEngine - GLES2 - Pre-Release on December 23rd

Postby Pretzel777 » Thu Dec 22, 2011 8:02 pm

Thank you Nicholas! It's the best present! :D
Pretzel777
 
Posts: 3
Joined: Fri Dec 16, 2011 7:56 pm

Next

Return to Announcements

Who is online

Users browsing this forum: Google Feedfetcher and 1 guest