Tuesday 15 December 2015

Another technical stuff

Well I will be sincerely: like always in such a weeks I struggling with writing post for you. And it's not because we didn't done anything in this past week it's complete opposite. We done a lot of really cool stuff like:
  • continue discussions and designing of remake,
  • upgraded layers on levels,
  • improved code for rendering,
  • created nice system for building of externals libraries,
  • ported project to vs2013 the way that vs2010 still is usable,
  • some refactoring in core of game engine,
  • removed some bugs from code,
  • and a lot more small stuff.

I think that for project this was even better week than few previously ones but still writing this post is not easy task. 

Mostly because how to write about stuff that are not easy to explain to normal people ? I see this really well when I write about stuff I do in coding to Alejandro and he just answer me: I don't understand what you writing to me.

If artistic side of project is easy to show the technical one is the problematic. Like in all kind of works there are different kind of tasks:
  • There are stuff we want to do for comfort of our work. 
  • There are other which are preparation for some bigger stuff.
  • There are this which we must to do.
  • The last one are this which are just cool and we want to do them :) 
Difference is that even if there is big change it may end in hard to notice results. So we could of course show you version of game compiled in vs2010 and vs2013 (even the 64 bit version for 2013) but what is the point? They look the same.

The same with rendering stuff. We done better resources management and manual synchronization of GPU and CPU. This sound cool and have a lot of nice things to offer from technical point of view but at this point this is hard to notice in video (To be funnier at some point it could be noticeable in slower FPS but we already fixed that).

There was also building of external libraries :D this one is hard one. I spend more than 4 hours to find a way to compile visual studio project with dependencies using msbuild tasks. Then I spend another few hour  to figure out how to set pdb file name for bullet physics using cmake (without modifying original config file). All of that resulted in one script which I call and it build and redistribute projects for vs2010 and vs2013 in 32 and 64 bit version using original not modified source code of libraries. I'm personally really proud of final result :]

So as you see we can write really a lot about stuff we do even in weeks like that. But is this interesting for you? I'm not sure but well maybe I'm wrong.


Sunday 6 December 2015

Blueprint returns

Some time ago we were writing about blueprints. We shown then remade pharmacy rendered from blender. This wasn't for sure the best representation how game will look but it allow us to quickly shown you what level we want to create. This time we will explain why we use blueprints.

So let's first start from the interesting part:

If you compared original blueprint with what you see in this movie you will notice differences. Some of them are visible some other not so much. The one which is probably not so obvious is size. What you see here is 125% of original blueprint (Sadly I forgot to record version with original size but well you need to believe me).

We decided to resize it because previous size was dangerous for gameplay. AI and physics don't like cramped places and prefers more spacious environment. So we just increased size of building and here came with help blueprint construction. 

Blueprints like we mentioned previously are:
They are simple representation of world and they will stay like that for some time :)
When we starting redesigning of levels we had big problem with creating anything. We couldn't start at all. After talk with few friend who working on Level Design (LD) professionally I decided to try really naive approach. We created everything from boxes of different colors. 

Results were great. Quickly we forgot about all this technical aspect of modeling and jumped into designing levels. What for some were few green boxes for us were trees, bushes, blue boxes created walls and so on and so on. 

The best was speed with which new levels are created, speed of changes in design and the fact that finally we could start writing story of game. What will happen, how player can move around, what will be vibe of location, what kind of person living in given house.

In the end some of you may be afraid that because all this changes this game won't be LBA anymore. But I can assure you that we put really a lot of effort into having the heart of Little Big Adventure into it.


Wednesday 2 December 2015

One Man Project ...

Last months bring a lot of changes to Little Big Adventure Remake. About some of them you know, other are still secret. But all of them giving hope on quicker finishing of project. 

This post bringing another good news. I'm glad to welcome in coffemonsters team:

He is really skillful artist who will take into his hands 2D side of the project, designing of character and universe. If you don't believe me that he is so good check Concept Art in this post that he done especially for this occasion :) I seen already more of his works for project and I need to tell you that I'm really excited about what coming.

Thanks to Alejandro help I will be able to focus more on programming, modeling and generally more technical aspects of project.

So summarizing  Little Big Adventure Remake as one man project no longer exist :]


Tuesday 24 November 2015

So what next ....

This week there won't be anything fancy like last week :] There won't be movies, won't be bugs just one screenshot from editor which probably won't tell most of you to much. But for this interested this is visualization of my Cascaded Shadow Maps implementation:

Nothing too fancy :] Three colors that you see on screen mean that given geometry will  be using different shadow maps. Pretty basic techniques in current games.

If you think that this look weird then you are right. This is just visualization of first part of work, there is still a lot of issues and artifacts. The rest well wait till I finish small changes in render system. I plan them for some time and thanks to this work I had finally occasion to do them :]

