Gamaddiction

Tools :: Epic Game Studio

All the news which pertain to the Epic Game Studio will be listed here.

If you wish to see only the headlines, access the Epic Game Studio Category.

This is also be where you may read about very important announcements we have to make regarding the Epic Game Studio.

ANNOUNCEMENT: development frozen as of May 2011.

Epic Game Studio: On The Rocks

As unpleasant as this may be, I still have to say it. Development at Epic Game Studio has hit a road-block, namely that we’re simply too busy working at Alien Invasion, The Logicon, the GFG Library and the G3 UI Library.

Alien Invasion can live without Epic Game Studio. The game is pretty complex, but for now, we can deal with the bunch of XMLs from which its game design is configured.

Sure, I’d have liked to do the game design in Epic Game Studio, which would have advanced the project a lot, that is, working in it on an actual game rather than my usual sandbox. But this will probably have to wait for our third game, which, hopefully, will be RoboFite. RoboFite is much better suited for Epic Game Studio. The game is much larger in scope and will feature a continuous post-release development cycle. So having a well-coagulated game design and story will be essential for handling streamlined updates.

Until RoboFite, there is simply no time to continue work at Epic Game Studio, so we’ll focus on finishing what’s on our plate now, that is, the 4 projects I just listed above. The Logicon is actually completed, but small tweaks are still required. Version 2 of the Logicon will probably happen together with RoboFite and version 1 of Epic Game Studio.

I hope that next year around this time Alien Invasion will be long-released and we’ll have found some good financial support for RoboFite, because really, the project is too damn great to leave it hanging for longer than that!

Epic Game Studio – Version 0.2 [DevLog]

It’s time to say a few words about the Epic Game Studio, arguably our most complex project (and, unfortunately, the most neglected – not by choice, but by necessity).

Epic Game Studio is a one-of-a-kind Universal Compiler which uses a common “base language” to transpose pseudo-code into actual code. It accomplishes this by using a Program Definition Database to outline the lexical structure of the Programming Language it will need to output code in; and a Game Database for storing “Epic” data (story, game design elements, etc.). It then translates all this into a very friendly UI, which people without coding skills can use (although a syntactical parser is planned as well).

