Saturday, 7 September 2024

Free-talk

I feel like I should write about something to show that we still work on the project but there is not really a lot to write about this time. In such a moment I always feel lost with the direction of the post, so let's not have a direction and drift across different topics. Project related and not. Give me info on how you like this kind of content.

Getting older for some is scary. I discovered that over time I'm more and more satisfied with what I have and what I achieved. I feel like I'm getting wiser, partially because I realize how stupid some of my decisions are. This is somehow normal, we are all humans (I do not include bots parsing this text) and because of that, there is more than just logic behind our decisions.

This applies to everyday decisions and work-related ones. Some mistakes are easy to solve. Have a chat, apologize, repair something. Others are just impossible to resolve or have long-term consequences that we do not want to fix.

My decision to start Tribute on custom technology is one of them. I somehow cannot give up on this idea as it influenced my personal and professional life. This is a big thing for me to make a reality but times fly by and there are these frustrated friends who I meet only because I working on Tribute :



This whole journey is awesome and at the same time a terrifying one because you alway think what would happen if you decide to quit? What this all years of work would mean? In the end you just push it aside and do stuff.

Of course I talk a lot about how we do this stuff, and you need to believe that we do them. For example, the last few weeks have brought so many good things that only people working with technology would really appreciate. But I'm one of them and I want to do this cool stuff but at the same time I want to make the game but I'm not always in the mood for it.

Thinking about the reasons, there is a lot of them. There is my day job which occupies 8 hours of my life and pay for it. There is time spent with family that is needed to preserve sanity, but there are also other everyday tasks. This way before we notice I am tired or do not have enough energy or time to really dig into the world of the Twinsen. When this happens I prefer to work on more technical aspects of the game as they just require less involvement. There is a problem, and you trying to solve it.

There are also these moments when I am finally able to enter THE ZONE, and it is an awesome experience. It's just you and the world of Twinsen. The only limitations are my skills and imagination. This does not happen a lot but when it is it is a time when the locations you seen are born, where untold lore is created and everything takes shape. But as I started this is just a moment and before anyone notices things bring me back to reality and it is time to once again pick some more technical aspects that require less involvement but move the project forward.

And I believe that there are things to look forward to.

Friday, 2 August 2024

Tribute, quo vadis?


Things never stay the same, this is a constant in life.

I experienced this a lot in the last half a year. I finished working for Unity Technologies and moved back to Poland to live with my girlfriend. I started a new consulting job for which I created my own company. I of course named it "Coffemonsters". Things are good.

This could potentially be the end of the post, but then it would be a short and boring one 😁 I'm curious how many of you noticed a foreshadowing of problems.

1... 2... 3...

When I created the company I was happy that finally, "Coffemonsters" is something more than just a name. I'm still happy about it but some problems came with it. On one sunny day, I went for a walk and realized that there was a potential problem regarding Tribute.