So see you soon with another bunch of development news.


Tuesday 17 November 2015

Basic locomotion system

This week started really nice :] After all this weeks without working game there is once again some basic locomotion system :] Some part of it are already better then previous one some other not but well slowly project will get to position where this everything will work nicely.  

In new movie you can find how new animation system look and some bugs I was dealing with:

Of course this is only begin and in future there should be a lot new stuff.


Saturday 14 November 2015

Another boring post ....

Weeks of works silence in development and trying to convince you that I still work on project :] I wouldn't be surprised if some of you lost hope for it. But well such a life of lonely Developer...

... but maybe not so lonely anymore. Even if I still do most of stuff alone I start to see that I'm surrounded by people who supporting me with they work, time and supporting words when I need them. For all of that I'm really grateful. 

From the fog of silence ..

Today I can finally show you some more effects of my work:

This is of course still really early state. I control character using game pad which I use to trigger different behaviors. Character don't move because there is still not recovered movements in game (this will be my next goal) there are also missing animation events. But right now all of this is not so important I'm happy that I finally started to use new system in game and wanted to share this little joy with you. We will slowly get to level where game will work again.

For this who are interested in development details this is animation graph that I using for this presentation.

For this who are curious what I think about this tool: I think it's shitty like hell. With this screen I wanted to show you just idea behind it. In reality this is early prototype I use to figure out what I will need to manage system and how I want it to behave. 

How to play ?

This is second thing I started working on. What kind of control scheme you would like to see in game? What control devices you use? Is this x360 pad, keyboard, keyboard + mouse, mouse or something else ? Do you have some games which you think are great reference for control in Little Big Adventure Remake? I would really appreciate all feedback.

The last thing (but not less important).

Progress/Planning pages. I was changing my living place somewhere around that time and I completely forgot about it. It wasn't updated in months ( Why none of you complained about this ;( ? ). 

I will try to bring it back to life but this may take some time because I need to iterate over all 207 check-in logs to figure out all changes :/


Thursday 12 November 2015

Dr. FunFrock

This who with Twinsen saved world or two know who FunFrock is. For this who don't know he is this evil professor who created clones. Thanks to them he started ruling world. But even this wasn't enough for him. Why? What he was searching for? Is this important in the end? He is the bad guy ! Who look like that:

If all his deeds weren't enough: he kidnap Zoe. Your beloved one. Why? Even after all this time I don't know. What was the point of sparing her life? He even dragged her to Sendell's Well? 

What I suspect she could be key to all what was hidden there. But why and how I won't tell now. You will need to wait till the release of the game. There you will find the story parts which you still don't know.

Thanks a lot for my Great Art Master Teo Yong Jin for this really inspiring picture of FunFrock.


Monday 2 November 2015


This post suppose to be continuation of last post but who cares :] we will return to that topic on other occasion. This post will be about stuff on which I thought recently:

What kind of hero should be Twinsen ?

In theory Twinsen already exist in game but in practice like I mention earlier it's just a sketch to which I would like to add some more soul. Alone I won't be able to make this wish come true. But with your help this may be possible. So help me and tell me why you like Twinsen as hero and what cool stuff you would like him to do in remake ? Your answers will allow me to recreate him in a way he will be hero of us all.


Monday 26 October 2015

Small update.

This time not long but I'm in meantime of doing animation graphs. I finally got to sweet spot where I'm satisfied with the way I support it and can move forward with whole system :)

Not long ago I shown some low resolution screen shoot of my wiki. You could see there some iteration over maps and buildings. One thing is sure you couldn't see there too much (That was the plan). There was even nice reply:
Looking good! Do you have a link to that wiki page with all the Citadel Island iterations? Looks interesting.
Today I fill this gap a little bit and show how I plan Pharmacy to look in Remake:

Pharmacy building
(Blender render)
Why only pharmacy ? Mostly because I don't want to spoil too much :) Anyway all the iterations you seen on my wiki have similar look to this (I like to call this blueprint model). They are simple representation of world and they will stay like that for some time :) If you curious why I will explain this more in details in next post :)


Monday 19 October 2015

New life of Twinsen

Last two post mentioning my design process but I never talked about it :) This is good occasion to show some of work I already done to bring back Twinsen to life in HD :] 

Twinsen from original LBA
I don't know about you but for me Twinsen is mysterious character. Everything starting with unclear movie showing end of world. Then we are thrown into escape, reunion with Zoe and here capture. So Twinsen become hero and save beloved. Somewhere in between all that he saving world. Because why not :]

Let's not forget also about his weird house and ancestor Hégésippe which was killed by pirate LeBorgne.

When you write it like this this is complete absurd story. But this is what impress me in the game: with this amount of information when I was finishing game I felt connection with Twinsen.

Sunday 11 October 2015

Comments reply ...

