Jump to content
  • Advertisement
  • entries
  • comments
  • views

About this blog

Welcome to our dev's journal :)

Entries in this blog


Weekly Recap #special: Back from Gamescom

Hello Fox Riders, 

We're back from Gamescom! 

Gamescom was pure madness. It was exhausting, but we regret nothing! We had the opportunity to make people play the demo of Nanotale. Some of them were returning Fox Riders from Epistory, while other didn't know about our games but both loved it. It was so rewarding. 

We took the picture above with the wonderful people from Onanagro Studio who helped us a lot on the booth and borrowed us their holographic display to showcase some art from Nanotale. Below, a hologram of the Green Jasper. 

At some moment the booth was so crowded that it was hard to manage who's the next player, so one of our Game Designer decided to create a path to follow on the floor and it did work. 

  Closed BETA
Before finishing that update, I'd like to give you some quick news about the Closed BETA. 

We are currently finishing a few stuff to make sure that the part of the game that we want you to test is working well. So, you should expect the Closed BETA to start around mid-September. 

That's it for today's recap! Thank you for reading and for your patience. 





Weekly Recap #33 & #34: Game dev fact and new enemy

Hi Guys,
Last week we mainly worked on being ready for Gamescom 2019, and we also continue to produce new concepts and elements of the lore. New Elements and Concepts Talking about new stuff, here's the "Shield" enemy. We needed an enemy with low speed and immuned to basic spell, but that can still be knockback. 

Here are the researches done to find the right look of that new enemy. Game design-wise, we felt like the snail-like enemy was the best pick for that "Shield" enemy we needed in Nanotale. 

This is another concept art showing you the village in the Sunken Caves from a different perspective. 

And here's how it looks like in the game. 

The prologue in Nanotale is a specific part of the forest where you learn how to move and interact with the environment. It's also where the story begins. 

We needed that part to be different from the core of the Ancestral Forest. Here are the new pine trees created for the prologue. 

  Game Evolution Something I like to do is to take screenshots of the same place each time we take a big step in development. Here's the evolution of a specific scene from the level design "blockout" version to the decorated one (without lighting yet). 

  Game dev fact When something is placeholder you'll have to tell it 10 000 times until your team stops asking you if it's the definitive asset. 

Apparently here, the artist who placed that rock wanted to avoid questions 🤣 

Here's the concept art of the element that will replace the placeholder asset above. That rock tells you a story from Nanotale's lore. 

Don't forget to join our discord channel to chat with us! 

Thank you for reading. 

Weekly Recap #32: Polishing a bit

First of all, we'd like to thank you for applying to Nanotale's BETA. We can't wait for it to begin. 

Last week, we mostly focused on polishing some animations and part of the game. We even added a close-up when analyzing an element from the lore in Nanotale. Here, Rose is writing about the Green Jasper. 

Quentin designed some platforms/bridges that can be activated by magic to solve puzzles in Nanotale.

Talking about puzzles, this is the last update about sheep or you will start to think that it's a game about sheep  

Sheep change color when eating specific flowers. And this is how it works. 

That's it for today. 

Have a great day! 

Weekly Recap #27: Troglodyte House and video!

Hi guys, Sorry for the waiting. I was on a long weekend :3 Last week, we started to work on other things than rocks for the second biome in Nanotale. That little house is the first step to create a troglodyte village. And here's a new concept art showing you some elements from the Sunken Caves' lore. I kind of love that concept more than the others because it's the first time that our concept artist uses the watercolor effect that we have in 3D on a 2D concept. The following concept shows you some new props that we needed for a special puzzle area located in the Ancestral Forest. Won't tell you more about the puzzle excepted that the area is full of sheep :epiwink: Let's finish that update with a nice accelerated video showing you our 2D artist texturing a Static Enemy. Thank you for reading! Have a great week.

Weekly Recap #26: The Sunken Caves in 3D

Hi Fox Riders, 

I hope that you enjoyed your weekend as much as we did. 

Before our long weekend, we started some modeling for our second biome And because it's called the Sunken Caves it will ofc start with rocks!

There are multiple entrances to the Sunken Caves but the main one is located North from the Ancestral Forest, passed the meadow. We are currently working on its look. 

While modeling rocks, we are also in quest of the good colors for the Sunken Caves. 

We think we found an interesting color scheme for the dwellers of the Sunken Caves. What do you think?

We finished a few textures. Here are the people from the Ancestral Forest. Video coming soon! 

  T-shirts Giveaway
The game being in dev, we can't give you keys of Nanotale. So, to support #loveindies we decided to giveaway t-shirts of the game! Comment with an #indiegame you love for a chance to win! 😍

