Our playtest is over, but we have an extended demo now!
Thanks for being part of the playtest!
The bad news: The playtest is kind of over... But the good news: We have a DEMO that you can download from the Steam page! We recommend you to play the demo as it is the most up to date version of the game. Just download the demo from our store page:
Hope you enjoy it and thanks for the continuous support!
DevLog: Our Secret Visual Improvement
Hey folks!
Welcome to the first BattleJuice Alchemist devlog of 2024, where we spill some beans on how we spiced up our headless lorekeeper, Dullahan. This one's for the tech nerds, but I promise it's cool even if you're not into the nitty-gritty stuff.
So, Dullahan is this mysterious old, headless lady who lives among her scrolls and ravens in the supernatural realm surrounding us, the Crossroads. Our artist, Patrick, had this idea to take it up a notch technically. Dullahan should have a flowing cape and candles on her back.
Usually, we use only a single texture, which determines the colors for a character. In modern games, a 3D asset usually has multiple textures: There is something called PBR (Physically Based Rendering), where you add textures providing the information on how bumpy or reflective a surface is. We don't use PBR because our game is all about that hyper-stylization. But Patrick came to me with this plan - add a second texture file that stores different information.
The new file tells the engine how wind should mess with Dullahan's cape and how much the candle's flames should glow.
Wind Effects (Blue Channel): Dullahan's cape is swaying in the wind, even though our animations are as simple as it gets and the cape is not animated. It just moves, where we paint blue into the new texture. That's the magic of the texture's blue channel right there.
Glow (Red Channel): Dullahan's candles now glow. There is no particle system, just a simple plane for the flame as part of the 3D model. It moves, because of the blue channel and thanks to the red channel, we can crank up the glow intensity in specific spots. With our post-processing applied, Dullahan looks like this:
We can even expand on the system by making use of the currently empty green channel and the alpha channel of our new texture later on.
"Why secondary motion?" you may ask. Our animations are deliberately simple, but throwing in some secondary motion is like adding a sprinkle of magic. It's the reason puppets like those in Sesame Street often have fur - extra motion that makes the character more lively and does not need to be animated manually.
Patrick's idea turned out to be great, and I am glad he nagged me to implement it. Check out Dullahan inside the game:
As we keep pushing what we can do with such a small team, these tech tweaks help us keep things stylish yet immersive. We're stoked about how Dullahan turned out, and we hope you agree.
Stick around for more behind-the-scenes shenanigans and thank you for reading!
Alain
Happy Holidays!
Dear BattleJuice Alchemist Community,
As we approach the festive season, I want to take a moment to express my gratitude to each and every one of you who has been following the development of our game. Your support has been the driving force behind our journey, and I can't thank you enough for being a part of the Alchemical Works family.
This year has been particularly special as I worked intensively with a full team for the first time, consisting of Patrick, Jan, Felix, Markus, and Dominik. Working alongside these creative minds has been an incredible experience for me, and together, we're crafting something truly extraordinary with BattleJuice Alchemist.
We also want to extend our appreciation to our fantastic publisher, ESDigital Games, for their unwavering support and collaboration. This year, we met them for the first time in person at Gamescom, which was just great, and we are so glad to have them in our corner. Also, we would not be able to work the way we do without the support of Media Funding RLP and the German Federal Funding.
And, of course, none of this would be possible without the encouragement and enthusiasm of the people patiently waiting for the game and following its development. Your feedback has fueled our determination to create a truly unique RPG.
As we step into 2024, we're thrilled to announce that it's going to be a monumental year for BattleJuice Alchemist and Alchemical Works. We have some major news coming your way very soon, so be sure to stay tuned for updates and exciting reveals!
Wishing you and your loved ones a joyful holiday season and a Happy New Year. Thank you for being a crucial part of our adventure. Here's to an amazing 2024 filled with magic, challenges, and triumphs!
Warm regards,
Alain and the Alchemical Works Team
DevLog: Unlocking Character Variety
Hey folks,
as you're aware, we're a small team dedicated to BattleJuice Alchemist. With our combined efforts, we (that's Patrick and myself) essentially have the workload of one single full-time artist covering everything from 2D and 3D work, including modeling, texturing, and animation. Additionally, we create every asset ourselves, foregoing the use of marketplaces or asset stores. This poses a challenge for a comprehensive RPG, and today I'd like to shed light on a magical tool we use to add diversity to our characters despite these constraints: animation retargeting.
In the image above, you see three skeletons of different sizes. Upon closer inspection, you'll notice that they aren't just scaled versions of each other but have distinct proportions. Given our limited resources, creating individual animations for each character is impractical. This is where animation retargeting becomes invaluable.
If you just slap an animation onto a character without retargeting, things can go quite wrong, as you can see here (image from the Unreal Engine wiki):
Animation retargeting in Unreal Engine is like taking dance moves from one character and teaching them to another with a different body shape. It saves us a lot of time by reusing animations for various characters, even if they don't have the exact same proportions. The process involves setting up a translation of movements and rotations to fit the new character's structure, ensuring that the animations look good on different in-game personas. This allows us to efficiently use and share animations across various NPCs, like these two very different characters:
Here is what the teeny-weeny Leprechaun looks like in-game in comparison to our player character:
As we navigate the challenges of developing BattleJuice Alchemist with our lean yet dedicated team, animation retargeting turned out as a great ally, allowing us to breathe life into diverse characters without overwhelming our limited resources. Eventually, we plan to individualize animations more and more. For example, a giant should walk with more gravity than a Leprechaun. However, it is surprising how many animations work well, especially from our top-down perspective, when shared. I believe this is a smart approach to our work, and it has become one of our prime directives: We must choose our battles wisely by adding detail only where necessary.
Thank you for reading and have a great weekend!
Alain
DevLog: Climbing Peaks and Diving Deep
Hey folks,
okay, you caught me. There was a devlog on verticality before this one, but I couldn't squeeze in everything I wanted to share. So, I'll touch on the topic again. I'm sure it will be worth your time ;)
I always wanted to have vertical diversity, such as mountains, because I think having them adds a sense of grandeur to the game world. And I wanted players to be able to climb them and not just look at them from a distance.
So, we have these high places, but what about the low ones? It is part of our design philosophy not to block off areas from players that they feel they should be able to traverse. Remember those platformers from our childhood where the hero dies as soon as his feet touch the water? These games are cool in their own way, but they can break your immersion at these points. That's why we decided to let players swim and even dive.
This, in combination with our Freeze Flasks, adds another aspect to vertical landscape diversity. Players can interact with verticality in a very direct way: they can manipulate it! In the following GIF, you can see me freeze a water surface.
This not only separates me from the creatures that are underwater but also allows me to move faster than swimming. I just have to dodge those ice crystals and accommodate for my slippery feet. Now it feels like playing one of these platformers from our childhood again ;)
I have not really seen this way of working with verticality in many other games, and I think it is a concept worth exploring more. I'd love to hear your thoughts on it.
Have a great rest of the week!
Alain
DevLog: So beautiful... what's the catch?
Hey folks!
Welcome back to another development update for BattleJuice Alchemist! This time we delve into the realm of particle systems. Understanding them is crucial for enhancing our hyper-stylized, low-poly look while maintaining good performance.
For those non-developers among you, a particle system is a simulated group of tiny, individual objects known as particles. These particles can represent various elements such as fire, smoke, sparks, you name it. Particles are lightweight and dynamic and using them we can add a lot of vividness to our game.
But we have to be cautious... as we continue our journey, we encounter a formidable adversary: overdraw. It transpires when transparent objects stack atop each other, causing rendering complexity to increase. The cost of rendering transparency intensifies with each overlapping layer, jeopardizing our game's performance. Luckily, Unreal Engine bestows upon us a potent tool: Shader Complexity mode.
Green signifies efficiency, whereas red warns of rendering extravagance. By looking at Complexity mode, we can pinpoint areas where overdraw festers, allowing us to optimize our particle systems at the critical points. Our low-poly, hyper-stylized art style grants us a boon, sparing us from the complexities of naturalistic rendering. Yet, transparency, especially lit transparency, can become a problem, if we are not careful.
Let me end with two Unreal specific best practices that I found useful regarding the performance of particle systems:
1. I always manually set every particle system to "Use Fixed Relative Bounding Box" to keep e.g. fast, far-travelling sparks under control.
2. I avoid using the light module in emitters. They are tempting but hit performance pretty hard in my experience.
That's all for today, thanks for reading! Until next time, happy playing / designing / coding :)
Alain
DevLog: New Dev Stream
Hey folks!
I hope you're all doing well and looking forward to a well-deserved weekend. After fitting Gamescom into our milestone schedule, we've been quite busy catching up. But don't worry, we're doing fine, and production is right on track.
For those of you who follow us on social media or visited us at Gamescom, you may have seen what we've been working on recently, particularly a new quest location in the game. I thought it was a great opportunity to record a new developer stream, take a stroll around, and chat a bit about exploration, building your tower, and, of course, the new town:
I actually enjoy making these kinds of streams/videos and would love to do them more frequently. However, as you can imagine, finding the time isn't always easy.
I hope you enjoyed watching, and as always, I'd love to hear your thoughts and answer any questions you may have!
Wishing you all a fantastic weekend,
Alain
DevLog: Gamescom Retrospective
Dear diary,
with Gamescom behind us, I can say it was a rollercoaster: challenging, but also a ton of fun and a great learning experience. This was the first time ever I had a booth at Gamescom, let me tell you how it went for us.
Wednesday - Press Day:
The adventure began on Wednesday, the first day of Gamescom 2023. The event wasn't too crowded as it was primarily for the press. I had the incredible support of our wonderful 2D/3D artist, Patrick, by my side. We had the pleasure of meeting the amazing team from our publisher, ESDigital Games. They had prepared these adorable tiny flasks as giveaways for our players at our booth in the indie area, which people liked a lot. We also found the time to have a beer and great evening together.
Thursday - The Real Deal: Thursday marked the first "real day" of Gamescom. The venue was packed, and my feet were already starting to hurt from standing up all day. It was incredible to see so many players at our booth throughout the day. My voice started to get scratchy from all the talking and trying to scream louder than the Rockband booth next to us, blasting Bon Jovi's "It's my Live" in what seemed like endless loop. My sister-in-law bought me some "GeloRevoice" in preparation for a longer interview scheduled for the next day and luckily it worked and my voice returned.
Friday - Interview Galore: On Friday, I managed to get Patrick to man our booth, supporting the ESDigital crew and lifting everyone's spirits with his positive presence. Meanwhile, I spent most of the time filming with the fantastic folks from the World Trailer Awards (whose Emerging Talent Award we had won earlier this year) and AMD. From my perspective it was a whirlwind of attention on me as a person, which I am not used to. But of course I enjoyed it to talk about my work and the game.
Saturday - Two Booths, One Adventure: Saturday was a double-duty day as we had our regular booth and were also showcasing BattleJuice Alchemist at the GameUp RLP and Media Funding RLP booth, the latter being one of our generous funders. They had a giant TV that actually drew quite a lot of attention.
Once again, Patrick came to the rescue, running around and organizing everything. I had forgotten a crucial item, a mousepad, and he had to make a rather expensive purchase, a giant Diablo 4 mat, which we later gave away to thrilled fans who showed a lot of love for BattleJuice Alchemist and also happened to be Diablo fans.
In preparation, we had this pop-up book made that resembles our ingame cinematic style. I love how it turned out and even though the book isn't huge, people complimented us for the attention to detail.
Sunday - Farewell and Gratitude: The last day of Gamescom had arrived, and by this point, my feet were absolutely destroyed. However, the enthusiasm of the players remained undiminished, as they continued to pour into our booth. We wrapped up our unforgettable journey and bid farewell to our fantastic booth neighbors, the creators of Drake, a top-down Mass Effect-style game. They were incredibly friendly and supportive, and being in the trenches with them was a memorable experience.
I also can't express enough gratitude to the tireless team from ESDigital Games, who never seemed to slow down and powered through the event with us. We couldn't have done it without them.
Gamescom 2023 was a ton of of fun, challenges, and I was able to share great moments with the team and the players. I collected a lot of invaluable information from talking to people and watching them play our game. The feedback and support from players, colleagues, and partners left us with a heart full of gratitude and excitement for the future of BattleJuice Alchemist.
Alain
DevLog: Building Vertically
Hey folks!
A quick organizational announcement first: I'll be writing this devlog every three instead of every two weeks from now on. This allows me to hopefully go into more depth on the one hand and on the other hand get more work done on the game itself. And it perfectly aligns with a post Gamescom devlog in three weeks! I will be there the whole time showing BattleJuice Alchemist. I'll post details on socials, so please stop by and say hi if you can!
Today, I want to share some insights on verticality in our game. While you can zoom into a third-person perspective, the main navigation occurs in a top-down view. This perspective has posed interesting challenges, but we've been hard at work finding creative solutions to make our world truly come alive. One of our main goals was to incorporate vertical diversity, despite the limitations of the top-down view.
We knew that having mountains would add a sense of grandeur to the game world. However, our world is procedural, making it hard to have predefined giant mountainsides. Besides, most games with such mountains usually don't allow players to interact with them. But in our game, vertically diverse landscapes can be crossed, even though they presented issues with the physics of certain game mechanics, such as when explosive flasks bounce off the mountains. In the end, we decided to keep this feature as it helps players feel more connected to the environment.
Another aspect we've been working on is buildings, especially those with multiple stories. When you enter a building, the upper floors need to be hidden from view, but they should be visible when you climb the stairs. We came up with a simple height check system to achieve this effect, ensuring that your interactions with buildings feel natural and seamless.
The game's isometric perspective led us to face some challenges with building designs. We wanted to avoid obstructing the view of your character. So, we carefully crafted the buildings, cutting out certain parts to ensure they don't block your view.
In the end, we did not want to rely on the hole-cutting shader all the time. So we designed buildings that have holes in them by nature, like ruins. This gave us a more open, inviting feel, as seen in the blacksmith's shop.
One of the most exciting features of BattleJuice Alchemist is the ability for players to create their own portable base - the alchemy tower. However, navigating these unique structures using mouse-clicking and WASD controls required ongoing improvements. It's not perfect yet, but we are getting there. And I just love the view from up there, so the work is definitely worth it.
As we continue to refine BattleJuice Alchemist, I want to express my gratitude for your support and feedback. We're committed to making this RPG a unique journey, and a small part of it is not chickening out on verticality ;)
Have a great weekend everyone!
Alain
DevLog: Rendering Cutscenes
Hey folks!
Those of you following this devlog may have heard that I was playing with the idea to move our cinematics into Unreal Engine. Now I did it and would like to discuss it with you!
If you played the playtest version of the game, you may be familiar with our pop-up book intro cinematic.
It was animated and rendered in 3dsMax. I'm still a big fan of Max and will continue making the animations and all 3D models with it, but I decided to move from pre-rendering videos in Max to render the cinematics in realtime in Unreal. Let me tell you why:
1. Rendering in-engine means people with high resolution screens can see the cinematics in high resolution, as it is not a rendered video file and e.g. limited to 1920x1080.
2. With only the first cinematic, the game was 600 MB in size, 150 MB of which were the one video file alone. Now, rendering in-engine, the game is only 500 MB, so the cinematic is only 50 MB of size and I expect the following ones only to even be less than 20 MB, because we will re-use the pop-up book models and animations.
3. We become more flexible in our workflow and don't have to wait for long renderings.
Before I tell you a bit about our workflow, here comes the first comparison:
As you can see, the difference is not crazy big. This is actually intended, because we quite liked the cinematics as they were visually. But when watching on fullscreen, you can see that the visual style of the new version fits the look of the game itself a lot more than the old version. One reason for this is that I am able to simply re-use the post-processing shaders that I wrote for the game itself when rendering the cinematics.
In this second comparison you can see that we use the new assets that were changed as the game evolved. Also, we took out the pop-up titles. I myself and others from our team were big fans of them, but they simply posed a problem regarding localization, which is why we removed them in favor of traditional subtitles for now.
In this last comparison you see that we e.g. switched out the raven that was crudely painted by me years ago with ravens how they actually look ingame, now that they are implemented. The reason here is mainly consistency. Also, we increased the level of detail a bit by adding a background to the scene.
I'd love to hear what you think. Maybe you don't like some of the visual changes or don't agree with the advantages I see in rendering in realtime? Let me know!