I started my reply to second comment in post In the end ... but it came out a little bit longer than I initially thought. Because of that I decided to replay on it in proper way because topics both of comment touch are interesting. The two comments are:
"I understand that things were much simpler back then and our imagination do the rest. Also this simplification had been dictated by technology. Improving the characters is a very serious step and I don't knew if it is good or bad, but I really like this Zoe."
"I like the new look. As a concept art is very good. I agree with Алексис, improving characters is risky.
Personally,I wait for new gadgets, new islands, new planets :)"

Let's start with something a little bit unrelated to them.

What I want to achieve with project
(In 4 points with comments).

  1. Recreate Little Big Adventure 1 experience :)
    This is main goal. This is not game X similar to LBA this is LBA remake. So you can expect only story and islands original game offers.
  2. This is not Little Big Adventure 1 this is Little Big Adventure Remake.
    If I would need to describe it in mathematical way it would be: LBA1 < LBA Remake. LBA was great but we play it and most of us even finished it. I don't think you want to have exactly the same stuff just in full 3D especially that LBA2 already expand world of Twinsan we know from first game.
  3. Make this game for fans and new players.
    I don't making this game only for people who know this game. I want it to be also introduction for new player which never played LBA and probably they wouldn't play because how old it is.
  4. Bring it to current standards.
    This one is really hard especially with team which work on it (1 person) but I still want to push it to it's limits. Recently I finished Uncharted series and I like joking that this is the quality I would want achieve. We will see how everything will end but I'm good thoughts.

Answer on comments

Remaking of characters is very serious and risky step. I know this but it's not bigger than making the remake of game people love and support after more than 20 years from it release :)

When I started doing remake it suppose to be LBA clone in 3D. Right now I know that this was wrong approach. In current times we can do a lot more than when the original game was release. If you even look on LBA1 (1994) and LBA2 (1997). Three years of difference and game is already so much different. That's why I don't think there is any other choice than recreate game.

To make my point lets look on original Zoe:

Zoe from LBA 1
Zoe from Lba 2

And now on versions I made:

Zoe (1)
Zoe (2)
Zoe (3)
Zoe (4)
Question : Which one is closes to the original ?

When I do redesigning I don't doing it randomly. I try a lot different approach and styles before I ending with final look. For me the newest Zoe have the best look so far. She have this fresh look and in the same time have shaved part of head to give here feel of old Zoe (Which let's say straight was bald).

I'm not saying this is her final look but so far I think it's the best one I have. In the end even when I will decide on one face I still need test different dressing style for her (she probably won't have dress anymore).

New gadgets, new island, new planets.

As I told in point 1 this is remake so there will be no new planets or islands. Right now I know that there will be 2 island where the second one won't be fully available to walk on (limitation of copyrights). 

But don't worry I can say for sure that that the remake will bring a lot surprise to people who know LBA universe ]:-> so they will have new experience playing it.


Friday 2 October 2015

In the end ...

... I found some time so let's start this week post.

First few word about contest. Yes I didn't forgot about it. But sadly nobody even tried to win sculpture so there is no winner. This was a little bit demotivating because I offered my own time and money and in the fact nobody care. But well lets forget about this and move forward.

Probably some of you are curious what happening with project that I skipped posting and I need to say a lot. 

As you know I still working on new animations. Works going not somehow terrific but consistently forward. Soon there should be some visible effects which I will try to show. 

The stuff you don't know is that I made few decision about things for game. 
  • There will be no behaviors in form we know from original Little Big Adventure. I still thinking about: normal <-> stealth. But the rest will be out.
    Comment: I removing it to simplify my work.
  • There will be one of control mode.
    Yes I know that I was talking about two but in the end I decided that one mode will allow me to better polish it and there will be a lot to do there.
  • There are coming changes to Little Big Adventure world.
    Comment: I took another look on current Citadela Island and this is not quality I want to achieve. So there will be a lot of changes in the design of level you seen. I already work on this really active as you can see bellow on screenshot from my wiki:

So as you see I do really a lot of stuff on which I think is worth waiting. If you don't think this way your loss because I'm getting really excited about this new level design and all other changes.

And on the end something different: how do you like my new approach to Zoe ? I'm really curious about yours opinion.


Tuesday 29 September 2015


As you notice there is small delay on my posts. And probably this state will continue for at least one more week. 

I do right now so many things that I have hard time to find this spare hour to prepare some proper material.

But don't worry a lot of things I do is related to project and it's future. The current results make me really excited but it's still a little bit to early to talk about them. So sorry for this delay and to next post. 


Sunday 13 September 2015

Anatomy of LBA: Part 4

So today we finishing with races :

Anatomy of Little Big Adventure
(Part4 : Quetches)

How tradition telling let's check  http://twinsunica.waxo.nl/ :
Quetch is one of the four main species of the planet Twinsun. Their shape resembles human, and they are characterized by a pony tail haircut. 
Quetches are scattered on various islands around the planet, and are not concentrated in one place.
It is among the quetches that Sendell implanted a line of chosen ones, capable of rising up if required to defend the planet. Twinsen, the hero of the Little Big Adventure series, is a quetch who discovers that he is the chosen one destined to defeat the tyrant Dr. FunFrock.
In realm of Little Big Adventure remake Quetches will be humans.

I tried once to hold the original design like you see on right but well let's say this failed. Comments like:

Jesse: She looks bald
Polaris: That's how quetches look...
Jesse: Yes....but somehow they never made her look bald. It was still feminine.
and the last one :
Aaron2: But Zoe is more fat than the zoe shown in the image! And i know the character but this image doesn't look like her !

Reality is that in low resolution graphics some things works but when you move them to higher resolution they fail. So decision to make them human is just safest choice to make the world easier to accept for people.

Because of this anatomy is really simple so there is no point to put here only human skeleton. That's why I decided to show summarizing pictures for all races:

Small digression: Any of you know how many Quetches are in LBA 1 ?

So well this finalized the all races :] Next week probably small break so I had more time for programming :] Till the next post.


