January 12, 2014

Creation of Tera Island

Hello there,

Sorry I didn't have a lot of time after releasing the last demo, but now I can post a few explanations of my last month work. In this post, I focus on the creation of the hero home island, named Tera (for the moment at least).

I - Getting the idea


As usual the most difficult part is to get a clear idea of what the island looks like. That's why, in the video game industry, some people focus only on this job: the designers. Very often, everything starts from a painting showing the major features of a landscape and the main mood. In my case, I only made a few doodles to get the basic idea. Once the bacic shapes are set up, everything else is polishing.



A few digital sketches laying down the main idea: a ruined/partially destroyed house. As you can see, all the sketches are not perfectly matching. I try many things and I keep only a few ones.

I also use traditional drawing. The nice thing about it is that I can draw anywhere on a moleskin if I'm not at home when having an idea.

So, after making all these sketches, I ended up with the hero home being a former library partially destroyed. I like the idea of a library because I can add many books leading to various side-quests. I also want the hero to share this shelter with other people who may help him. I'll talk about that later.


II - Modeling and texturing


Once the concept is done, I use Blender to create the full 3D model. There are 2 major works in here:
  • I have to create something visually nice, by playing with textures and geometry, by avoiding obvious repetitions, by inserting various little items to create a lively house... This is the "artistic" part.
  • I have to think about the way the player may interact with the decor: is the door wide enough for the character to go through? Can the hero jump high enough to pass through windows? Can he climb this wall? This is the "technical" part. 

How the hero home looked after the first day. Not brilliant...

OK, it's getting better, but there is still a lot of work!

The 2nd ("technical") point is very tricky, because there are so many complex geometrical configurations that may arise from the artistic creation that I can't assure the character will always behave correctly everywhere (the algorithms controlling the player moves are far from perfect). Of course, I make a lot of tests to check that every move is OK in cluttered places, and I have some technical guidelines for 3D modeling (avoid small walls, try to keep at least 1m between various stuff...), but this isn't enough. That's why testers are really helpful on this particular point!

The actual look of the hero home (in game)

Furthermore, some items are interactive and may behave differently according to the player actions. And, of course, I must test especially the actions I wouldn't think of, like what happens if the player attacks a wall while trying to jump near a swinging lantern? There are an infinite combination of such unlikely (but not impossible!) actions that it can't possibly be all tested. Another huge burden about this technical part is that if I change (for example) the jump height of the character, I should theorically test again every place of every level already made.


At this point, I have something playable and not too harsh on the eye, but I should really add more items (jars, books, decoration here and there, etc...) and refine texturing and modeling to make the place more believable.

Carpets help to break the monotony of the wooden floor.


III - Temporal variations


Once the place was created, I realised I didn't think at all about the evolutions it could go through... According to the story, the game starts after a storm that broke the wooden pontoon joining the hero home to the main island of Tera. This is of course a gameplay trick to prevent the player to go to the main island where there will be side quests, and to force him to accept his first mission before going further. But once the first mission is complete, the pontoon should be fixed. This means that levels/decors are dynamically evolving according to the player actions.

To tackle this problem, I subdivised all levels in a "static" part and a few "dynamic" parts loaded only if the player accomplished some particular actions.

A broken pontoon, at the beginning of the game

The fixed pontoon, after the first mission.


So that's all for Tera Island. In the next post, I'll talk about the new characters, and how I made them. By the way, thanks to anybody who tested the last demo, I got nice feedbacks, and a lot of things to correct! See you!


January 7, 2014

Mail subscription problem

Hi,

It seems that there is a problem with the mail subscription. This post is just a temporary test to solve the problem. You can still try the demo and give me a feedback to improve it :)

Peace!

January 4, 2014

New characters: Tal and Terry


During the past month, I added 2 new characters to the game:
  • Tal, the hero friend/sidekick that helps him during the missions
  • Terry (and his brothers), the guys running the earth-ship business, enabling you to travel between the various islands.

I - Tal


While creating the new Tera island, I wanted the hero not to be alone. So I worked on a few friendly characters that may help him. I started writing down a few notes on a simple text file to have the basic style/look/behaviour of those characters. I found out that working with text files is quite nice. You don't have to write perfect sentences, you can only write a few evocative words that help you to exactly visualise a place or a character and it's very fast! I use tons of text files when I have to think about the story, characters, levels, tutorials, items, bonus, ennemies, planning, gameplay... Some are huge, other are very short, but all are "alive": I constantly add/remove/change/correct stuff.

