Posts Tagged ‘update’

After weeks of hard work, we present to you the new and shinier version of Epistory with Mod & Profiles (multiple saves) support and more... You spoke and we listened. We understand it would have been better for most of you to receive the update in chunks over the weeks but given the amount of changes it was a lot easier for us to handle one big transition to the new version instead of several small incremental versions. We even had to stop planning for a workshop beta. Without further ado, here’s the changelist.

After fighting an insectile corruption and embracing the power of fire, we left our heroine and her companion at the edge of the Forgotten Forest. Along the treacherous, twisting paths of her adventure, she began to uncover the secret pieces of her story. Now she must fight not to drown under the crushing weight of uncertainty and fight with dignity to restore her inner peace.

Discover new enemies, learn new magic and explore two brand new dungeons full of mystery. Be brave; for there is no turning back on the way to the truth.

After a bug in our save system was found, we cannot guarantee compatibility between the update and the current (Halloween) version. Depending on where you last left the game it will work, or not. Regardless of the state of the save, we recommend a new game because of the work that has been done in the first two dungeons.

Please be aware that this update marks the end of our early bird pricing. Epistory now be fixed at $12.99 due to the major updates that have been done since launching on Early Access.

Thank you to everyone who has supported us on this adventure so far. We hope you will enjoy this new chapter and we can’t wait to hear your feedback!

As promised, Epistory – Typing Chronicles is now available on Linux and Mac! If you encounter any bugs please give us a heads up and we’ll fix them as soon as possible.

The challengers amongst you will be pleased to find the new “Arena” mode in the main menu. It’s a special place where the world will finally recognize the value of your typing skills. We’re still working on the leaderboard that should come soon. It’s also a bit rough around the edges.

Note that Spanish language has been added to the game. More languages to come during the Early Access.

Here’s the patch note for the new version:

New Features

Added: Infinite Battle “Arena” mode, where you’ll soon be able to challenge yourself and get your name at the top of the leaderboard.

Added: Linux version

Added: Mac version

Added: Spanish version

And plenty of stuff behind the scene for the upcoming Chapter 2…

Various improvements

Removed magic effect on enemies’ last word.

Special characters are displayed when the required magic is locked.

Reworked “Burning Hollow” level design.

Reworked story in “Forgotten Forest“.

Bug fix

Fixed: typing the word while it moves result in some letters not colored properly.

Fixed: avatar moving using the last letter of a word typed if the typing mode auto switch is triggered.

Fixed: auto typing mode switch was not happening if an untypeable (fire) word was displayed

Welcome to another installment of our fluffy sweetness. If you missed our Critters gifs last week you can check them here.

Ok! To recap, we had a world quite pleasant to walk in, decent levels and dungeons, epileptic Critters… and a girl riding a giant fox fighting against monsters and corrupted nature. Fighting how? With words. I mean MAGIC FIRE WORDS!

So, here’s the fire animation, shown in our previous paper on art direction, in action. Yes, we know, burning the forest is bad but these brambles were evil, very very evil.

Imagine you’re hanging around with your fox and brambles block the road: burn them! There are monsters on your way out from the dungeon: burn them! There are cute critters… wait… stop. May I draw your attention on the fine and not final spell forging animation before the girl sets the world on fire?

Hope you felt the magic. See you next week for another incredible Fluffy Friday!

Paradigm Shift

When we started working on Epistory, we had to choose whether to use our proprietary engine or not. For reasons that go beyond the scope of this post we decided to go with Unity. While the prospect of working with a tool as streamlined as Unity was stimulating, after five years working in a workflow dominated by C++ my C# habits were rusty if not inexistent.

After some time with C# I remembered and saw some of the neat tricks you can do with this language. I also received and read a few tips for Unity itself that can do wonders to keep performance high and coding time low. I will keep this as code free as possible and direct you to the relevant documentation -if necessary- to get all the juicy details that would needlessly blow up the length of this post.

Stay organized

While Unity is very flexible and lets you do basically anything, it can be a blessing as well as a curse. If you don’t force yourself to organize the project and the code from the start, it will become messy really fast. One performance hit that is negligible at the beginning but can grow into a big problem later down the road is the caching of your GetComponent(). Basically each time you ask for a specific component in a GameObject, Unity will go through its component list. In most cases you can safely cache the result and keep a reference. If you start adding components at runtime you’ll have to decide whether to cache it or not.

Leave no warnings behind

Even though most programmers will treat warning as error -or at least minimize the amount of warnings- it bears repeating. The more serious warnings are almost always a bug waiting to be triggered. That is even more important in C# because of some leeway given to the developer. For example: you can hide a virtual function if you don’t explicitly add the override keyword to the sub-class function declaration. And a warning will remind you to make your intentions explicit. The difference between overriding and hiding is that the overridden function will call the runtime type and the hidden function will call the compile-time type.

False friend

The switch statement is a good way to keep the code readable. But in this case its behavior is slightly different in C#. You cannot fall through to the next case section. You have to place a break/return/goto… However, there is a walkaround. You can use something like “goto case 1;” to jump to another case. More details here

Missing Link

LINQ can be a powerful tool to interface a program seamlessly with a database. Even though its syntax can be off putting, you should at least try it before you leave it. You can use SQL-like statements to query an xml file, for example. You can also use it to perform operations on IEnumerable (a.k.a. Arrays and Array-like) classes. All you can eat buffet here