Sunday 6 September 2015

Anatomy of LBA: Part 3

Without future introduction: "Anatomy of LBA: Part 3" begin :D

Anatomy of Little Big Adventure
(Part3 : Grobos)

Once again lets check what our old good  http://twinsunica.waxo.nl/ have to say:
Grobo - An elephant-like race. These characters are gentle oafs who try to stay out of trouble. They do, however, have their character and their own particular quirks: they enjoy picking, gathering and DIY jobs. In fact they enjoy everything. They are cooperative and hard-working even if some of them are not exactly Nobel prize winners."
- Official LBA 2 site

The Grobos are spread everywhere around the planet, and are not centered in one place. In Little Big Adventure 1, grobo clones are also very common.
So once again we get bunch of useful information. But in the same time we missing a lot of them. There is no culture, history anything. But well we will cover this topic probably in one of following posts. 

Right now let's focus on their anatomy:

As you see most of it is: straight forward. Standing elephant with some small modifications so it make sense. Only really big issue were hands. How to make them look nice with rest of the body and in the same time functional?

I thought a lot about it but didn't had good idea. And here again came with helpful hand my friend and great artist (which I could probably even call my art master :) ) Teo Yong Jin. After talk with him about my problem, he once again resolve it with one picture of Jim Henson work. And in the fact this was what I was searching for. Problem solved.

Small digression: It's funny how sometimes we try resolve some hard problem on which another have answer right away :D You just need to ask right people.

So we have all information about how they are build. The rest information is height which is almost the same as Quetches ~1.55-1.60 meter. With lifespan I decided they will be the longest living race  ~110 years just because it somehow fell right. The rest will be the same as in Twinsunica description because I like it.


Grobos anatomy was funny to do :D But well the race itself still hiding a lot of secrets we will try to uncover in next posts in series. Yeah I decided to continue with it even after we will finish with races.

There is still so much to uncover: galaxy, planet, flora, fauna, history, religion, believes. All of them looks fun to do. If you want to hear any of them first just give info in comment. But well next week we finishing with races: Quetches. 

Till the next time

Saturday 29 August 2015

Contest after break

So where to start? Maybe with small explanation about last two weeks of silence? Or maybe why there is no "Anatomy of LBA" post (We still missing 2 races)? Or why there is no new pictures from my improvement of Painting skills?

Well there is one answer: I didn't had too much time :/ I were changing apartment and doing boring but time consuming stuff like cleaning, shopping, paper works. Good thing is that right now I have all my stuff which finally arrived to UK :]

Because of that I thought about something cool :] 


Ta, da. Yeah I will give to one of you something cool (I think so) : 

Custom made sculpture of one Little Big Adventure character of your choice
 ( If you don't believe I'm able to do this check this. )

We will discuss what kind of sculpture you want, I will make it and send it to you. But before this happen you need to win this prize :] Yeah this is not lottery and you need to do something to win. And here I had small problem because I didn't wanted to limit it to one form (i.e. Art, Writing). I thought about this some time and decided:

In next month (September) publish on my facebook page something what will prove me that you are the biggest LBA fan of whole time. Prove me that you deserve to have this sculpture. How you will do it is your choice it can be video, art, writing, music whatever you imagine.

Contest will end 30 September after which I will try to pick the winner and contact this person to discus sculpture details (it will take probably week or two to make it) and get address where to send it :]

Edit: Remember that likes under your works may influence final decision.


Saturday 15 August 2015

Anatomy of LBA : Part 2

Last week we discuss about one of the easiest race in Twinsen universe: Rabbibunnies. This week we will try approach I think the hardest race in this universe: Spheros.