A part of the character files, in French (sorry I'm more at ease with French when it comes to quickly write down ideas), with lots of mistakes.

For the hero sidekick, a girl named Tal who can communicate with him at any moment, I wanted a computer/mechanical geek girl, quite funny, who sometimes makes laugh of the hero (this may only be seen in dialogs, I guess). I ended up with the following character:

You may see that it's not a perfect match with the description in the file, but that's not a problem. The description is just here to help me getting started.

Of course while creating a new character I always go through the same process: concept, modeling, texturing, animation, behaviour. All are done in Blender, except the last one, which is actually coded/programmed in Unity. If you're curious about the character creation process, you can check out this tutorial I made a while ago.

The behaviour can be quite difficult to code, because it heavily depends on what the player (you!) has already accomplished. For example, when you talk to Tal, she may speak about the storm that broke the pontoon, or your last mission, or may react to something you just found. And of course, the more missions/possible actions, the more dialog lines she may say.

Tal, in game.


II - Terry 


Terry is one of the guy running the earth-island posts. You can talk to him to go from one island to the other. I wanted the kind of cool blond surfer guy with a tribal tattoo. For the concept, I didn't use a character file, because he's a quite secondary character, and I didn't have to think too much about his background. I made a simple drawing:

A simple sketch of Terry

Which ended up in 3D:

Terry the earth-island guy


For the behaviour, I was faced with a new problem: the player has to answer during dialogs (choose a destination), and has to pay to travel. So I modified the dialog system in order to add possible answers with associated actions. This complicated seriously the dialog tree! By the way, I also used this new dialog system for selecting tutorials on the thief guild island. This finally rised the dialogs to 100 lines, and the translations to 200 lines (not all translations are in dialogs).

Oh... and a rather practical consideration: Terry stays at the main island earth-island post. Thus, he can't be on every island at the same time. So, I decided he'd have brothers on each island to manage the local earth-island post. Thus I had to code some dynamic name changing according to the location.

The earth-island post of the pirate warehouse island.


III - Various stuff 


In addition to the previous stuff, I also worked on various "little" things:
  • A cutscene to present Tal, and the hero home the first time the player is on Tera Island
  • 2 additional tutorials at the thief guild, enabling you to learn how to use the Bo (to fight) and the slingshot (to shoot little stones)
  • A specific font to make the world more believable. I used it on Tal computer screen, but also on signs, and I may use it on other places as I keep on adding stuff.
  • A new interface (HUD) to see the mission list
  • Real credits, with your name inside if you helped me in a way or another ;)
  • A new skin for the website. But I think you already noticed ;)

So that's all for now. See you soon!


December 23, 2013

World of Thieves - New Free Demo

And here is the last demo of World of Thieves, a 3D adventure/stealth game between "Zelda" and "Beyond Good and Evil". Don't hesitate to test/share/reblog/comment/like if you want to help me!



This is the end of December demo!This is the first "complete" demo, with all levels built together, and a global (simple) story going on. And from now on, you can complete an online survey to tell me about the game.

Controls:
  • QSDZ or arrows: move the character. By default it's AZERTY-friendly, but you can change the config in 5s on the splash screen.
  • space: jump and climb
  • mouse move: move the camera
  • mouse wheel: zoom
  • left click: attack
  • multiple left clicks: chain attacks
  • hold and release left click: mega attack
  • hold right click: aim with secondary weapon
  • release right click: shoot with secondary weapon.At the moment, you can't shoot while running.
  • E: weapon menu (useless in this demo)
  • A: mission list
  • Tab: head up display of the map... if you have one.

There are four weapons (but only the bo and the slingshot are effective in this demo):
  • Bo (woodstick): basic melee weapon
  • Slingshot and stones: use it to catch the attention of enemies. 
  • Bow and arrows: to make enemies sleep.
  • Graple: useful to get onto unreachable walls.

Easter Egg: OK... That wasn't intended but there is still something quite funny to discover in the title menu... Beware it's quite difficult to find

Bug hunt and feedback: As usual, contact me for bugs or any feedback.

Have fun! Peace! and Merrrrrryyyyyy Christmaaaaas!

December 2, 2013

First stealth level

After this week demo, I will talk about little enhancements and the creation of the first stealth level in a pirate warehouse!