What’s the purpose of this? Quite simple: to create a tool which ensures complete separation between Game Design and Game Engine. This is possible because you can store absolutely all Game Design Data into an Epic Game Studio Project which you build. When you build it, Epic Game Studio generates code in your format of choice (XML, C++, AS3, SQL, C#, whatever!) which you can then rebuild / import / recompile using your coding IDE. Epic Game Studio can be used by ANY (complex enough) game.

The project is a .Net 4.0 C# Windows.Forms application, with a SQL Compact back-end and extensively uses LINQ. The User Interface is enhanced by employing DevExpress controls and the IconShock icon library (both having been purchased by me during 2009). Epic Game Studio is fully internationalizable, using my C# I18N-by-XML framework.

Epic Game Studio Instruction Editor (CLICK for FULL SIZE Image - New Window)

Epic Game Studio was started in August 2009, but it barely reached version 0.1 before I had to focus on Thunderbirdz’ release and on the G3 UI Library. But, come 2010, I finally had time to shift the project from Visual Studio 2008 to Visual Studio 2010, which was actually a mandatory move, as Visual Studio 2008′s Entity Framework had no “insert” support for the SQL Compact Database I was using. Visual Studio 2010 added the required support so I was able to finally make changes to the SQL Compact Database rather than just have read-only access to it.

In August, almost a year after commencing the project (although less than 150 hours of work in it), I finally, I managed to reach a solid milestone with Epic Game Studio: data can be saved back into the database. That, made it possible for the Instruction Editor above to work. And, for the first time, the Build Workflow is able to compile the programs into target code!

A must-have of the 0.2 milestone was to give Epic Game Studio the ability to actually compile data from its two databases (the Language database and the Game database) into meaningful program code, as defined by the Language Database. This is achieved by using the Program Editor which can be seen below.

The Program Editor is that “user friendly” way of crafting code which I mentioned earlier. Granted, what “user friendly” means to a Microsoft Word user is a programmer’s hell. And since most game designers have programming background, that could be a problem. It’s something I intend to address by implementing a lexical interpreter.

Epic Game Studio Program Editor (CLICK for FULL SIZE Image - New Window)

Below, you can see the Build panel. This is where the Magyqck happens! Each Instruction Folder or Instruction Group in your Program can be output into its own separate Folder or File.

The custom Workflow button (visible but not functional) is used to add additional External Tools to your Compilation Process. This makes Epic Game Studio able to work with a countless number of external programs, sending parameters to them and accepting parameters back from them.

For example, Epic Game Studio could be used to generate a SQL script, after which it would call a little program you wrote which takes that SQL script, can do additional modifications to it and run it against the correct database. Or it can generate some files and then call a program of yours to upload them to an FTP. The list can go on. And on. And on.

Epic Game Studio Build & Workflow (CLICK for FULL SIZE Image - New Window)

Here is a little sneak peek at how Epic Game Studio works on the inside. This is a Language Database. Here, the Instructions and Data Types known by the Language are stored. Epic Game Studio is able to work with Numeric and Text data types, but can also understand any combination of such types, through the use of Advanced Data Types, visible in one of the tables below.

The diagram is not complete because this is, after all, a commercial product. However, if things go well with Gamaddiction in the following years, it may see a Community Edition as well. I have a great respect for the indie developers community. Because I came from there.

Epic Game Studio Language Database

This other diagram shows a portion of the Game Database. This is where your Game Design data goes. The data can be organized in Folders, Groups and Procedures. Here, you may define Variables and use them in Instructions. The Value Entries table is used to store the values of Variables, as well as instant-declaration values.

Epic Game Studio Game Database

Well, I think this is a healthy preview for Epic Game Studio so, for now, I’ll leave you with a sexy screenshot of the program’s Main Menu. And, if you noticed that in the Title Bar it says “Epic Game Studio 0.3″ (as opposed to the 0.2 in the title of this entry), that’s because it’s the version which is in work right now.

If you have any questions regarding this project, feel free to Contact Us.

More news, as we produce them ::- ).

Epic Game Studio Menu (CLICK for FULL SIZE Image - New Window)

New Project: Epic Game Studio

The development of Thunderbirds goes well and it fills me with hope for the future. I have lots of new game ideas and I’m full of energy and enthusiasm. Unfortunately, budget, as always, is not unlimited. Therefore, we (me and everybody involved in Gamaddiction) must be very careful in what we invest our time.

And when time is so limited, we always try to make the best of it. One way is to work more efficiently. Another is to buy new time. Since we don’t have the money normally required to buy new time, what if we build a really cool tool which would save time, therefore, win us time?

Such a tool is Epic Game Studio. This project was initially born out of my necessity to work with a very weird scripting language called ERM. ERM (Event Related Model) is a script created by Russian Slava Salnikov and his international team for the now-defunct game Heroes 3. They hacked the game’s executable in a wonderful way, adding fantastic flexibility for map makers.

Unfortunately, ERM syntax looks like it came from space. Check this out!

!?CM2;
!!CM:I?v98;
!!CM&v98>67/v98<75/60:R1;
!!CM&v98>10/v98<13/61:R1;

Yeah, that’s what I thought ::- D.

As my Heroes 3 map became increasingly complex, I had to build a C# tool to manage some of the code, because writing in Notepad or the rather primitive ERM editors wasn’t good enough. But, eventually, my map became too complex even for that!

Then, I paused all my Heroes 3 activities to focus on Thunderbirdz and my own game development career. And this brings us to Epic Game Studio.

Epic Game Studio is a monster project which will not only help me to finish my Heroes 3 project (whenever that will be), but will also allow us to create very complex games. The entire Gamaddiction team will be able to take part in the creative process of game design because working with Epic Game Studio will not necessitate programming skills.

Epic Game Studio is a tool which will speed up development for all our upcoming titles. It is one of our aces in the hole through which we intend to buy the precious time which for an indie developer is worth millions of times more than for big buck studios.

More news about Epic Game Studio will be delivered… as we produce it ::- D.