Anatomy of Little Big Adventure
(Part 2: Spheros)

Once again let's check what twinsunica.waxo.nl have to tell us about this race:
Spheros - This race of small bio-androids has been living for years on Twinsun as an endangered species. Unfortunately, they have been unable to breed for a very long time and have only a dim hope of seeing tiny spheros cavorting around their gardens.
This is surprise for me. I need to tell that I expected something different. I never thought about this race as bio-androids so I started digging more in resources available in magicball.net and find out that this is description from original page of LBA2. Because of this I have thesis (only original authors can verify it): 
originally in LBA 1 they weren't bio-androids. In LBA2 external environment progress to fully 3D which made hard to nicely visualize this race and because of this they came with story about problems with breeding and bio-androids. 
But well because I disagree with original description: Remake will treat Spheros as normal race not some bio androids. If you don't agree with my decision I'm happy to hear your opinion and convincing arguments :)

To convince you that they are normal race check this:

Looking on this skeleton you see why Spheros look how they look. Some people who are not used to seeing this race may think that they are robots. This impression coming from weird way they hold their hands to not drag hands on the ground. The way how other look on them is one of the reasons why we don't seeing them so much in cities. They don't feel there comfortable and prefer to stay in they natural habitat Tree City in depths of Principle Island forest

Other reason that they don't like to hang so much around other races is their height. They have only around 1.20 meter which make them smallest race on planet. In exchange of height nature give them long lifespan (which is around 90 years) and intelligence.Because of that you can very often see them working in universities resolving hard problems of universe. 

I always had hard times to imagine how Spheros race would look, how would behave if it really exists. I don't think I'm alone because if you check magicball.net you won't see a lot of arts related to them. My first approach to help me with this was drawing of skeleton you see above. Sadly this wasn't enough I still missing their look and I couldn't find it.

And here the story could end if not my friend and great artist Teo Yong Jin which shared with me this one picture he painted:

When I seen it I couldn't believe how simple it was. This one picture defined whole race for me and shown me that my art still sucks :/ 

Well I'm not professional artist but still I want to deliver to you the best stuff I can so I decided to spend 1 hour each day just to improve my skills to be closer art you see here. How it will go we will see.

Till the next time.

Sunday 9 August 2015

Update #9 & Anatomy of LBA : Part 1

In last two weeks not a lot happened. Most of the time I spend doing bug fixing and adding few stuff which were missing in editor. So booooorrrrring stuff. 

To make things more interesting we will forgot for a moment about game, editor and all this technical stuff I do. In next few posts we will focus more on different aspects of Little Big Adventure: 

The universe. 

After finishing two games I can say that they showing us present time pretty well. Sadly they skip a lot of facts about history, races and universe itself. I know that for some people this may not be so important, but for me this is what shape reality and define what present times are.

  • What was before Fun Frock take control?
  • What was history of planet?
  • What were relations between races in old times?
  • What is origins of races and details about them? 
There is a lot of questions without answers. In next few posts I will answer some of them or at least try. Some other will probably be left without answer.

 In this post I will focus on rabbibunnies race:

Anatomy of Little Big Adventure
(Part 1: Rabbibunnies)

Description from twinsunica.waxo.nl tell us:

Rabbibunny is one of the four main species of Twinsun. The name is deprived from a combination of the words "rabbit" and "bunny", due to their body shape. These creatures have long legs and can run very fast. Their skin colour varies from light to dark brown. There are also several types of rabbibunny clones. Rabbibunnies are common everywhere around Twinsun, and there is even a Rabbibunny Village in the Hamalayi Mountains, consisting entirely of rabbibnnies.

Personally I like and dislike this description. It just missing information. To fill it I started from creating whole rabbibunnies anatomy. This approach allow me to define what kind of race they are and how will they behave. 

My approach was simple combining of two different skulls: rabbit and human and adding similar to humans body. I think that result is pretty nice and look feasible. 

How tall are rabbibunnies ?
I know they should be tall but not too tall because they would look weird. So I used chart of guitar size that I found using google:] Yes, you read correctly, guitar size:

Twinsen height is more than twice length of guitar you see in funky town. I decided that guitar of length 77 cm is the best. Based on that Twinsen is bigger than 154 cm and around 165-170 cm sound nice. The next step was rabbit bunnies which are really tall so without ears they are like 180-190 cm and with ears 210-220 cm. Everything is just my approximation and may change. But at this point look nice and somehow realistic. 

How long live rabbibunnies ?
This one is tricky I decided that they will be the shortest living race in Twinsen universe. Rabbits in real life have lifespan: 8-18 years. Because in game they more like humans I decided max 70 years.

How many children?
This one will be probably like 1-3 each at the same time.


Most of the information here is my own decisions base on some available data. If you think I'm wrong I'm glad to hear your opinion and fix information/facts which are wrong :] Till the next post.


