Sky Engine


08 Jun

Sky Engine Logo

Sky Engine is a basic 2D Games Engine for use with Android Development, programmed in Java. It is still currently under development, but a lot of the engine exists to be able to create basic games.

The Engine utilises the Android Canvas to draw shapes, sprites, text etc. to the screen. It has been designed to have an almost XNA feel and approach

All rights reserved to Matthew Kelly (Badgerati) and Cadaeic Studios. Usage of the Sky Engine, or any of its enclosed components, packages, classes and/or methods much appropriately give credit to the developer: 'Matthew Kelly (Badgerati)'


        Version: 0.9.9
        Developer: Cadaeic Studios, Matthew Kelly
        Platform(s): Android
        Language(s): Java

Updates and Fixes
  • Version 0.9.9

  • Added ConvexHull class, for generating a polygon's convex hull. Uses the QuickHull algorithm.
  • Bounding Volumes have now been moved to a new package:
  • Vectors now extends the Vector object, making things a little simplier for later ideas.
  • Vectors are now comparable, to allow the SortedArray to work correctly. (shall do same with other classes later on)
  • TextureManager is no longer abstract. Why I made it abstract originally, who knows.
  • Added new SortedArray data structure to help with geometric calculations.
  • Added new MultiList data structure. This will take a while to explain, but think arrays in PHP.
  • Added new ListSet data structure, keeping elements in the order they were added for a Set.
  • Create an Arrays class to add further functionality on arrays - such as reversing, merging and swapping.
  • You will notice a graphs package in util - this is just me dabbling around with something.

  • Version 0.9.8

  • Added Triangulation object, to make triangulating vertices more re-usable.
  • Added a TextureManager to allow re-use of Textures.
  • Bounding Volumes are no longer depreciated, and should be used over Geometric Shapes for collision detection.

Future Development and Ideas
  • Implement bounding volume hierarchies (and R-trees?).
  • Implement Quaternions for use with 3D later on. Possible applications with 2D?
  • A class that can deal with the inbuilt Android 'options' menu more easily.
  • A class that can have more control over screens - much like in XNA.
  • Extend the HighscoreManager to deal with possibilities other than just name-and-score.
  • Multiplayer and Networking - this may have to be done across bluetooth.
  • Improve the particle engine, so we can now use sprites as particles.
  • Possibility of polygonisation instead of triangulation, to generate more efficient convex polygons for collision detection.
  • Develop the use of an event-driven architecture. This will have to be done for multiplayer.
  • XML parser, for the data sent back and forth between devices.
  • A long shot, but research into LUA for user-developed add-ons?
  • The big one. 3D and OpenGL. This may require a more cross-platform engine (Llama Engine in C++).

Share this:


  Allowed tags: <a> <b> <strong> <i> <em> <del> [code] [com]


2012-06-08 14:04:50

Cool. I swear I will figure out how to use it! ^^


2012-06-08 14:30:22

I wouldn't worry about it too much. I am writing up a usage document for the engine, using the good old game of Pong~ :D The engine is also here for people who see it and who are new to programming to get a better sense of code structure, and general Software Engineering on large-scale projects.