What is Artenus?
Artenus framework helps you create games in a structured and easy way, without dealing with the complications of the underlying graphics engine and device API.
The design goal of Artenus is to do the heavy lifting for game programmers. This means you don't need to handle anything regarding to the application life-cycle, the graphics engine (such as OpenGL), and the underlying platform API (such as Android SDK). This framework has been developed since 2012, and has gone through many design and usability challenges, which have led it to its current standing.# Artenus is currently available only for Android, but it is also being developed for other platforms and programming languages.
Stage and Scenes
Everything begins with the stage. The stage is where your game happens. The flow of a game is controlled by switching scenes on a stage. A scene is a single screen in a game. For example, the main menu, the help screen, and the level screen can all be scenes. Each scene can transfer to another based on its own logic. For example, the menu scene can transfer control to the level scene when the play button is clicked.
Each scene is a collection of entities. An entity is a game component that handles a part of the scene's logic. Game characters, level background, and buttons are all examples of entities. However, the definition of entity goes beyond physical or renderable objects. Input handles for example are also entities in this framework, and are added to a scene just the same way as a graphical component. Once added, they handle user input on the scene.
Artenus uses composition and decoration to make complex entities out of basic ones. For example, a physical body is an entity that takes another one and adds physics simulation to it (gravity, collision handling, etc). Entity collection is another example that treats a collection of entities as a single entity. Using these two you can create an entity that contains all parts of your character (head, body, legs, etc) and and causes your character to interact with other objects in the scene using physics simulation. This is just one example of what you can do using entities.
Every application in Android has a main activity, and so does an Artenus game. The difference is that your need far less to do for an Artenus activity. All you need to do is extend Artenus and you will have your main activity and include it in your application manifest. Your activity's layout and life cycle will be handled by the framework.
Although your main activity has no responsibility as an Android activity, it does have its own responsibility as your game's entry point, which is assigning a stage manager. In most cases the activity can also serve as a stage manager as it is practically an empty class otherwise. Following is the list of a stage manager's tasks:
- Initializing global game assets (textures, sounds, etc)
- Creating the main scene
- Handling stage events