Till now we were making things under this name as individuals. This was ok as we were creating a Tribute for the game we liked. Now with Coffemonsters being a company, this means that we could step on the toes of 2.21 :( So what to do now?

I did the most oblivious thing that was to do. Give up on the project. No... just joking. I wrote to Ben from 2.21 and just asked him directly if this would be a problem. I had nothing to lose. What I learned is:
  • He knows who I am and that I work on Tribute.
  • He is ok with us continuing to work on the project.
  • They really care about LBA and its community.
So nothing changed, we are still continuing work on the project. We also really encourage you to support the upcoming remake from 2.21. I believe they are doing the best they can to bring to us once again the magic of the Twinsen universe.

Wednesday, 17 July 2024

Changes in graphics

People following the project with interest in its technical aspects know that the L.B.A. Tribute runs on OpenGL. This graphics API was introduced in 1992 and by some, it is loved while by others, hated. These days you may hear an opinion that it is inferior compared to DirectX.


In reality, the answer is more complex. OpenGL evolved from its original form and these days the current stable release carries version 4.6 which was released in 2017. I mention that because on the internet, you can still find tutorials and people using OpenGL 1.4 from 2002  and claiming that it is inefficient and not modern. 


In reality, if you look at the API that OpenGL 4.6 offers, you will see that it is closer to the Vulkan API than OpenGL 1.4. We ourselves used multiple versions of OpenGL and in these 18 years, we learned how to use it efficiently, grew fond of it, and these days have a large sentiment for it. But even we understand that in the game industry, nothing stays the same. Things moving forward, GPU architecture evolving, API changing, and modern tooling focus more on supporting Vulkan and DX12.


This was visible when we recently tried to improve our shaders compilation pipeline. Our goal was to combine SPIR-V which is us for Vulkan with OpenGL. Based on documentation it should work without any problems but in practice, our attempt was only partially successful. We managed to use it for shader compilation which gave us uniform errors across different vendors. But it also failed to load the SPIR-V shader in OpenGL which was our goal. All our attempts to use it resulted in not passing some data to the shaders. We even tried examples from other people. But even they failed for our machines which was a sad discovery.


Another example of issues with OpenGL was when we were tracking graphical issues. Each of them was a small issue with the API usage that potentially could be caught by the debug layer in Vulkan. In the end, all the tools for OpenGL did not give us clear information that something went wrong and we needed to spend a significant amount of time to track them down. For people interested in graphics we are currently using RenderDoc and Nvidia Nsight Graphics. Looking only at them we have a feeling that OpenGL lacks debug tools compared to more modern APIs. In some way, this makes sense as the current focus of the vendors is on the modern API and not on something used by a few. 


That is why we decided to start the process of switching all our tooling to support:



Now, don't worry. We do not plan to drop everything. We plan to do things in stages and the first one of them is to prepare code for the second graphics API and display a triangle on screen. This effort will be driven by Alex while I’m continuing our Little Big Adventure project. Things are slowly coming together and last week was the first time when we felt that we finished with only fixing stuff and doing something that moves us closer to the finish line. 


Monday, 8 July 2024

Dr. FunFrock

This time we feel like we should talk about something nontechnical. Sadly we do not have something specific in mind so I will try to reply to question 2.21 posted recently on X :




For me personally, I have mixed feelings about the new version of Dr. FunFrock. I think that the changes done to his face will fit nicely with the new style. The addition of a mustache and eyepatch is also ok as it gives him an interesting look. I really do not mind changes like that. 

What I do not like is his body. I watched this fragment from the trailer at 25% of the speed and his posture looks pretty muscular compared to the chooby version we know from the original game. I kind of liked how he was before as it gave him this unique look compared to all the classic evil characters. Another aspect that feels weird, is his clothing. Looking at his shoulder pads I suspect that they wanted to show him as a dictator, with a look closer to general than as a researcher. But I once again am not really sure if I like these changes.

Still, this is the first look at his new design. Looking forward to the finished version of the game.


We know that this is a short post but this was a tough week where stuff with the project did not really go how we would like it. The plan was to actively work on a new animation system and we ended up repairing stuff and going in the circle with some other changes. This is part of the "fun" of making the game with its custom technology. Want to believe that this week will be better. 

Saturday, 29 June 2024

T&T - Tribute and Technology

While writing posts we always want to share everything that we do. We talk about art, technology, and design. We never thought about it as a problem. Things changed recently when were writing yet another post and it hit us that there may be different ways of doing it. That is why we want to experiment with a more focused approach, where posts are focused on only a single aspect of our work. We don't know if this will work out but we are looking forward to your feedback what do you think about it :)


I would like to think about White Rabbit Engine as a project of love. When I started it 18 years ago I was young, passionate, and full of dreams. I wanted to create something awesome and this was a way for me to make these things come true. If I saw where we got with it I would be blown away by the things we achieved. I would be also terrified by how long it took to get here. 


But here we are 18 years later and I would describe my feeling more like one you can find in an old married couple. While working on the projects there were ups and downs. Successes and failures. The initial passion disappeared, and some dreams failed. This may sound grumpy but this is how things are in real life. 


But don't worry, what was lost was replaced by different things. I found pleasure in the creation process. I found joy in resolving hard problems that we encounter all the time. I had hundreds of discussions about the work that was done and what I wanted to do. I realize that even if those initial feelings are not there the project is still a project of love. Maybe even more than in the past as this love is mature.


So far we talked so much about the engine and we know that some of you may not really care about it and just waiting for the Little Big Adventure: Tribute to be done. We are painfully aware that the process of creating this game is slow. We are also aware that if we switched to Unity or Unreal we could probably achieve the same results faster. But then let's think together. 

Why do people follow us? 

Initially, we worked on the game that people love. Wish that there was a modern version of the game was probably the reason why a lot of you started following our struggle. These days we all have something we wished for, an official remake from 2.21 that looks really promising: 


What holds people to projects?

With this official remake, some lose interest but there are still some that stay with us. They may do it because they wished for a different approach to the game? We are aware that some of you do not like the direction that the official remake took. We think this is perfectly fine to have such an opinion and Tribute maybe something closer to your vision as we plan to continue the direction that we chose some time ago. 

What really defines this project?

We would say that what defines this project is our approach to its development and the custom engine is one of the aspects that make it what it is. For us Tribute is part White Rabbit Engine project and White Rabbit Engine project is part of Tribute. That is why we are glad that 2.21 does not complain about us doing what we do, if they did it we would be in big trouble.  


Of course, as we have mentioned many times this is not a competition to what they do and want to support their work. We want to give you a taste of what could be if we approach the source material differently. This is only taste as this will cover everything to leaving Citadel Island. May not sound like a lot but it still should give you a feel of what we wanted the whole thing to be: An epic adventure. 

Now the only question is did we get stuff right in what we wrote? 


Saturday, 22 June 2024

Tribute and its small disclaimer.

There is this small post introducing a new logo:


Just recently we noticed a comment written a long time ago:

Shame on us for not noticing it earlier and addressing it. We will try to fix it.

For a long time, we were using the name L.B.A. Remake. This made sense as there were no signs of an official project. When this changed, we wanted to be clear to people that what we do is just a fan project and they should not expect it to be a whole remake. 

This disclaimer is also a play on the lyrics from the song Tenacious D: Tribute. Which in our heads makes sense in the context of our work. LBA is LBA and we will never be able to reproduce something like it. We should not even try and just find our own way of telling its story. 

That is why we added this small disclaimer. It may not be needed but we just like it that way :D 

Monday, 17 June 2024

Dream space

I don't know why but I thought that less time passed since the last post. Turned out that it had been almost two weeks. This is crazy how fast time flies by when you are busy and we were busy. 

L.B.A. Tribute is our reimagination of the game we all love. When I started the last iteration of the Tribute, I thought about the beginning of the game and how it feels like something is missing. To fix it I added some story which covers why we ended up in prison. This felt right, but something was still missing there.

For a longer time, I thought about the tutorial level. A place where new players could explore mechanics and thanks to that feel less lost in the world of Twinsun. I tried a few things but none of them felt right. This is how sometimes the creative process works. You try very hard and things do not work out how we want. 

Sometimes seeing what is the most oblivious is the hardest. The dream world was something like that. Talking about dreams and visions is all over the place. The initial video shows the end of the world, with dialogs mentioning it multiple times. Even the reason why we ended up in the prison. This just makes sense and we went with it. 

Dream space came to life as a place where we learn controls and how to interact with the environment. Then we decided to incorporate the content of the initial texts panel into it. This would make it more sense, story about the planet and four races could be incorporated there in visual ways. A great idea that still missed something. 

This thought that this is not what it should be has always bothered me. What this dream space really should be? Who built it?  Why everything is ruined?  Why we are brought there? I may not have all the answers but I believe that this dream space will be a place where the past, the present, and the future come together. A place that will answer a lot of questions but at the same time create new ones. 


What you see is another small spoiler for the dream space. I will still leave it only as a spoiler as the whole idea behind it still evolves. What do you imagine this place like? 

Tuesday, 4 June 2024

Back in the game.

Last week we discussed how things not going the way we want. This time we won't be so far from that theme. As a reminder, plans were to do Animation. A week later this is still a plan 😁But hey, I was not really in the mood for it. That is why we tackled something different problem: running the game, and oh boy this did not go well. 
 
Turned out that not testing the game for so long time resulted in multiple points of failure. Some of these failures resulted in data loss. Thank goodness we do not really need to recover it as some stuff will be just redone with new workflows. This will be a good occasion to see how far we got with content creation tools and help uncover hiding inside issues.

Let's stay positive as this week had a lot of positive moments. One of them was when we finally got to see that scene: 

Just a broken main menu, but so much happiness. The game was finally kind of running. Took just a few more moments to make it running enough😁
  

It still had issues, it uses old animations. The thing is that at this point in time, we are ok with that. Here we would want to say that we finally started to work on animations. 

But this is not necessarily the case. We still did not feel like doing that and spent some time playing around with ideas for the round room seen above. To tell the truth, results make us excited about things that will come.
  

If you are curious why this picture is so low-resolution, it is on purpose. We will have a whole post just about this location and how things came to be the way they are. I think this will be a nice topic that will serve as a break from these more technical topics. 

This will be a nice place to take a stop with this post. Nice things coming our way. If you are still not doing it we really recommend following the official remake in their attempts to recreate the game we all love https://www.littlebigadventure.com/. What we do is not a remake, it is just a tribute to the game we played as kids. 


Wednesday, 29 May 2024

I had single active task on my list ...

Last week we can count as a productive one. There was a new post and soon after that, I managed to finish the last part of the work related to visual scripting. Finishing something is always a piece of great news. To celebrate it there was an extra update on our Discord:




With that, I finally could return back to the animations. Recovering this single system would bring us back on track with work on the L.B.A. Tribute. We were excited by this perspective as it was too long from the last time we worked on it. 

This negligence showed up pretty quickly. Broken animated characters popped up on our screen. If we had a working game this would probably not happen, as you can see below it is hard to miss it :]