Sunday 26 July 2015

Progress #8: ... it's Sunday already ?

In life there are days when the only thing you dream about is going to sleep. In day like that you are not really tired, you sleep a lot day earlier and still your eyes are closing. 

This week I had a lot of days like this so not everything went how I planned. But well such a life there are better and worse weeks. For sure good information is that I finished all stuff I planned with only half week delay from what I estimated. In this time I done:
  • Editor is working on both platforms
    When I started I thought there would be more problems with it. Right now I know that there is still big amount of tweaking that need to be done so it work the way I want. But hey it work :D And this is good start for improvements.
  • New project generator support visual studio and clang
    To say truth the porting of visual studio generation was boring like hell. Well what to expect from rewriting xml generation from C++ to Python. In the end I extend old system a little bit so right now I generate *.vcxproj, *.filters, *.sln but anyway I'm happy that this task is behind me.
  • Recovering of build system
    Right now I still don't have access to my build machine but I like when whole building system works. So after switching 100% on new project generator I decided to repair build system and throw away old project generation.
That is all I succeeded to accomplish. This may not sound like a lot but this is first step in direction of something bigger. My plan right now is to finish moving animation system to resources and finally bring game to life :] 


Wednesday 15 July 2015

Progress #7 : Two weeks later ...

... Yes, two busy weeks. So let's go to the point: How much project changed in meantime.

My estimations of work was pretty accurate. After two weeks that I spend on porting editor I can for sure say that port is still not finished but at least in usable state which you can see bellow:

But there are still some bugs which will take some time to figure out how to fix them. To give you example how time consuming such a task can be : 

I spend four days tracing why resources weren't released. I were debugging game, writing code for resource tracing and after all that I finally found the source of problem. Of course it wasn't resource system but the difference between Windows and Linux. Atomic functions behave there a little bit different. Change in 2 lines of my low level code, moment of waiting to compile everything and done. Sound simple but it really wasn't. 

But well such a life of programmer. Bugs like this are nice because you have occasion to develop some tools that can be use later. In this case I added code which allowing me to log with callstack: creating / increment of ref counting / decrements of ref counting / destroying for specified resources. Because it was nicely implemented it will stay in code and for sure will help me in future problems.

So you can see game works:

Editor works (Yes I know that drawing area is shifted to right. This is one of bugs that I still don't know why happening and I already spend on it like two days :/)

So I think that if there will be no bigger problems soon I should be able to resume animation task :]


Sunday 28 June 2015

Progress #6

Writing post that spread on multiple days is interesting experience :] When I started it yesterday I had something like this on my screen when I run the game: 

I started describing what I done and almost finished it. But today I needed to redo it again :] The reason behind it is this view:

Yes: Infinite loading screen :D Good thing about this is that it mean engine is running. 

So what changed in last week : 

One of most important stuff was resolving of problems with make files generation, fixed all linking issue and start game. 

This was so important because I could move to run time errors which shown right away. There were some bugs in platform specific code which I wrote some time ago. I couldn't find them earlier because I didn't had game.

Sadly in meantime of all this migrations I broke some windows stuff. I will be moving right now to recovering windows build to have both platforms functional.

Of course this are just the main stuff but I also still actively working on improving project generator, my Linux workflow and code generally.

From funnier stuff that I done wrong with port:
  • Using amount of processes to figure out amount of working threads. There was more than 600 of them so initialization was taking few seconds.
  • I don't know why but in few places I done exactly the same made mistake with comparing return types of Linux functions i.e :  
if (stat(a_path, &fStat) == -1) {...}  which should be if (stat(a_path, &fStat) != -1) {...}
What next:

Right now I have few things planned. Fixing windows build, porting editor to Linux and of course animation system. I wont write here details because it would probably lost with time. But you can find full description on new planning page that I added to blog. And like always progress page was updated also.


Right now I think everything going nicely. Till now whole porting is great success. It shown some weakness of some engine systems. This is one of the reasons why I started more active development of new file system (I plan to do it from almost half year).

What will come next I don't know but right now I'm satisfy with progress. So Cheers and till next week.


Thursday 18 June 2015

Progress #5

There was small break in my posting. I took small vacation to rest (I visited Poland). Because of that I done only a little bit of work. Again :] This time like I wrote previously I focused on Linux port.

There were a lot of small changes. Everything to improve my building process and compile Linux version of game (I updated progress page today). Sadly I still resolving issues with linking of libraries, missing symbols and few other things. This will be also my task for next week. I want to finally start working under debugger and try to run game not only fight with basics setup problems. 

If I succeed to run game I will move to building Editor. There is full Qt setup that I need to add to project generator. But well this is future. 

One cookie at a time.


Tuesday 9 June 2015

Progress #4

