Sunday 7 May 2023

Home sweet home.

The last four weeks did not go how I wanted. One simple thought of using as a source of test animations started a chain of decisions that lead to my downfall or maybe something greater in the long run (Spoiler alert: I'm still not able to use the animation from the database). It got even worse, I did not even spend any time o the animation which did not move the gameplay a lot.

So probably you are curious about what I was working on this time. The answer is pretty simple:

I created a lot of content which led me to tinker around with Twinsen House: 

This like always did not when smoothly at first. The whole idea of using for animations lead me to a bigger change in the way how I interact with content. Small impact on the content creation itself but more than two weeks of iterating on code. In the longer perspective best decision ever.

After that, I got annoyed by the long loading times in the tool. So I looked into it, improved it, and broke a lot of my content. The majority of the locations look like that:

Missing materials on all the objects. Which is once again fine as I finally cleaned up some code that I wanted to touch long ago. With improvement in other content tools recreating this data is only a question of time. 

There is also this weekend which I could spend on the animation system but decided that I really need to do something about my icon generation. A small thing where while icons generating editor sometimes freezes. Already been resolved, still not part of the main codebase but getting there.  

Generally against all the odds pretty nice few weeks. But the goodies do not end here. 


This week we got from 2.21:

Which is an interesting dive into the process of creating the original game. I was specifically entertained by the large nose Quetches :) they look funny. I also would love the idea of giants being used in further games. This is a pretty cool idea even if the technical part of it would be a nightmare.  

For this who missed it, there is also a previous one: 

I mentioned this because while doing content I finally had time to think a little bit: 

Who Twinsen really is?

This a simple question, which bothered me a lot. Think about it, what do we really know about Twinsen? 
  • He is a guy who was put in prison for having weird dreams. 
  • He has a girlfriend Zoe.
  • In the second game, we learned that they have a kid. 
  • Their house in the first game has a freaking secret cave full of ancient stuff. 
  • In his wardrobe, he has a magical robe.
These past weeks allow me to explore this topic a little bit more and I think that I finally have an answer: 

For now, I will stop here as I still want you to have fun exploring the universe of Tribute. Leaving some mystery. 

But to make it more interesting I would like to hear your theories: 

Who do you think Twinsen really is?

Sunday 9 April 2023

Easter update

As a small easter gift let's do a small review of the project. I know that some of you were interested in the story, others more in the status of the game so I will try to cover all of them.


The idea behind the whole project was evolving over time. When I started I wanted just to recreate game 1-1 with a small twist. Full 3D. Simple, straightforward, and not something that I was really happy about. My decision to modernize the models did not help for long. While I was playing the Uncharted game long after its release it strokes me: the game I was making was not something that I wanted to do, LBA deserved more.

I scratched everything and started again, unrestrained by old design and using the original game as a guide to tell the same story with the same character in the same universe just everything more mature and presented in the way that I believed it deserves. This took a long time to figure out and it still evolves over time. Now that the 2.21 team makes an official remake I will try to share some insight into my vision for the game (story spoiler alert).  

When I played the original game as a kid I saw it as a fairy tale and never put too much thought into the details of the world. Years of development made me lead to the conclusion that there is a lot more to it than just the tale of a guy who tries to save his fiance and as a result of this saves the world. There is a lot of darkness in this universe. There is Prison from which people do not return back, did you ever ask why nobody approaches as if they are afraid of death. Everywhere there is fear, military, and surveillance. Yet the majority of people just live their life like nothing happening. When you realize this is somehow terrifying.

The thing is that I never wanted to change this part of the game. I love it and wanted to build on it. That is why the tribute would not start inside the prison. It would start with a dream. Where you can explore the ancient temple of the Sendel. This place is where you will learn controls and at the same time explore a back story that before was written on the panels when starting the game. You would walk thru this time capsule and find your way to the place where you will experience a vision of the end of the world.