Daily routine

Coroutines can be achieved in pure C# but Unity made their use very easy and intuitive. It is akin to starting a new thread without the problems associated with thread safety issues like concurrency, race condition & deadlock. The coroutine also behaves like any other member function. It has access to other functions and member variables.

I will leave the implementation details aside (see links below) but know that it can easily be used to provide easing to an object over time or calculate the next score increment. Another, more advanced, use-case is a very elegant way to implement a state machine. More information here and there and state chartshere

Eventful delegation

Event firing and registering is built into the language. Events & delegates are two sides of the same coin. The delegate provides an equivalent to an array of function pointers and the event is the message being sent. This makes for painless event driven programming and we all know how much a game can be event heavy.

Sorry about the late update, it was meant to be posted Friday but we were a bit busy… anyway, let’s have an overview of Creatures Online’s ecosystem today!

Here’s how the player can interact with ecosystem:- Tap on a critter to wake it up- Critters can’t be drag & dropped directly, but it is possible to move them like decoration elements after clicking on the corresponding icon on the interface allowing you to move / sell agents- Small critters (such as insects) generally can’t be interacted with- …but some can still be drag and dropped (for example, fishes)- …and you can still tap on some other ecosystem-related things, such as bee nests

And here’s how the Norns can interact with it:- Even though the players can’t interact with every insect, Norns can. Sometimes they hit or eat some insects, which you can reward or punish.- Flowers, mushrooms & grass patches grow naturally and are randomly placed.- Ecosystem varies depending of the environment. For example, the Hatchery consists mostly of flowers and butterflies. Thus, placing an insectivore critter may be a bad idea as butterflies tend to stay out of reach (yes, you can see the critters eating grass / insects)

(1) Spotlight: More and more objects are available in shop according to your current level. This category shows the latest items unlocked.(2) Resources: In this tab you’ll find coins and golden eggs.(3) Genetics: You can buy here genes pack to use with the Splicing Machine.(4) Toys: Self-explanatory. Toys mainly relieves Norns’ boredom.(5) Decoration: A lot of items are present here, which are purely for decoration. Though actually there may be some exceptions.(6) Ecosystem: You can buy here plant pots (to grow fruit plants) and critters. Naturally occurring flowers, grass patches and insects can’t be bought as they depend of the world.(7) Others: You can buy here coin machines and nests for your Norns to sleep.(8) Hide / shows a small description of the concerned item.(9) Upon buying an object, the game let you place it. However, you can stock objects you don’t want to place immediately. That’s why you can see a “Use” button here: I already have one of these objects in stock.

Sorry about the absence of weekly updates! Here’s one with a short video displaying the Splicing Machine:

As you can see in the video:

Each Norn has 8 cosmetic genes, each one impacting the appearance of the Norn. Changing the 1st one will have an impact on the belly, the 2nd one on the pattern the Norn has and so on.

There are 12 possible genes

There are 4 body types, each gene corresponds to one of them. The body of the Norn is an “average” created from these genes. See for example how the body shape changed when I replaced Bananou’s genes with Feral genes.

Two Norns with the same genes will look the same in the Splicing Machine as the preview shows you how the Norn should look with these genes. That’s why Bananou and Brugno seem similar.

However, once spliced they can have small differences even with the same genes. If you look carefully, in-game Bananou has 2 white spots on the hips, while Brugno has a white mark on the right arm.

The pattern on Norn fur is defined by genes #2 and #3, but the color for these patterns are defined by genes #5 and #6.

Time required for splicing depends on the number of genes modified (and the type of these genes).

This week I’ll present you a small summary regarding the Hatchery Machine interface:

When opening the Hatchery machine, you’ll see 2 different sections:- The “My Eggs” section, which contains your eggs- The “Eggs Store” section, which allows you to obtain new eggs

From the “My Eggs” section, you can see your eggs and hatch them if you want to (1). You can also see the 8 appearance genes of this egg by clicking on (2), allowing you to have an idea of how the Norn may look without hatching it. If your game is linked to a Facebook account, you can also send this egg to a friend (3).

You have a limited number of egg slots, but you can buy some more using coins or Golden eggs (4).

Click on (5) on the “Eggs Store” section to see which appearance genes each egg can contain (6). Eggs can be bought with energy, which refills automatically with time.

Unfortunately it becomes harder and hard to find something to say in the weekly update without saying “debugging” and “fixes”. So, from now on, it will mostly consist in some explanation / recap of some game features.

So, let’s start with an overview of the world monitor:

1/ Tap on a world to select it. When selected, the small description as well as the Norns displayed in [2] will be updated. Tap again to go to this world (you can also use the “Go to region” button). Worlds are unlocked through progression.

2/ All the Norns present in the selected world. The maximum number of Norns depends of the world.

3/ The magnifying glass button opens the menu [4]. You can also see an icon representing the current need of the Norn. If the Norn has no important need, nothing is displayed. In case of high hunger or high pain, the icon is displayed in red and a “!” is displayed on the world’s picture.

4/ “Go to Norn” will lead you to the world the Norn is in, “Teleport Norn” will teleport it in the current world.