Sadly we do not have it right now and because of that, we missed it. This mistake cost us only three days (if you are interested in details check this thread). From the positive stuff, while working on it we discovered some other issues which potentially could be also hard to track. Now things looked good.


It was once again time to finally work on the animation system. I started doing some prep work, till I realized that the world editor emits errors that I do not see in the tools logger.  This is rather a game-breaker. You never want a case where something goes wrong and you do not know about it.

This rather long and boring story brought us to today. Logging is almost done but cost us a few extra days of work. The results are not bad even if some stuffs were left as to-do to save some time.


The whole situation feels a little bit like: 


Just for me, it feels like "I have a single active task on my list. Started working on it, and now I have ten active tasks on me." But with logging out of the way I can now return back to prep work on animations and with this, soon we may return back to working on the game. Hold crossed fingers for that, I need mine to continue to work on our little adventure. 

Monday, 20 May 2024

Dark places.

Another time full of challenges behind us. The biggest one would be my head 😓Over the years I had a lot of discussions about how over-ambitious I am. One of my friends describes it: 

"Creating the game in Unity or Unreal is hard. Then I tell people that I released a game on my engine, and they look at me as if I'm insane. Then there is this guy [me]."

The thing is that we do not really create a game with its specialized engine. Our goal is to create a game technology that will allow us to make Tribute and further productions, whatever they would be. This type of approach is hard.  It challenges our skills, pushes them to the limit, and opens doors that never would open otherwise. At the same time, there is the price that we need to pay for this approach. Long development cycle, multiple iterations on systems that do not fit design. We could of course try to clone what other engines do but this is not our way. We like to explore, feel creative freedom, and just do what we want to do. 

All of this sounds great, except anyone who works on long-lasting projects knows that with time comes fatigue. When I started working on the project 14 years ago everything was simple I wanted to make L.B.A. remake. Now things getting complicated, I'm a lot older, and have a job, responsibilities, and family. Even things with L.B.A. got more complicated, we have an official remake and a whole team working on it. Where there are only two of us working on Tribute and we are still stuck on technology. All of these things lead to doubts if the path I chose was right? Was restarting the project some ago really smart? Would it not be easier to give up ...?

When this happens it is hard. Doubts grow in our minds and bring us to dark places which stop us from seeing positive things. The thing is, that there is a lot to see. We still may not be close to finishing the L.B.A. Tribute but whole tools grow with every week, they become more stable and just look awesome.

Editor use for creation L.B.A.:Tribute

Twinsen House (Editor view)

Script editor with a visual selection of translated text.

The same thing with the official remake, I'm sure that what they do is something really cool. But what we can do is take a whole story for a spin and retell it in our own unique way. How this will go we will see but I think this will be something awesome.

What do all of you think about this whole thing?