Posts Tagged ‘update’

Epistory: Fluffy Friday #3 – Burning Brambles

Tuesday, June 23rd, 2015

More on IndieDB

Bite sized news for small stuff. Today: Burning brambles.

fluffy_3_header

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!

fluffy 3 burning brambles 2 

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.

fluffy 3 burning brambles 3

fluffy 3 burning brambles 1 

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!

Have a great week.

Epistory: Lessons learned while switching to Unity

Thursday, April 16th, 2015

More about the game on indieDB

epistory_c_to_unity2_455px

 

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

 screenshot_epistory_prog2_455px

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.

This could make a post topic by itself so I leave you with the documentation and an in depth tutorial/study

Epilogue

There you have it. A non-exhaustive list of tips, tricks and gotcha. Thank you for reading and feel free to ask any question in the comments.

Weekly update #69

Wednesday, April 8th, 2015

Weekly Update #69 – The Ecosystem

Read it on the forum

Hello everybody,

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)

 That’s it! Have a nice day.

ecosystem455

 

Some previous updates:

Weekly Update #68 – The game’s shop

Weekly Update #67 – The Splicing Machine Video 

Weekly Update #66 – The Hatchery Machine interface

Weekly Update #65 – Explanation / recap of some game features

Weekly Update #64 – Why is debugging mandatory?

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly update #68

Wednesday, March 25th, 2015

Weekly Update #68 – The game’s shop

Read it on the forum

Hello everybody!

This week I’ll simply do a summary regarding the game’s shop.

pictureShop_455

As you can see on the picture above:

(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.

That’s all for today! Have a nice week

Some previous updates:

Weekly Update #67 – The Splicing Machine Video 

Weekly Update #66 – The Hatchery Machine interface

Weekly Update #65 – Explanation / recap of some game features

Weekly Update #64 – Why is debugging mandatory?

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #67

Tuesday, March 10th, 2015

Weekly Update #67 – The Splicing Machine Video

Read it on the forum

Hello everybody,

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).

That’s all! Have a nice week

 

Some previous updates: 

Weekly Update #66 – The Hatchery Machine interface

Weekly Update #65 – Explanation / recap of some game features

Weekly Update #64 – Why is debugging mandatory?

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #66

Monday, February 23rd, 2015

Weekly Update #66 – The Hatchery Machine interface

Read it on the forum

Hello everybody,

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

Creatures_Online_Hatchery_interface_455

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.

That’s all! Have a nice week!

 

 

Some previous updates: 

Weekly Update #65 – Explanation / recap of some game features

Weekly Update #64 – Why is debugging mandatory?

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #59: Twitch news and debugging

Weekly Update #65

Monday, February 16th, 2015

Weekly Update #65 – Explanation / recap of some game features

Read it on the forum

Hello everybody,

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:

 

worldMonitor_2_455

 

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.

That’s all! Have a nice week!

 

Some previous updates: 

Weekly Update #64 – Why is debugging mandatory?

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #59: Twitch news and debugging

Weekly Update #58: The Mini-Norn bug

Weekly Update #64

Monday, February 2nd, 2015

Weekly Update #64 – Why is debugging mandatory?

Read it on the forum

Hello everybody,

Concerning the main advancements of last week:
- We fixed a bug with the “rubber band” (the line you can draw from a Norn to an object on mobile device to give orders more easily) which was not displayed
- We also fixed some compilation errors (Unicode related)

…and that’s all. Sorry to have only some debugging information to share with you once again, but debugging is mandatory (unless you would like to have this kind of Norns).

Have a nice week!

underwater455

Most plants can’t be grown underwater, but some of them can.

 

Some previous updates: 

Weekly Update #63: Tweaking and answering questions about the video

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #59: Twitch news and debugging

Weekly Update #58: The Mini-Norn bug

Weekly Update #57: Special abilities and XP

Weekly update #63

Tuesday, January 20th, 2015

Weekly update #63 – Tweaking and answering questions about the video

Read it on the forum

Hello everybody,

This week, we added possibility to switch worlds by tapping on the teleporters. Before that, the only way to change the current world was by using the world monitor (the interface allowing you to see your worlds and in which world each of your Norn is).

C4teleporter455

We also tweaked the volume of some sound effects. Some were quite piercing.

By the way, I would like to answer to these two questions / concerns I have encountered regarding the latest video:
- There are different Norns voices, one of them being much like the old classic Norns voices. Simply, none of the Norns in the video had it. It depends of the Norn.
- If you don’t collect coins / XP by yourself, they will be automatically collected after some seconds, you actually don’t need to collect them one by one.

That’s all! I wish you a nice week.

 

Some previous updates: 

Weekly Update #62: Gameplay video (mobile version)

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #59: Twitch news and debugging

Weekly Update #58: The Mini-Norn bug

Weekly Update #57: Special abilities and XP

Weekly Update #56: The Localization

Creatures Online Update #62

Tuesday, January 13th, 2015

Weekly Update #62: Gameplay video (mobile version)

Read it on the forum

Hello everybody, and happy New Year! :)

COyoutube455

Nothing too juicy to share with you this week, as we are not working on really interesting things, but rather on debugging and stabilizing the mobile version.
However, for those who missed the Twitch session before the Christmas holidays, we recorded a gameplay video (nothing new for those who watched the Twitch session though, it is a similar gameplay).

We wish you a nice week :)

Watch it on Youtube

 

Some previous updates:

Weekly Update #61: The Twitch Session Official Date

Weekly Update #60: The Science Kit in Colour

Weekly Update #59: Twitch news and debugging

Weekly Update #58: The Mini-Norn bug

Weekly Update #57: Special abilities and XP

Weekly Update #56: The Localization

Weekly Update #54 – 55: Let’s have a Mojito to celebrate!