Find the contest on Twitter
Find the contest on Facebook[www.facebook.com]
These inquisitive little creatures follow you around, no matter where you go. Not even distressed by the attacks of the blue predators on these lands. Though no one ever saw one attack a Green Jasper particularly.

Visit the link below to have a closer look at the 3D model of the Green Jasper. 


Thank you for reading. 


Weekly Recap #25: Dwellers from the Sunken Caves

Hi Fox Riders, 

A new week always begins with a short recap. Last week we worked mostly on the new biome, the Sunken Caves. Our 2D artist created a few concepts of the biome but also of the dwellers.

Some asked for a link to her artstation, so here it is: Enjoy[www.artstation.com]

"The Dwellers from the Sunken Caves are mining too much, they are devouring their own world."

  The Sunken Caves
The following concept art show you some elements from the second biome. Some are part of the Lore but others are purely decorative.

Here are some early ideas for the dwellers. They are mostly miners and fishermen. 

  Name that plant
Thanks to all your suggestions, we found the perfect name for that plant.

  Stream on Twitch

We started a streaming routine in English but also in French, with the willing to show you more of the game but also how we create it. 


Français - Mercredi 11h30 (11:00 am CEST
English - Wednesday 11 am EDT (5 pm CEST)

Follow us on Twitch[www.twitch.tv] to not miss them.
You can also watch our previous streaming sessions here[www.twitch.tv].
Some Fox Riders told us that they were missing a lot of our news on Steam due to the huge amount of games they are following. So, I'd like to remind you that we also have a newsletter. You get it less often than a weekly recap (more like 1 every month or two months), but at least it's harder to miss. 

So, if interested, here's the link to subscribe[confirmsubscription.com].
Here's another post showing you how we create our objects from 2D to watercolor 3D. Maybe we should create a video next time we work on the textures? 

And to finish, this won't be in the game but, I wanted to show you what happens when you say to your Game Designer that the fog is not juicy enough! Use your words with caution. 

Thank you for reading! 


Trick or Treat! Halloween Update

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
Fixed: brambles were reorienting upon hit
And a lot more.
Thanks for reading!



The Sunken Caves: New biome revealed!

It's time to introduce you the second biome from Nanotale: The Sunken Caves. "Poison is spreading from the edges of the Sunken Caves, but the town feels safe and nurturing."

Last week our concept artist, Amandine, worked on the Sunken Caves; trying to find the right mood/ambiance for this new biome. 


The Story Continues - Chapter Two now available

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 torestore 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!

The Fishing Cactus team



Spring-cleaning! New Screenshots.

Hey guys!  A fresh air of Spring blows on Fishing Cactus. So, we updated Nanotale's Steampage with new banners, screenshots, and gifs of the game. 

Basically, what you see here, is the fire spell used to burn enemies and combined with the "LARGE" shape to melt the ice. 

BONUS And because our animator needed a break he decided to create that video. Better with sound!   https://youtu.be/jIwc1TgMO3Y

That's it! Thank you for reading and following Nanotale! 


Sneak peek of what

We've sent a small update with various bug fixes on Steam. But that's not all we want to talk about. We have a few teasers for you. The biggest change recently has been the recording of the voice over. We prepared a short video to give you a taste of what it sounds like. It still need work to be fully integrated but we are quite happy with the results so far.

[youtube] [/youtube]
We also are roughly half done with the third chapter. We can start showing some part of it, and let you guess what kind of magic you'll discover. Here are two of the new items you'll encounter.

[font=inherit][/font] Another planned feature is to rework the skill progression which is currently lackluster. More skills, which will be more useful will make their debut next year. As a final word, we would like to thank everyone for their vote during the first phase of the Indie Of The Year. We reached the top 100 and we cannot wait to see how far we will go! Feel free to help us and vote for us one last time.

Happy Holidays!
The Epistory Team



Release Date Announcement

Hi gamedevs, 

We are happy to announce the release of Nanotale in early access on the 23rd of October 2019.  http://www.youtube.com/watch?v=5IohCH2aCx8 Wishlist the game on Steam Why in Early Access? The initial plan was to release the full game in September 2019 but then, we noticed that if we really wanted to release the game we dreamed of along with our community, it would take a little bit more time. So, we decided to polish the first 35% of the game and put it in your hands to make sure that we are on the right track while finishing Nanotale. 

We give more info about the early access and its content in the following video. http://www.youtube.com/watch?v=Z2kd_ams2fo&t=4s
The more feedback we get, the better our game will be at release. So, thank you in advance for your support!

Have a wonderful week. 




Opening Lines: Finding a Voice for Epistory

Epistory needs to establish a subtle, layered narrative voice within its opening moments. Join the game's writer in a deep exploration of why this story is harder to begin than most.

Wether you're writing a game, or a movie, or a novel: it's always difficult to start a story. There's just so much riding on those opening moments. This difficulty is basically the premise for Epistory's plot, in which a struggling writer is trying to start a novel. The player assumes the role of the muse, helping the story come to life.

Epistory adds an additional complication: as well as attracting the player's interest immediately, it must also establish the narrative voice. In this article, I'll be explaining more about what this means and how I've tried to solve the problem.

What's In A Voice?
By 'narrative voice', I simply mean the voice of the narrator: who is telling the story? Why? And in what context? Are they speaking to the audience directly? Are they writing a letter? Is the audience an active party in the story, or are it given a camera's eye view into someone else's world? Ultimately, narrative voice defines the relationship between the storyteller and the audience.

Most narrative voice is established by its medium and a few quickly-gleaned implications. When a written story starts with a line like "Call me Ishmael" (a la Moby Dick), we instantly understand that there is a person telling the story to the reader. We understand that the narrator has their old world view, and agenda, and feelings. But when we watch a film and a camera sweeps across the Earth - like no human can do - we understand that a picture of the world is being presented to us impartially. We are invited to watch through a window.

Epistory Early Access - NOW on STEAM

Whose Voice Is It Anyway?
In Epistory, the narrative voice comes from a writer who we never see. All the words of narration - from the introductory sequence to the writing stretched over the levels - are the words this writer has written in their novel. The player's goal is to help the writer create the story: typing words and discovering things to encourage the author's inspiration.
This is a very hard thing to explain in-game: not least because we don't meet the writer. We have to inferher presence. Originally, the game's script did this the obvious way: it begins with a writer saying "I hate writer's block! How am I ever going to write this story?", and quickly settles down into the story itself, "She looked like a lost little girl". This establishes the narration as the writer's voice and ensures it makes sense within the context of the game.
This works - but it's messy because it creates two distinct narrative voices. The author's ("I hate writer's block!") and the story's ("She looked like a lost little girl"). Because we don't really know which is which, we have to infer every time - and so there's a constant dissonance. It's hard to know who is telling the story. Also, writers tend not to ask themselves questions in their own prose, so the voice may not sound authentic to player.

A New Voice
I wanted to try and do something a bit more subtle and seamless: using a single voice that represents all the narration. I've tried to do this by presenting the story as a work-in-progress and showing the writer's edits. The theory runs like this:
The game begins on a black, foggy screen. A blank canvas. Then some text appears: "Once upon a time". This is how all fairy stories start, right? The player knows that a story is beginning. But the text is quickly erased character-by-character. The story has changed, the writer's hand is revealed by implication.
The writer tries again, and this time she writes: "It was the best of times, it was the worst of times". This is how Charles Dicken's A Tale of Two Cities - the best-selling novel of all time - begins. Even if the player doesn't follow the reference (and most won't!), they should understand that the story has been restarted.
But this beginning is rejected too, and so it is also erased. The pattern has been established now: the author doesn't know how to start the story. So, third time lucky, the narrative begins in earnest: "There was a girl. And she rode on the back of a great fox.". And hey presto - the fog clears to reveal the player-character.

Voice of Reason
Because there is only one narrative voice, the player can trust that it represents the words of a story being written around their actions. We build on this start by adding more interactions which make the player aware of the author - and vice versa - by changing text as the player interacts with the world. It's a subtle idea, and maybe not everyone will get it. I expect most people won't be able to articulate it. But subconsciously, I believe people will understand that a story is being written around them by an unseen author.

Successful execution relies on two things: using recognisable (or cliched) opening lines, so that the player understands what the writer is trying to achieve (ie, the beginning of a story); and a character deletion effect, so that the player is aware that the writer is deliberately erasing and rewriting text. Sound effects can help reinforce the idea of writing and erasing, too.

This, however, is not the whole story. While we work hard to establish and contextualise the narrator's voice early in the game - we later sow in a few seeds of dissonance. Because in Epistory, not all is what it seems...




NPCs, enemies, main character, fox, and art style.

Hello guys, 

We hope that you had a great holiday season and that 2019 will bring a lot of joy. 

Let start the new year with a small recap of what has been revealed so far. 

Here's an image showing you concept art of the Poppies and the execution in 3D. 

  The world-wound festers. The people take and take. They have gone too far, Traveller…

This is the Concept Art that inspired us the banners and video teaser of the game. 

Thank you for reading! 

Have a great week. 





New Screenshots of Nanotale!

Hey guys, We have new screenshots of our game in development showing you the art style. And even if there is still a lot of work to do, things missing here and there, and unfinished textures, we can say that we are quite happy with it. I hope you will enjoy them. More screenshots on our Steam page

Thank you for reading!




New Gameplay Video

I am so happy to share with you the new teaser video of Nanotale. 
We really hope that you will like it. Don't hesitate to leave your thoughts about it below! 

Thank you and have a wonderful day! 


Nanotale, our new typing game is now in development

NanotaleTeaser_with_sound.mp4 Something is wrong with the heart of magic. Play a young archivist venturing out into a dying world, cataloging its mysteries and its wonders to unearth the truth. Nanotale is the new adventure from the Typing Chronicles franchise and the spiritual successor to the acclaimed Epistory. We are proud to finally be able to announce the development of our new typing game, Nanotale - Typing Chronicles, the spiritual successor to 2016’s acclaimed indie title Epistory - Typing Chronicles. 

Something is wrong with the heart of magic. Play a young archivist venturing out into a dying world, cataloging its mysteries and its wonders to unearth the truth.

Nanotale - Typing Chronicles is an atmospheric typing adventure RPG set in a colorful vibrant world that blooms to life under the words of Greg Buchanan [www.gregbuchanan.co.uk]. Developed by Fishing Cactus Games with the same core team as Epistory - Typing Chronicles, we can’t wait to share the adventure! Wishlist the game NOW   Weekly Updates Today is the opening of our Steam page, and with it, the beginning of us being able to talk about the project. To make sure that communication between players and devs flows perfectly, we will post weekly updates about the game on the following channels:

Nanotale Steampage
Facebook [www.facebook.com]
Discord [discord.gg] Your voice is important Many of player participated in our survey last year about those features they loved in Epistory and how they would like to see these features in our next title.
That survey has been used as a solid base when brainstorming about the Nanotale - Typing Chronicles. It helped us to capture the DNA, the essence of Epistory, to create a new game that we hope will please the community. Sometimes decisions have to be taken. Some are harder than others, but we will count on you to continue to enlighten us about what you think of Nanotale - Typing Chronicles. We want you to take part in this incredible new typing adventure with us!

Leave us your thoughts in a comment and don’t hesitate to spread the news all around you! 

Thank you!




Major Update

[font=tahoma]After weeks of hard work, we present to you the new and shinier version of Epistory. 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: Added/Improved[/font]
[font=tahoma]Mod support.[/font]
[font=tahoma]Profiles (multiple saves) support.[/font]
[font=tahoma]Steam Cloud support.[/font]
[font=tahoma]Distinction between gameplay and story language.[/font]
[font=tahoma]Splash screen only when the game launches.[/font]
[font=tahoma]Removed mouse cursor during gameplay.[/font]
[font=tahoma]Improved arena wave randomness.[/font]
[font=tahoma]Single letter words always get typed, even in the middle of another word.[/font]
[font=tahoma]Several small improvements for the map.[/font]
[font=tahoma](slightly) Improved performance, (massively) reduced spikes.[/font]
[font=tahoma]V-Sync option.[/font]
[font=tahoma]Custom mouse cursor.[/font]

[font=tahoma]Several sound errors. Please let us know if you still encounter any problems.[/font]
[font=tahoma]Game not loading on Linux when the OS is not set to English locale.[/font]
[font=tahoma]Several small bugs for the map.[/font]
[font=tahoma]Several small errors in the story texts.[/font]
[font=tahoma]Several keyboard specific patterns.[/font]
[font=tahoma]Music/effects volume preference not always respected.[/font]
[font=tahoma]Entering the "Ice Mausoleum" door without triggering the scene change.[/font]

[font=tahoma]And of course several small improvements/fixes across the board that would be too long to list. As always, we welcome your feedback and bug reports.[/font]




Loveable programming puzzle game Algo Bot hits Steam on February 14, 2018

Hello Guys,  I am happy to announce the release of Algo Bot on Steam on February 14th, 2018. Steam page for wishlisting 
Facebook Algo Bot is a puzzle game which challenges players to control the movements of a lowly maintenance droid aboard the pan-galactic colonization ship Europa. Over 46 levels, players must devise algorithms to carefully control Algo Bot’s path, borrowing concepts from the programming world - including variables and subroutines. In the rich single-player story campaign, Algo Bot meets PAL, a cantankerous and aloof line manager, and Gemini, the cheerfully eccentric shipboard computer. When a routine recycling job goes horribly wrong, Algo Bot and this unlikely band of heroes must work together to save the sleeping colonists on board the Europa. Algo Bot blends basic programming skills with gameplay to make a fun, creative and ultimately satisfying puzzle game.




Lessons learned while switching to Unity


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.
This could make a post topic by itself so I leave you with the documentation and an in depth tutorial/study

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.




It all starts with (good) intentions

The beginning
When you start creating a game. When you think you have a great idea to turn into a great game. When that idea has just been tested and when your team thinks it may become that great game you have in mind. There is something you have to do without waiting. You may have already done it during the early design process but the original vision has changed now that you made different rough gameplay tests and added new members to the team. That thing - the title already spoiled it - is defining your intentions.
Whether you call them guidelines, pillars, objectives or mantra, it is the long term vision, the global idea of what you want to do with your project. You should keep it to the essential, as it will serve as a reference to drive the whole production.
Epistory is a keyboard driven game. So that is obviously one of our intentions. But there is another one we have, not so obvious, and which came from its genre. Define the genre was needed to better define the game and communicate about it, and that is exactly why it was a problem.

The Typing Game Problem
Our core feature is the full keyboard control. So I already hear you say that we could just call it a typing game and move on. The problem is that, when I think of a typing game, I have two things in mind - and it's not just me, a quick google search will give you the same results. First, it is most likely a mini-game or an edu-game. In other words, something I do not plan to play for a long time, or to have fun with. Secondly, I will only type words. No deeper gameplay, no choices. And eventually my computer will remind me that I am not a very good typer!
Do not get me wrong, those games are not all bad - some are even really fun for a while. But they are absolutely not comparable to Epistory: the term typing game gives the wrong idea. In fact, it is probably harder to explain what we try to do with Epistory using this comparison than starting from scratch - but now that we are here, I will try anyway.

Playing a game means making choices
What we absolutely want in Epistory is to make it really feel like a game and not just a typing application. For that, we believe that it requires a non-linear experience and meaningful choices. And when I say meaningful choices, I am not talking about a big decision which follows you for the rest of the game - well, not only that - but constant small choices. A few examples in games would be taking the short risky path or the long safer one, exploring the east or the west of the magic forest first, upgrading one skill instead of another... Even positioning your car in the fastest racing game implies constant quick choices. You made them depending on the track, your opponents' position, your current speed, the ideal trajectory, and so on.
To make those choices meaningful, I try to remember that as a Past - Present - Future rule. The player needs to understand that he has a choice (Present). He has to know what it means from past experiences (Past, in this game but not only). And he has to expect something in the future from his action (Future). If it is not a meaningful choice, the player is not an actor but just obeys the game as there is no other possibility of action.
We made that one of our intentions - even if it is important in every game - to make sure it was applied to Epistory's design. I am not going to describe Epistory's gameplay deeper on this article - there are more to come, but we will not fall into the trap of your ordinary typing game.

A keyboard controlled adventure
So Epistory is an exploration / adventure game, and we like to call it like that. It gives the player the opportunity to explore an imaginary world, use magical powers to interact and fight enemies, and upgrade them as he wants.
You should see the typing aspect as an opportunity, not a constraint. Because that is what we did: using a keyboard as the unique game controller to create new gameplay experiences. Not only to type words, and not only to earn points. We like to say that you will type the story - but that is for another article.
Thanks for reading. Don't hesitate to support us on social networks.

We are on Facebook
We are also on Twitter

Website coming soon




How extra budget can increase your visual quality... and put you into troubles

[color=rgb(51,51,51)][font='Trebuchet MS'] [indent=1]This article shows the difficulty of maintaining Art Direction consistency on a project when its scope and visual quality suddenly increase during production! First, we'll explain the assets creation guidelines we decided at the beginning of the project. Then we'll see how quality problems emerged as the production budget increased, and how we dealt with them! Art constraints for small budget [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]When we started the production of Epistory (codenamed "The heroine of no tale" in those ancient times), the sales expectations were quite low because we thought we were targeting the niche of typing games. We already wanted a unique art direction, made of unfolding environments and paper-crafted items, but the budget constraints made us humble concerning the visual quality of each asset. So we ended up with those production guidelines to create game assets : [/font][/color]
Simple geometry
All assets using the same multi-usage shader
No complicated texture mapping (basic planar UVs)
No unique texture per asset, only generic colored patches gathered in a few textures

[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]Despite our small budget, all those assets put together created a simple but pretty cool look : [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]Those constraints made us 3D artists sad but it should have allowed us to make all assets and environments in time for the game release, so we were quite happy with it! But that was before we started communicating on the game... [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]Change of scope [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]The art team was producing the first levels of the game, and we started to spread some images and videos, building the community. At that point we understood that something was happening, youtubers were talking about our game, forums and conventions gave us very positive feedbacks. Our little typing game was becoming pretty popular, people were really loving it! The first round of Early Access conforted the first impression. As thousands of people added "Epistory: Typing Chronicles" into their steam wishlist, we realized that instead of making a funny but small scoped typing game, we could scale things up. We decided to transform it into a unique story driven adventure game, with lots of dungeons, collectibles, a scenario written by a real professional writer, and even give a voice to the narrator. [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]As the deadlines were pushed to 2016, the art team jumped at the chance to put more visual quality into the game! [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]New quality standards [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]We wanted to make the most of this extra production time, and we put more details into the new assets, so we basically took the opposite of what we were doing until now: [/font][/color]
More interesting paper-like shapes for the geometry
More and more complicated shaders
Clean unfolded texture mapping coordinates
Unique textures per asset (or one texture for the same group of assets)
A subtle but efficient vertical gradient (the base of the asset is darker than its top)
With unique texture coordinates, we could paint paper folds, and add details like hand painted highlights on the edges and Ambient Occlusion (darker color at the junction between surfaces)

[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]On those two images it's easy to spot the quality gap. You can notice the polished shapes and the greater work made into the textures, which add a lot of depth and details to the assets : [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]The production time was obviously far longer than the old technique, because for EACH game asset, we had to unfold clean texture coordinates, calculate the Ambient Occlusion pass, calculate the vertical gradient, paint the edges highlights and details into the texture,... [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]We also put extra time to the environments creation process by adding an "artist layout pass" to polish each dungeon, and by working more on the lighting setups and effects. And the overall visual impact was far better than before! [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]The problem was that we quickly found out that the "old" assets looked dull compared to the new ones, but we couldn't afford redesigning all of them... [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]Assets wars [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]With each new asset being prettier than the last, we soon spotted a problem in the consistency of the art direction and assets quality ! [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]There was too much difference between the old "flat" assets and the new "detailed" ones : [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]Unfortunately the budget was not so big that we could afford redoing all the former game assets to match the final style! [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]That unexpected constraint gave us the idea of showing a progression in the art style through the game, and we implemented a chronological progression into the overall papercraft quality of the adventure. That is to say the first part of the game is made of more basic shapes, and the quality of the papercraft technique evolves to be more and more noticeable as we progress into the game, following the steps of humanity evolution: [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]1- At the beginning, as the world unfolds for the first time, you will see the "basic" objects in the "nature" theme [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]2- Next, in the first dungeon you will be able to spot some prehistoric assets, made of archaic papercraft assets [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]3- As you continue your journey through human evolution, papercraft techniques evolves to show ancient civilizations [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]4- Later, you will travel through complex origami buildings, and much more, but we won't spoil you the pleasure of discovering it in the game! [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]We managed to add a real meaning to this papercraft evolution, but still we decided to redesign several old assets to match the quality gap. We've done this only for the assets we could see all over the adventure. Moreover, by doing those important assets prettier, they would be easily noticeable at the beginning of the game, where the assets are simpler, and better integrated in later dungeons, where the assets are polished. [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]The combat, exploration and teleporter tiles redone from scratch: [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1] [/font][/color]
[color=rgb(51,51,51)][font='Trebuchet MS'][indent=1]The conclusion of this article could be that it's far better to know the scope/budget BEFORE beginning the production process! If the scope suddenly increases, you will have to choose between more content or more quality, but keep in mind that most of the time you will not be able to use a trick like we did, and you will end up redoing all of your assets from scratch! And as artists will always tend to increase quality if you give them extra time, do not forget to keep an eye on them! [/font][/color]




Handmade vs randomized level design in Epistory

Handmade vs randomized level design in Epistory
The constant dilemma between more control (but time consuming) and more automatism (but never perfect) in Level Design, and how tools can help.

The problem
As in most puzzle / adventure games, Epistory's level design, is designed manually from the world layout to the smallest puzzle. But to save time and money, we need the automation of everything else, like generic and repetitive patterns or effects that give life to the world. That is what this article is about: the level building of all the things that are not unique or designed for a specific purpose.
A good example of that is the placement of every tree in a vast forest. We know what we want (a group of trees), where (a delimited zone), and how (dense and diversified). So we have parameters that could drive a procedural generation of trees. By the way, game engines have similar tools for vegetation generation.
But in the same time, we want to draw a path in that forest with a specific level design, and the trees' shape and position influence that design. This is where lies the dilemma: a full control allows us to place each tree as we want but takes a lot of time, and a full procedural gives results that will never be perfect.
If you want a metaphor - everyone loves metaphors - imagine you are drawing a diagram or taking notes. If you use one black pen, the result is not as clear as if you use a color code. But if you have full rainbow pens at your disposal, you are always tempted to choose the right color for the right thing and, inevitably, you lose time. Limitations can have a positive effect, be it saving time & money or coming up with creative solutions.

Our tools
Before explaining our solutions to that problem, I need to talk about the tools we are using and a bit of our level building workflow. Epistory's level design is tile based and we use the Tiled editor, which is perfect to prototype, create and edit tilemaps really quickly.
The essential criterias when choosing a tool are its usability and the level of control it allows (or in reverse, its constraints). Of course there is also the cost to buy or develop that tool, but I will not talk about that aspect here as I am focused on design (plus Tiled is free and Unity plugins are relatively cheap).
You can get used to Tiled pretty fast and come up quickly with a rough prototype. It saves you time while doing repetitive tasks and is easy to edit. In sum - as long as you stick with tiles - its has no big usability flaw.

So I start by creating the map with Tiled. But the game is in 3D and developed on Unity. So here comes theTiled to Unity plugin that uses the exported tilemap to generate the level in the Unity editor. It simply places the right 3D asset at the right place.

For more specific features, we modified the plugin source code to add more functionalities. An example: when you progress in the game, new zones of the world will appear. So we need to be able to delimit those areas. The easiest way to do it - from a level designer point of view - was in a specific layer on Tiled. So the plugin can also add the generated tiles to a tile manager, and determine to which zone it belongs from that "Zones" layer.

Finally, I place interactive elements and puzzles manually in Unity. It is easier and more editable this way because they all have specific behaviors and parameters. Unique decors used as landmarks and localized visual effects are placed the same way at the very end.

Some solutions
Controlled randomness
In my opinion, the best solution to the "control vs automatism" problem is the more obvious one: a random (or procedural) generation in the editor, which is corrected manually only where it is needed. Note that the random aspect only exists in the editor, it cannot be regenerated in game. As long as you do not change everything, that controlled randomness has a good time / quality ratio.
For a concrete example in Epistory, I will use the example of the forest again. I use the random mode on Tiled to randomly paint with elements from a selection. Then I change some of them manually in Unity if it creates strange looking patterns. I try to have a continuous border for smooth collisions. And I place a few mushrooms, again with a bit of randomness.

Localized procedural
Another solution is to use a more ordinary procedural generation but limited to a very few parameters and/or a small area. Here the randomness happens in game, but not on the key elements of the design. That localized solution allows a correct placement at macro scale without having to place small elements one by one.
In Epistory, we use that method to spawn critters. Potential spawn points are defined and only some of them are chosen a game start. They are not always at the same place but always at a suitable one.
There also are large zones in which groups of particles are randomly spawned. That lets us quickly define the areas in which you will find butterflies, fireflies, fog and so on.

Item variations
Finally, only one attribute of an element can vary randomly. This way, you can use item variations that keep - for example - the same size and function in game but can look a bit different. You do not have to bother about the small variations if they do not affect the design.
On Epistory, we made little use of that but we consider adding variations like size and texture for trees and rocks, rotation on tiling textures, ripped paper effects on some tiles, and so on.
I am sure there are plenty of other solutions and applications to them. I hope that you found those ones interesting and that they could be useful elsewhere.




Fun with bones in Unity

[font=verdana] The inception[/font]
[font=verdana]A while back, after slowly becoming mad tweaking animations and movement behavior on our avatar, I decided to have some simple fun with Unity. See where the limit was and what's possible in a certain domain. Since I was obsessed with the character's animation, my attention was driven towards improving what our animator gave us in terms of natural movement. Even though the animations were quite good, I wanted some physics madness in there. So I went on a quest to mess with the bones of mecanim.
It turns out it's rather straightforward to activate the so called "jiggly bones". A few changes in your model before export does the trick. It does however require a great deal of value tweaking and physics engine know-how. You may follow this tutorial if you want to try it for yourself.
Here's what I could do as a quick 'n dirty test. This will *not* be in the game. Even if the effect could be nice, It is at the bottomest bottom of our priorities.[/font]

[font=verdana]But doing this as a playful "what if" helped me learn a lot about how Unity works with animations and physics. Even better, I would never have thought of what I'm about to show if I hadn't gamed the system.
A few days later, the movement and animation finally polished, I found one last thing I could do, turn the head of the fox in the direction of where the avatar will go next. Providing a subconscious feedback on the movement. Using the head bone and overriding the animation, it should be possible. Right?[/font]

[font=verdana]It turns out it is. This gif was taken when a bug prevented the fox to move or turn so you can clearly see that the head orientation is overridden (and a bit disturbing, sorry).

How to do it[/font]

[indent=1][font=verdana][color=rgb(51,51,51)]First, you have to get a reference to your head bone:[/color][/font]private void Awake(){ HeadBone = /*find the headbone in the hierarchy*/.transform;}
[indent=1][font=verdana][color=rgb(51,51,51)][color=rgb(51,51,51)]There's nothing to do to your model. All you have to do is use the LateUpdate function which is called afterthe internal update of the animations.[/color][/color][/font]private void LateUpdate(){ Quaternion look_at = Quaternion.LookRotation(Direction, new Vector3(0.0f, 1.0f, 0.0f)); look_at *= Quaternion.Euler(-90.0f, 0.0f, 0.0f); // Our models are rotated HeadBone.rotation = look_at;}
[indent=1][font=verdana][color=rgb(51,51,51)]You can do all sorts of crazy stuff with this.[/color][/font]

[font=verdana][color=rgb(51,51,51)][color=rgb(51,51,51)][color=rgb(51,51,51)]The result [/color] [/color][/color][/font]

[font=verdana][color=rgb(51,51,51)] [color=rgb(51,51,51)][color=rgb(51,51,51)] [/color] [/color] [/color][/font]
[font=verdana][color=rgb(51,51,51)][color=rgb(51,51,51)][color=rgb(51,51,51)]Here you can see the result in game. Slowed down on purpose to make sure it's seeable in a gif. The effect is very subtle but you can see that the head will always point to the right direction (almost instantly) and the body follows soon after.
The next time you are frustrated with a particular task or simply bored out of your mind after a day of repetitive tweaks. Do yourself a favor and just play with the tools on your workbench. Who knows what kind of gem you'll unearth.[/color][/color][/color][/font]




Fonts of Wisdom: Choosing Typefaces for Epistory

[color=#333333] Choosing a font is never easy and for Epistory, it nearly drove me mad. We didn't have to find only one font, but [/color][color=#333333] three. Three fonts that needed to match together, follow constraints and have their own identity. [/color] [color=#333333] We had just a few constraints: [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]To support a wide range of symbols (French, Portuguese, Polish accents, Russian symbols...) [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]To always be easily readable [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]To give an idea or a hint of its purpose [/color] [color=#333333] ...Simple. [/color] [color=#333333] Typing Font[/color]
[color=#333333]The first font we decided to work on was the typable one: the font that will lead players through the game and on which the gameplay relies. The difficulty was to have a font readable on which we could add different kinds of feedback: such as the kind of magic needed, the right magic selected and so on. [/color] [color=#333333] We also wanted to suggest that the font belonged to a book, so we chose a font with serifs. "Optimus princeps", already used for the subtitle in our logo, was our first selection but there were too many missing symbols. [/color][color=#333333]Instead, it became our reference for our future selections. [/color]
[color=#333333] Serifs turned out to be a bad idea. The problem we encountered with those fonts was that they were not easy to read at all. I'll spare you from all the steps we passed through because it will be a long and annoying description of research. Instead, I'd prefer to simply explain why we choose "YanoneKaffesatz". [/color] [color=#333333] At first we added constraints in order to determine with precision our needs: [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]Find a vertical font that allows us to add long words without taking too much space [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]Simple, no serifs, no extravagance to increase the readability [/color]
[color=#333333][font=symbol][size=2]. [/font][/color][color=#333333]Large enough for adding FX (but not too much) [/color] [color=#333333] After that, our decision came naturally. We forget it too often, but sometimes "feeling it" is the most important way. [/color] [color=#333333] Feeling the Font[/color]
[color=#333333]When your brain drives you mad with all its "what if", it's time to turn it off and focus on what the font makes you feel. [/color] [color=#333333] The "YanoneKaffesatz" was, for me, the perfect font for many reasons. The regularity of the letters suits to a "book", to a story, and the roundness feels "womanly". Eech letter is readable, serene... perfect for when half-dozen monsters come to you. [/color]
[color=#333333] For the main story font, which appears drawn on the world, our research didn't last as long as for the first font. We noticed quickly that "Kingthings Petrock" would suit to our needs. Like "Yanone", it was large enough to be readable in the bright grassland as well as in the dark cave, not too fanciful, but it also has the style of an illuminated manuscript, suits the story we wanted to tell. [/color]
[color=#333333] The Secret Font[/color]
[color=#333333]Our last font one keeps a secret... it's a whisper, it's like it isn't really there and as soon as you see it, it's already gone... [/color] [color=#333333] I chose this one only by instinct. I wanted something womanly, something personal, handwritten but not conventional. It had to be attractive... and disturbing as well. When I found "luna" I knew right away that it was the font I was looking for. [/color]
[color=#333333] With Unity, I added some effects to this jarring, mysterious text: a little cloudiness that makes it less material and increases the impression of strangeness. The reasons why I chose it are pretty much spoilers so I won't expand on that subject. [/color] [color=#333333] I spent weeks - maybe months - on these choices, but I've learned a lot. Principally to trust myself. I've done my best on it and sold a part of my soul for the game. [/color] [color=#333333] In the end I hope that you'll enjoy the experience - because that's what really matters. [/color]



  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!