Time is like mountain stream, flow really fast. For me this week was one of this "crazy" one where I didn't done a lot. But a the same time a lot happened.

And here I want to thanks for all people that commented my posts and send me messages. For you this simple stuff may be insignificant but for me they mean really a lot.

So returning to normal stuff of progress posts, this week I focused on animation system. I was developing environment for testing of this system. Not a lot was done but always something. 

And finally my plans for next three weeks: Linux port

Probably curious: Why? 

Reason: For some time I won't have access to my main work stations. So I decided to use this occasion and finalize the Linux port so I could normally develop game on my laptop. This may be not most exciting task but it's need to be done. So I will do it and then move back to animations system.


Sunday 31 May 2015

Progress #3

Another week, another progress but sadly slow. I done what I could with amount of time I had. There is not a lot but I need to say I'm satisfy with results.

So let's move to this week changes: I finally started to use SQLite as a database to wrStringID (this sis class containing {Hash(Text), Text} I know it have a lot of names i.e. SID ). Thanks to use of database I can recover text with just Hash. I planed this for some time because this is in my opinion nice and clean solution. But I just never had occasion to do it. But it shown with animation progress. 

To do this task I needed few developer tools. Right now they working and are usable inside editor. They are not specific for this one use case so they will be for sure be handy in future. And in the fact this is only bigger things I were able to do. The rest is just bunch of small changes to support new stuff and fix few issues.

From less technical stuff: I found some time to post new tweet with rabbibunny and do some new wallpaper which you can find above (I really like how this one look ). If you would like to see some specific wallpaper/art or info about project just give me info I'm open on propositions. 


Tuesday 26 May 2015

Something special ...

This time something special for people that still believe in remake. It's great that there are people who support this project. I want to believe that in future there will be even more of them. Because Little Big Adventure is the game we love and don't want it to be forgotten.


Sunday 24 May 2015

Progress #2

This week was a little bit crazy and because of that tiring so not too much to update. I'm still stuck at works with moving animation system to resource. There are small progress but most po week I worked on something requesting less focus. 

To be specific it were new project generator and Linux port. To launch game on Linux left linking of game DLL and building Executables. And of course runtime issue later :] but let's believe it won't be so bad (No I too don't believe in this). To finish port fully I need to build tool-set but slowly.

Other thing that was done this week is wallpaper that you can find above. Next week I will try to focus more on animations to be after it finally return to work on game.


Saturday 16 May 2015

Progress #1

This time short summary what changing. For last two weeks I hardly ever start game which may sound bad. But it's not so bad because I work in editor. Which like I mentioned few times earlier work right now almost like game :]

So effects of my work visually can be summary like this : 

In details I spend a lot of time improving my RTTI (objects properties) to support dynamic arrays. Like always sound easy but like most of the time it's not. There are still few things I need to resolve but generally think I'm almost finished. So finally I can return too work on moving animation to resource. 

This is good news because this feature will be use a lot in game and should improve my workflow a lot. Of course in meantime there will be few changes, improvement and probably a lot swear words commenting my irritation why something not work the way I thought it work. But such a life.

Like always you can find current stuff I work on in progress page (yep I still update it).


Monday 4 May 2015

Tech time 2: new-old properties widget

So the last tech time mentioned changes in threading of editor. This change may look small in first glimpse but in reality it was really challenging task. I needed to make transition from monolithic application where almost everything happen in one thread to system which work like game.

Right now I can tell I succeeded but in the same time I cannot say I finished. There is still need for a lot of changes in editor and tools to fit new threading setup. Today I  will talk about one of the biggest one:

Properties panel 

Today I can say that most important part of work is finished and rest will be added with time. Bellow you can see effects of last month programming.

Looks almost the same like old one, right? If you think this way than I'm happy because the biggest change is not in its look but in the code that handle it.

Sunday 26 April 2015

Thoughts about tools

This time I want to share a little bit of my thoughts about tools. There won't be so much technical stuff more polemic about how we design tools and what we do wrong ( I will mention examples of mistakes I done in editor). But let's start from simple facts :

People who use tools love them. Programmers often hate because of boring UI code.

I wasn't different. In my first projects tools weren't so important. I were of course writing them. But most of the time by hacking rendering and adding some debug information. Of course there was a lot of shortcuts mentioned only in code.

I was happy that I don't need to spend a lot of time on them and could focus on project. With time I started to write a lot more tools. "New Dawn" had developed full editor because we had a lot of artists and they don't like to modify scripts. Probably if not them we would never started developing it.

Of course this was just begin which in the end resulted in creation of: White Rabbit Toolset. Writing this tools shown me few things:

We programmers often don't understand what we doing.
Yes we don't know how to use tools. That's why often we do stuff in "programmers style". How to recognize it ? There are few ways:

  • Just seeing it make you want to close it. 
  • There is no obvious way to do things.
  • You need press few buttons before you can do anything. 
  • After 5 min you probably still don't know how to use it.

Probably everybody who work on custom tools seen something like this. Of course any tools is often better than none. But only as long as you use it all the time. Take month or two break from using it and try again. I assure you that in a lot of cases you will forgot all shortcuts that are not described in UI. You will forgot order in which you need to press buttons and fun will start :]

