Of course not, like all of my game engines, Selenite is a means to an end, or a few ends. And all of you out there who have never completed an engine or a game with any substance should listen close :)
Selenite: a glassy silvery mineral, sacred to the Greek mythology moon goddess, Selene
OK, enough with the theatrics, what actually is the selenite engine?
The Selenite Engine Version 1, is both an Editor, and various engine 'flavors' where each flavor represents a particular distribution platform; such as Win32, or Flash, or XBOX360
We'll start by talking about the Editor.
The Selenite Editor
Some would-be game/engine developers (after much masturbatory coding of tech demos), come to realize that an engine is a means to an end. They may also come to realize, that assembling a game from data alone without the aid of tools is a fool's errand.
And finally, they may realize that a bunch of unrelated tools, while barely functional isn't the most efficient way to work. In the business of creating and releasing fun games for profit on the indie scale, you need a tool that makes it effortless to assemble a game from a technical standpoint.
While most of us here, who program in either C# or C++ tend to scoff at the 'Game Maker' programs of the world; they have it right when it comes to getting a product to market. Focused, talented individuals are able to produce great, marketable products in a fraction of the time, than coding a game or engine directly.
So, for many of you this won't yet be a viable reason to use a 'game maker' like tool, however for me, it is crucial to my business; as producing more, higher quality, marketable games for less time and money is a good thing.
Let's get down to details
In a nutshell, the selenite editor is a tool used for creating Adventure/RPG/RTS and Casual/Arcade/Puzzle type games; and whatever else it can be 'massaged' into building. It supports many common features of these game genres, but generally leaves it up to the game developer to use its features in creative ways.
The benefit of using the selenite editor, is it allows your entire game to be built in a single tool, and provides you a very efficient interface to do so.
So let's talk features:
Selenite games all have access to these basic features, The game world is arranged as a root 'game' object, sort of the all seeing universe; within this universe exist 'rooms' which can contain scenery and environment elements, and within these rooms exist 'actors' which can be anything in the environment, from rocks, trees, houses, cars, people, doors, light sources, sound emitters.
Each of the first-class objects, Game,Room and Actor can have sounds attached to them, and scripts attached to them which fire due to various events.
The game object maintains a list of current inventory items for the player; where inventory items can be just items, or used for action type cursors to do contextual actions "e.g. a talk cursor or a look cursor"
Both Rooms and Actors have physics properties, so that the environment, by nature can present collision boundaries and all actors have dynamics.
Each actor has a list of 'topics' which are for conversational interaction.
Actors have lists of animations which can be played, and 'costumes' which allow a switching of look of the actor.
Any number of cut scene videos can exist and be played at will via script commands.
The scripting system has over 40 API commands that can be used to modify the state of play so you can create complex interactions as needed for the game design.
Using all of these basic features you can design a wide array of robust games, all which when 'compiled' simply exist as a set of data files; just waiting to be run, by what else? The Selenite Engine.
Which is what I'll talk about in my next post.