Saturday, December 8, 2012

The New Direction

Hello there, this is onpon4 instead of Emilio making the blog post today.

 Just want to let you know that we're not dead, and we're moving forward, and I also want to let you know what's been going on.

About a week ago, I proposed a new development method for Stellar: rather than putting everything into one program, we will split it into two parts: Stellar, which is the GUI, and Stellar Game Engine (a.k.a. "SGE" or simply "Stellar Engine"), which is the engine used by games that Stellar exports as a library. This has some great advantages:
  • The code generated by Stellar will be much more easy to understand. While Pygame is easy to understand when you know it, it is also very low-level, and as a result, the resulting code may look confusing to many users of Stellar. This way, generated code can be made to look almost exactly like what is shown in the GUI.
  • Stellar will be much easier to develop and maintain, in particular because the GUI will not need to worry about translation of Pygame into something more intuitive for game development; the engine will handle this.
  • This will allow Stellar to easily be modified for use with other graphics libraries, such as Pyglet. In fact, it could easily enough support both Python and Pyglet, allowing for greater flexibility. This would be much more difficult to do with the current scheme.
In addition, it is possible for Stellar Game Engine to be used standalone as a powerful game engine, for anyone who does not feel the need for the GUI, which is another very neat bonus. It will also be much easier for game developers to customize the engine since they won't need to wade through the GUI code of Stellar.

There is a GitHub page for SGE here, and in the past week I have completed a template for SGE "implementations" to follow:

https://github.com/Coppolaemilio/StellarGameEngine

There is also a wiki page. It is a bit out of date, because I wrote it around the time I proposed the idea, and hence it is incomplete. I would greatly appreciate anyone helping to improve the wiki page. You can find it here:

https://github.com/Coppolaemilio/Stellar/wiki/Stellar-Game-Engine

Currently, I am more or less working on SGE and the baseline implementation of SGE, written with Pygame, while Emilio and Adman continue to work on Stellar itself.

Emilio wanted me to mention: one of the ongoing tasks with the Stellar GUI is rewriting the code so that it displays correctly on all platforms; currently, much of it uses absolute positioning based on Windows. If you have any knowledge of using PyQt or Qt in general, help is certainly appreciated. Any small contribution reduces the work load by a little bit.

Let's do this!

EDIT: After I submitted this post, Emilio mentioned that a new icon design is planned. If you have any designs to offer, feel free to share them.

EDIT 2: I can't believe I forgot this. We started an IRC channel. It's #stellar on irc.freenode.net. Feel free to talk about Stellar there!

3 comments:

  1. How about a star for the icon? Stella is the latin for star.

    ReplyDelete
    Replies
    1. It's great idea :-)

      Delete
    2. What about a constellation in the shape of a python? Or the Sun with a slice cut out of it like a piece of pie(py)?

      Delete