Of course in a lot of cases this is not problem for us (programmers) because we use this tools only when we need to add something or fix bug there. But for final user it's different story. He don't have any choice. I learned this hard way. I'm programmer and final user and right now I understand why good UI with nice flow and descriptions is really important.

This is obvious
There is nothing obvious. If inside list of elements only way to remove selected item is [del] key. I really recommend creating context menu (the one under right mouse button) where you have option delete with shown shortcut. You know this key most probably because you programmed it, somebody told you or just had luck.

If you create shortcuts you need to add them in tool tips, status bar or to context menu. I learned that when I returned to movie editor after month. I forgot all combination shift/alt/ctrl + mouse buttons that were there and needed check them in code. First thing that I done was adding info to status bar which change depending of situation so I would never need to check code again when I want to use movie editor.

We programmers often don't "really" test our tools
Some may disagree. But I don't talking about checking of code or checking if it work. To give you example: when I first wrote my assets system there were list of files with previews of what is inside. In my tests it worked great.

But then in next months I increased amount of assets in game and problems started. Each icon needed to be prepared manually, accessing of folders from widget started to be slow and filtering started to be problematic. Everything because I test my tools on small set of data.

I should have create dummies assets by copying few of them and check how everything work. The real test case are important. Well I made mistake then and needed to resolved them because it was impossible to work efficient. So I introduced:

  • auto generation of previous (I need to recover this functionality after changes I done recently), 
  • when you enter any folders previous are loaded asynchronous so there is no waiting time when you navigate.
  • finally I added wildcard search with option to search locally in folder and global search in whole file system 

Of course this is not extreme case like combo box or list with hundreds of element and none search option. This one are scary but I try them avoid in first place.

Other problem here is amount of operations you need to do to archive something. If you have list of objects that you can preview  You can create list and bellow button "Preview". But if this operation is done really often why not connect it with double click on list item? This small change improve usability a lot. Of course with time I learned that other nice thing is to add tool tip in button which would look like this: "Preview of selected object from list. Do the same as double clicking on list element." Just in case that somebody don't notice this double click.

Writing tools is boring
Yes it's not programming of some nice low level code or gameplay feature. But contain problems of completely different types which can be also really interesting.

You can create unique UI to edition of each objects type or you create some system which will simplify this or maybe even unify. I try to save my time that's why I share code wherever I can. Right now in my solution I have seven plugins:

  1. Canvas - widget to connect rendering of UI with engine
  2. CurveEdit - widget to edit/display curves
  3. FileList - asset browser widget
  4. NodeEdit  - widget to edit/display nodes 
  5. ProgressBar - custom dialog with progress bar
  6. Properties - widget for properties edition.
  7. Timeline - widget use for timeline with strips (I use it in movies editor)
When I started writing them they were really specialized but with time I change them in generic plugins which don't have almost any connection with my engine code. I like doing them this way because for each 10 min more I spend more on some new features I save hours later when I use them.

Writing good tools is hard and complicated
Personally I don't see writing of tools as just creation of UI. I think this is biggest mistake that we do right now. To make really good tools you need to prepare for them whole system. You need to design your engine with tools in mind. 

Without this tools became just code that is stick to engine. With time it's became over-complex, hard to manage and supporting of all it's features take a lot of time and effort.


Saturday 14 March 2015

Tech time #1

This time some lets catch up with changes that happened in LBA in last month:

Animation System 

Big part of change with moving Meshes, Rigs and Animations to resource system is finished. Thanks to that I have one way to handle most assets. I used this opportunity to update my Blender plugin and develop whole system a little bit more.

Of course there were some problems that shown in meantime of doing it but well there would be no fun if it was to easy. So my to do for resources is :

  • Finish animation resource
  • Do bigger test of all new features
  • Improve quality of animation (This was reason behind all this changes).

Tools Changes

This change was not planned, really. After finishing changes with resources, came time for testing. Like always my expectation from tools are very hi. And because of that objects tools (Tools for quickly iteration with objects) needed some upgrade. But there was small problem :

The threading of editor worked a little bit different than game. 

So I decided to change it. This is how threading in editor look right now :

Part of change is done (Game and Editor work the same way right now). But there is big regression in editor features. So right no I focus on recovering all of them.

Finally if you like pictures in this post they are always published on Twitter account @coffemonsters
there is also Coffe Monster facebook page which you can follow if you like my work till now. A lot more news from development coming soon.