Tuesday, June 18, 2013

Epok Engine Update 2

Hello again. I've been steadily working on the engine and managed to get that minimal test state that I was aiming for. While I didn't go the whole way, I've implemented the first "conversation" of the Chat Mapper example project into a playable game. You can mess with it right here. It is very short, but it helped me straighten out the last few functionality bugs on dialog. If you manage to crash it or break something, please let me know.

These are the controls so far.
Mouse click - advance text, activate button
Ctrl Key - Speed up/skip text.
1 key - Quick save
2 key - Quick load

The other major feature that's in is the load/save feature, which I cannot recall if I ever got working before. It works in this simple version but should also function once I implement more complex objects. In the future I expect to build a complete interface to access saves.

With this big hurtle done, most of the key functionality is implemented. The remaining work is pretty much all UI for basic screens and various modals. These need to be designed out first and will most likely depend on what sort of project I plan to use the engine for. While it may seem obvious what I'm planning on doing with the engine, I wont make any official announcements until I've created enough plans and designs before hand. 

For the technically inclined, I've included a pastebin of my XML file used for this example here and the resulting library class here. I'm interested in making the tools and the engine I've developed opensource but for the time being I've attached some licensed software into the mix. If anyone has any experience dealing with opensource work, please contact me as I'm pretty clueless on how this works. Thanks.

Friday, June 14, 2013

Epok Engine Update 1

It's been quite a while, but I can assure you that the time has been spent inefficiently and on completely unrelated things. As usual, I can't give specifics on timelines, but I can at least say I'm making progress on the Epok Engine I mentioned a long time ago.

So a long while ago I thought up making the engine to support future development I quickly ran into a seemingly impossible to break wall when trying to merge a development pipeline between Chat Mapper and it's Lua scripts into flash. It was crazy talk, and was pretty discouraging when I found out this couldn't be done. Many months passed before I looked at this again after doing more professional level action-script work.

Still, I wanted to use Chat Mapper for its nice organization, so I chose to use it simply as dialog flow designer (which is what it should only ever be), and developed an entirely new system that uses an XML file filled with "Dialog Nodes". I built a python tool that is able to read in the XML and compile entire Class files containing all these nodes into native Action Script. Therefore I can run all sorts of events and triggers throughout the dialog navigation.


In terms of the Epok Engine's progress, it's now using a better UI backend that isn't horribly broken and has a fully functional and dynamic dialog and choice system. While it may not sound like much, this is pretty much all you need for the most basic of games. I plan on testing my text replacement system next, as well as getting the save/load system in early enough. I have some neat ideas to allow old saves to work well.

The immediate project goal is to be able to simulate the Chat Mapper Example project, which will prove the systems works and allow for additional fixes. What happens afterwards is pretty open on what I can do with the engine. I wont make any announcements yet as I don't want to get peoples hopes up too early.

I'll post again once I have something interesting to say.

Wednesday, January 2, 2013

Happy New Year!

Happy new years everyone!

Just wanted to provide a small update on the project Epok status. After much research and searching, I've discovered that my original goal of just finding a Lua interpreter coded in Flash was pretty crazy and short sighted of me. It looks like these things just aren't normally done since creating such an interface between flash and other languages is hugely inefficient. The closest things to what I wanted, Lufacode, only dealt with compiled Lua code making it completely useless to me.

This leads me towards utilizing alternate plan I mentioned in my previous post, building a custom script interpreter. While this problem isn't that foreign to me, it is still a steep one to climb. I've been doing research on building a proper one so I know that I'm at least on the right track. The integration with ChatMapper will still work as I can insert additional scripts fields into the output dialog xml. So yeah, this one will keep me busy a while longer.

On other news, I've been in talks with another user about collaborating with his team on CGF. It's still really early but I just wanted to let you guys know that there's still plenty of interest in getting that game idea executed. I'll give more information as that situation develops.