When you woke up you are at home in your own bed. Zoe looks at you worried. You are one of the people who live a normal life, if not for this reoccurring dream. Zoe is dressed to work as the ferry broke, again. She is a mechanic. While leaving Zoe tells you that you should maybe get some pills for better sleep and reminds you to not forget about today's dinner. She is preparing something special. You later learn that this is your anniversary and you have more plans than just dinner. You plan to propose to her on this occasion you just need to pick up an engagement ring.

This small setup adds so much to the original game. You first have a proper introduction to the dream. You can get used to controls, learn the story of the universe feel that you are the part of dreams we hear about so much. Then we have time to learn about Citadel Island before landing in Citadel Prison. Finally, you can better understand the connection between Twinsen and Zoe. 

There is even more to it. The broken ferry blocks you from leaving Citadel Island before finishing the prolog, and why in the 2nd game we see a newer model of the boat. Zoe being a mechanic explains her fixing the car in the 2nd game and adds extra depth to her character. Finally, dinner explains why when we meet her after escaping the prison she is nicely dressed.

This is just a small portion of the changes I planned to do. I'm able to talk for hours about all the details of different characters, places, and how I planned to do but because of the limited scope of the project, you will ever only see the Citadel Island part of it. But I try to create it in a way that the deeper you will look into it the more different aspects of the game will be revealed.

The Game 

"yeah, no point rushing it, especially after you've been working on it for 50 years already"


There is a little bit of truth in the above sentence. It really feels like I doing it forever. The fact that I do this in my spare time, alone and with custom tech does not really helps with the velocity of the production. 

You probably thinking why then I do not use some existing engines: Unity, Unreal, or Godot? I openly acknowledge that having full creative control over tech direction, getting lost, making wrong choices, and correcting them is part of the fun and the experience for me. After all of these years, I do not think that this is a really bad thing. 

And don't understand me wrong I believe that everyone should make choices for themselves. If you think that you want to use ready tech do it, if not do it too. In the end, it is up to you. My choice is to continue with the direction that I choose even if some people think that what I do is stupid. 

The reality is that in some way, my decision may be stupid maybe even impossible. But who cares, while I do what I do I learn new skills, polish old ones, and grow as a developer and in the fact a person. This is very important because, without all of that, my vision of the project would not be what I present to you. Great things just need time.

And oh boy this project consumes a lot of time and effort. Still, I think that this is justified by looking at its scope. To give you some overview of how big it is, I'm right now maintaining ~ 450 000 lines of code. There is on top of that everything that is needed for the game like 3D models, textures, and animations. 

I still have a few things that do not really work how they should, lack some functionality or just do not exist. Still, to move the game forward I need to finish my current work on the animation system. I did it because I decided to create a new model of Twinsen with a completely new set of animations and more freedom of control. This required an update to the existing animation system.

I of course could not do it the simple way and decided to go into the unknown and explore some unique ways of creating data. The reality is that I was not even sure if this method would really work but well,  4 months later I'm pretty optimistic. I working right now on an editor prototype and things coming together pretty well. 

These 4 months were of course not exclusive to the animation system. I was doing a lot of changes all over the place. I will skip some boring details but what I will mention is work on the assets. And yes after this long wall of text, there will be some pictures.   

From now on we have Spheros in making. Did you expect that?  

There is also a further iteration on Rabbibunies that I decided to move a little bit more into the old cartoonish feel. Mostly done tweaking to the nose and eyes. I kind of like it more now compared to the old one.

Finally still tweaking a new Twinsen model. Still not ready but well if it ever will be. 

There is also a new full-body version of the statues. I will be using them all around the dream sequence so having a little bit more variation is always good.  

Finally, if we speak about dream sequence I finally know how to start it in the way it makes sense. Bellow some early sneak peek into the new location where our story will begin. 

Feel free to comment here or on Discord channel and the last thing that is left is wishing you a happy easter.