I - Little enhancements

  • I added a new screen for object discovery: the first time you find a casual item or every time you find an important item, a little screen pops up to explain what it is an how it works, with a little animation of the item.
 The new item discovery screen
  • I also tested to add a cast shadow everywhere, just to see the effect. Maybe it won't make it until the end, but it's not too expensive to test (in terms of work). This made me discover a lighting bug: there is some light flickering when the sun sets down and the moon raises because Unity only renders shadows cast by the most powerful light. So I had to smooth light transition between the sun and the moon.
  • Then I wanted to work on the graple animation of the character, because it's the only one that hasn't been set yet (even if only in a rough state). I had a very hard time designing the graple itself, to the point where I gave up because I was losing too much time on it. Maybe later... But I set up the basic aiming and flying animations, which makes the trick already.
 I belieeeeeve I can flyyyyy : the graple animation! (This item is not usable in the demo...)

  • And finally I worked a bit on the AI of the enemies: I added some reaction when they see one of their colleagues down. So now, they can check out the fallen guy and look around if they spot you. The problem was that I wanted them to remind which guard was down, otherwise, they would check each time... So I implemented some kind of relatively simple memory to avoid this stupid behaviour.

II - Item creation and level design


Another big part of this month work was to create items, including modelisation and texturing of simple objects: nets, pontoons, lanterns, various wood stuff, ramps, ramp poles, chests, doors, switches, keys, ropes, apples, map, ...  But, of course, modeling a door and a switch does not make them interact together. So I coded "simple" (and obvious) systems to make a switch open a door, a chest give items once opened, an apple restore life, ...
 
Aaaah! Lantern and fireflies... :)

Meanwhile, I gathered all those items to construct a "simple" level. I wanted to create the first stealth level (even if you can fight against the enemies). By the way, it would be the first level with pirate enemies. In order to create this first level, I made various logical schemes (even if not very complicated), and ended up with a simple level design: a warehouse secured by a magnetic key where pirates keep their stuff. I added 2 other "big" buildings around to make it more believable: a restaurant (where the guys would eat) and a dormitory set up in a former sailing ship (for the pirate-ish look). I wanted wood, sails, nets and ropes everywhere to accentuate the style.

Once the basic idea was established on the paper, I created the level in Blender using it as a level editor rather than using Unity 3D (which is supposed to have level editor capabilities), because I found out that object positioning is not that precise in Unity. Moreover, and most importantly, I can't model objects in Unity, I can only copy and instantiate objects already modeled in Blender.

The level in Blender. I used a lot of "empty"s with special names to create all the "complex" objects (hero, enemies, doors, chests...) that will be replaced in Unity.

So, I enhanced my simple script dedicated to parse a level created in Blender to partially convert it into smart objects inside Unity (I already talked about this basic blender editor stuff here). I had to find a way to give "parameters" to objects in Blender that could be reinterpreted in Unity, for example: a parenting link is used to represent the key-door relation, a simple tag in the chest object name describes what can be found inside, same thing for a map point name, etc...

The level once imported in Unity. Complex objects are not replaced yet.

The level in Unity after replacing all the complex objects.

But... actually finishing the level (or at least polishing it until it had a nice look) took quite some time! I had to place more than 1800 items in this level! And it's really not big... Creating content may be longer than I expected... :p

See you next time!
Peace!



November 29, 2013

World of Thieves - New Free Demo

And here is the last demo of World of Thieves! It's a 3D adventure/stealth game between "Beyond Good and Evil" and "Zelda".


This is the end of November demo! I'm still quite unsatisfied with it... :( There are still crazy bugs in the climbing system and this first "stealth" level is not finished yet (so, once you found the red magnetite, there's nothing more to do except exploration). And the usual posts are coming to explain how this is done.

Controls:
  • QSDZ or arrows: move the character. By default it's AZERTY-friendly, but you can change the config in 5s on the splash screen.
  • space: jump and climb
  • mouse move: move the camera
  • mouse wheel: zoom
  • left click: attack
  • multiple left clicks: chain attacks
  • hold and release left click: mega attack
  • hold right click: aim with secondary weapon
  • release right click: shoot with secondary weapon.At the moment, you can't shoot while running.
  • e: weapon menu
  • tab: head up display of the map... if you have one.

There are four weapons (but only the bo is effective in this demo):
  • Bo (woodstick): basic melee weapon
  • Slingshot and stones: use it to catch the attention of enemies. 
  • Bow and arrows: to make enemies sleep. You need 4 of them to stun an enemy
  • Graple: useful to get onto unreachable walls.

Easter Egg: OK... That wasn't intended but there is still something quite funny to discover in the title menu... Beware it's quite difficult to find

Bug hunt and feedback: As usual, contact me for bugs or any feedback.

Have fun! Peace!

November 27, 2013

Gameplay video - Pirate warehouse


Here is another gameplay video of World of Thieves. This time, it's the pirate warehouse level. If you plan to play the demo, don't watch it, or else it will spoil you what you have to do.