Gamaddiction

Tools :: The Logicon

All the news which pertain to The Logicon will be listed here.

If you wish to see only the headlines, access the Logicon Category.

This is also be where you may read about very important announcements we have to make regarding The Logicon.

There are no important announcements for now.

The Festival Of Testing

Even if The Logicon has been released more than a month ago, that doesn’t mean that I stopped working at it. Not by a long shot! As a matter of fact, I wrote more lines of code in this past month than I wrote in the previous almost two months.

But the lines I wrote aren’t nearly as “deep” (read: complex) as the ones before. Why? Because I’ve been writing Unit Tests for the Library. LOTS of Unit Tests.

All in all, we got about 12.500 lines of Unit Tests. Yes. That’s 12 thousand 5 hundred ::- D. Which, considering The Logicon has less than 2000 lines of code, is quite a bit ::- ). But there is a reason.

The Logicon is a critical Library. Remember, it is used for EVERY game-play calculation we make in our games. This means that it is extremely important that there are absolutely no mistakes in any calculation, otherwise we might end-up with nasty game-play bugs, and we certainly cannot afford that.

Ok, so now that I finished with the bold-fest, maybe you understand why I tested the library so heavily. I am now quite satisfied with it and I have already started work at the actual game! Alien Invasion is finally on its way to a game portal near you!

However, this is not the end of development for The Logicon. During testing, I made many improvements to it, but I also took note of some improvements which I won’t be able to implement right away. These, plus some new ideas I had, will have to wait until Version 2.0 of The Logicon, which I plan to release sometime in 2012.

The Logicon – Version 1

The Logicon is an in-game calculations library. It helps the game developer by taking care of absolutely all in-game calculations regarding: damage, skills, hit points, scoring, experience, level-upping, stats, properties and whatever other term you might imagine and has a number associated with it.

I built the Logicon with Diablo 2 in my mind ::- ). I wanted to create a library with which I could power all computation in a game like Diablo 2. As it turned out, the Logicon went beyond that, increasing my development speed using the XML loaders I integrated in it, which also make it extremely adaptable to game-modding.

The Logicon can be used for any kind of game (hence, the mash-up of terms I used above), written in any programming language. Its small size of only ~1500 lines of code, clear architecture and C-syntax makes it very easy to port in any language. The original code is AS3, as the first game to make use of it is Alien Invasion.

Below, you can see a diagram which shows a simplified structure of The Logicon. The main class has many more methods, but I cut them out for simplicity’s sake. You don’t want to know all the details, do you?

Using Alien Invasion as an example, I’ll explain a few of the general features of this class library.

At the base of The Logicon lies the concept of “Modifier”. A Modifier is, at its rawest form, an object wrapping a Number (Float). There are two types of Modifiers: Base Modifiers and Influence Modifiers. You can probably guess where I’m going with this. To confirm your guess: in Alien Invasion, the hit points of Bunkers and Flying Saucers are Base Modifiers, while the damages of all Weapons are Influence Modifiers.

The Base Modifiers offer a notification function for when their value changes, while the Influence Modifiers also provide various events.

Each Modifier type has an inheritance branch which perfects it and adds nifty new features to it.

Simplified Diagram of The Logicon

The Temporary Base Modifier, as its name implies, will only be in effect for a certain time. It’s useful for temporary boosts. And yes, The Logicon allows modifiers to stack on each other, using a unique Modifier Type ID. Furthermore, Modifiers can be percentile or numeric. And to top it off, they can be organized in Tiers, which allows the percentile Modifiers to be applied only in a certain order. This makes The Logicon extremely versatile.

As its clear name implies, the Perpetual Influence Modifier is used to make sure that a certain Influence Modifier gets applied more times to a target. This could be used for a poisoned arrow, or a weapon that causes bleeding. Influence Modifiers can also be percentile and numeric and can also be organized in Tiers. Of course, they too can be stacked. Furthermore, Influence Modifiers allow automatic randomization, to give you those “sweet” damage ranges you see in so many games.

The Logicon also has some internal logarithmic functions which are used to provide nice, gradually increasing difficulty in level-upping, or exponential-gradient functions with various curves of difficulty, for any imaginable game scenario.

As I completed the first version of The Logicon, I realized that this Library will probably pay a pivotal role in our future games. This is just version 1, and I already have a several optimizations and improvements in store for version 2. A C++/C# port will probably follow, as we (will hopefully) branch out to Unity / other game engines.

New Project: The Logicon

As soon as the Alien Invasion project was started, it was stopped ::- D. I’m smiling because it’s nothing to be alarmed at. It’s just that… well… the project took an unexpected path ::- ).

As I was laying out the Class Diagram for Alien Invasion in Enterprise Architect, I started to realize that a certain (quite large) part of it is increasingly detachable from the rest of the project.

The part I’m talking about is a series of Classes which are responsible for calculating certain properties of in-game objects. I realized that with a bit of tinkering, I could create a library which we could use in all our future games. And that library is named… *drums*… *trumpets*…

The Logicon

We are still committed to Alien Invasion, and Alex, our designer, is still working at the game’s art. But I will be taking a short detour prior to starting work at the game itself. This detour will consist of finalizing the first version of The Logicon, our in-game arithmetic calculations.

Not to worry, The Logicon is not a huge project. Its size is quite small actually. Barely a handful of classes. However, the Logicon will help us immensely when developing just about any kind of game!

I estimate that I will complete The Logicon in two to four months from now. I will write more information about it when I get there.