The Drag[en]gine is a fully customizable game engine and game development environment designed with modularity and extensibility in mind not requiring expensive licenses.
An in-between news post about fonts, the new Epsylon Memo-Pad as well as some GUI work.
Posted by Dragonlord on Feb 6th, 2010
As mentioned in the summary this is an in-between news post. There has not been much of news lately for a couple of reasons. First MOTY had been under way which is a time of lots of articles being posted. It is best to wait after MOTY is done and all the ruckus went down to talk about development stuff. The second has been that a huge pile of work is done on Epsylon Game Mechanics. It is a large bunch of work to be done and is destined to reveal another game mechanic part of the Epsylon game. Some people have already written about Epsylon being a dead project because they didn't notice that the news are posted on this profile not the Epsylon profile. So we tell these people that the Epsylon project is totally up kicking just that they are looking in the wrong place for the updates. So watch both profiles, this one here and the Epsylon one if you want to get all the updates. This is required since the ModDB "feature link" system works only on paper but utterly fails in reality. Once the engine is released the updates will shift back to the Epsylon profile. To level things a bit though the game mechanics use post is going to hit the Epsylon profile. So an earlier in-between news post is made with the engine stuff only and a week or two later the Epsylon game mechanics related news post.
To deal with the memo pad stuff dealing with fonts had to be overhauled. In the early days of the project a font generator tool has been used. This one though doesn't work anymore and the results had been not very customizable. To fix this a new editor module for editing fonts has been added to the IGDE. With this editor font resources can be directly edited and saved like any other engine resource. Furthermore an upgraded generator tool has been included. This way you can create easily engine fonts from your system fonts. There are still a few problems left to deal with which are caused by the flacky implementation of the GUI ToolKit underneath ( FOX ToolKit ) but this will be hopefully fixed upstream until the engine is released. The produced results are though good so it is usable. This improved the font situation quite a lot in the Epsylon project. The screenshot below is a quick shot of the editor. Painting supported is not provided in the editor itself since there are way more sophisticated applications out there for that. No need to duplicate this work.
The game mechanics in the Epsylon game make heavy use of the player reading and looking for documents/information throughout the game world. One source of information are Memo-Pads. These are cheap devices mass produced in the world the player is introduced into and server the purpose of carrying small to medium memos. They operate using an e-Paper type technology requiring very little energy to run. Text can only be viewed on these cheap devices and changed by inserting a UDS device. In contrary to other games the content of such memo pads can change at runtime. Hence NPCs can replace the content in such Memo-Pads at any given time. The memos are stored in XML files under the games directory. Text can be formatted to give the text a more pleasant look. Currently only text is supported but images and more formatting options will be added later on. The screen is handled using a dynamic texture object and is therefore very simple to use. The image below shows a Memo-Pad in action. The text can be read page wise. The player will be able to download the memos into his Thunder-Pad so he can read them any time later.
To get the Memo-Pad properly working as well as the upcoming Epsylon game mechanics the GUI scripts received some work. A new Styled Text class has been added which developers can use to render rich formatted text without touching any code. The Memo-Pad uses this new Styled Text class to render the screen content. In addition various layout problems and render problems have been removed. Furthermore additional Model-View-Controller related classes have been introduced. To improve the visual fidelity border classes have been introduced. These classes work the same as border classes in Java Swing. These classes know how to render a border of any type around existing widgets. Together with improvements on the layout objects it is now much easier to create compelling GUIs without having to write tons of code. No screenshots of these changes as this will be provided together with the upcoming Epsylon game mechanics news post.
As mentioned above all the work right now goes into the upcoming news post about the Epsylon game mechanics. After that more engine related work will be done. So stay tuned for the upcoming news post which will be on the Epsylon profile this time. If you are not watching yet the Epsylon profile do so to not miss the news post.
EDIT: To see the MemoPad in action head over here.