Hello everyone, after a long period of work on "Disasters Escape: The Island", I realized a significant performance issue stemming from the use of UE5. Specifically, I was utilizing global illumination (Lumen), as you can see in the attached photos. While this global illumination added remarkable graphical details, it made the game visually stunning but caused a substantial drop in performance, with frame rates ranging between 20-40 fps on a mid-range graphics card.
I resolved this issue through a redesign of the graphics, and I'm here to show it to you. The graphics may appear somewhat less detailed, but I assure you that in a game, graphics represent only 10-20% of the overall experience. Below, you'll find some images showing how global illumination worked before and after. Additionally, I'm providing a small spoiler of what the optimized graphics will look like. Thank you for your patience, and I wish you a rewarding wait until 2024 (barring unforeseen circumstances).
Lumen
Image without global illumination (Lumen):
Image with global illumination (Lumen):
Wait, you might be wondering, couldn't you just disable it? Well, it wasn't that simple because all assets were specifically designed to work with Lumen. ːsteamfacepalmː
New Graphics!!
This is a gameplay image from a cinematic camera without Lumen.
The big item from this past week was making Icarus the default build. A big thanks to players who did opt-in play testing of the build: it seems like this build is solid with few serious issues reported (knock wood).
I've spent most of the past ten days or so chiseling away at localization. There are currently over 70,000 words of text in the game spread across 4500 chunks of text, even more than Starcom: Nexus. (In the Icarus news update I had the count at less, but the localization process has revealed that I undercounted some areas.)
Localization requires organizing and exporting all of those text strings into a format that can be used for translation.
The text in the game can be organized into three broad categories:
Story Content
One of the technical design decisions for the game was to move content out of the game engine's domain. This includes all conversations, anomalies, missions, items, discoveries, etc. There were several reasons for this: one, the Unity engine tries to serialize everything in the project before running in the editor which created a significant drag on iteration for Starcom: Nexus. Two, it allows me to use version control more effectively for the content. Three, it theoretically should make it easier to allow modders to create content. And finally four, exporting the text for localization became very simple.
Story content makes up 95% of the text in the game, but there was still...
Static UI Text
There's a bunch of text in the game that never changes. E.g., the "New Game" button on the main menu always says "New Game". This text was also pretty easy to localize. Basically I added a component to these UI elements that identifies them as localization targets and an Editor script grabs everything with those components. These components also register themselves with a LocalizationManager so if the current language changes they know to replace their text and font.
Finally there is...
Code Generated Text
Code generated text is a very small percentage of text in the game, but every string needed a small amount of work. E.g. change the code that said:
Here is the Operations screen with localization applied:
The "language" is "Progent-A": a fictitious language I created to pseudolocalize Starcom: Nexus using symbols from extended Unicode characters. Besides looking vaguely sci-fi, I can sort of read it, while at the same time can immediately tell if some text has not been replaced. It also uses a different character set, making sure font substitution works correctly.
This is what took up the most time of the past week, but the good news is that I made a lot of progress: almost all UI elements have been exported except for the options/keybinding menus. None of the text has actually been translated to a real language yet, but all of this work is a necessary precursor to that.
Finally, as I mentioned previously, I will be having eye surgery next week so there may not be the regularly scheduled weekly update.
Lock and load, Smallfolk, steady your hand and flex your trigger finger because you're packing heat now!
Content Update3: The Amber Valleys, comes 16/10
Introducing the Handcannon. It's a cannon that fits in your hand. Self-explanatory, right? The Handcannon shoots iron ammo, crafted using firesand, a new resource within the Amber Valleys.
Don't think it's going to mean an easy win in every fight though. While the Handcannon is powerful, it's also closer to an old fashioned musket in function, and takes time to load and prime for each shot. You'll need to be smart in how you use it to get the best effect.
Another use for firesand is that you can also bundle it up into a nice little grenade - extra lethal against ladybugs!
And you're going to need every advantage to take down the new Aetherin turrets. The valley is dotted with these defensive outposts, which will blast away at anything which flies within range - including birds and Smallfolk with wings.
If you've only just earned your bird, don't worry too much if it gets shot down. One hit isn't lethal, but will cause health loss. Repeatedly trying to fly through Aetherin airspace will risk losing your feathered friend, so if you want to reclaim these lands, you'll need to approach each turret on foot, and defeat the squad of Aetherin that emerges. Doing so will disable that turret permanently.
To begin crafting with firesand, you'll need to first meet Granger, a dusty old Smallfolk who now lives as a reclusive beetle rancher in the Amber Valleys.
Continuing the theme of the last devlog, you will again read about the combat phase of Pandemic Train. Today, however, we won't write about our leaders or how to help yourself in battle.
Today will be about our enemies.
Special abilities of enemies
Just as each leader has their own unique abilities, the enemies are also different. Today we will talk about three enemies who have abilities that differ from the rest of the group.
Leap
Otterbear jumps great distances, causing a powerful impact at the landing site.
Ambush
Attack by surprise in the hope of infecting the target before it escapes. Watch where you step.
Snipers
Skilled Asesina who aim from a long distance. Even though you can't see them, don't stay in one place when you notice them targeting you. They don't miss... Take cover or dodge!
Infection
Still an enemy, but no longer as easy to defeat as the previous three. The infection in Pandemic Train has changed its in-game action a little. When the infection bar reaches its limit, the infection will start to take over the leader's life bar, limiting their maximum life in exploration as well as on the train.
Auto-exploration
However, when it comes to combat, there is a way for you not to have to do this. Your leaders, of course, have to fight a battle and are still at risk, but this happens without your participation.
To round off today's devlog, we'd like to remind you that there's still a community challenge going on, where you can win up to 15% off the launch price!
To make your contribution to our community challenge, all you have to do is follow Steam Community – Pandemic Train and add the game to your wishlist.
Follow
Here's how to sign up for the Steam Community Hub:
Go to the Pandemic Train page on the Steam store. Select “Follow” button under the window with the trailer of the game.
Wishlist
However, the number of additions to the wishlist also counts, so click below to get Pandemic Train on your wishlist.
Yo, thanks for playing Stop Dead! This is our first bugfix patch of the early access cycle. We've had a lot of fun hanging out with you all on streams and in discord. Mike and I are working on an Early Access roadmap, and you can expect to see that go live as soon as it's ready! In the meantime, brace for patches!
Items with a 🛑 emoji are things found or suggested by the community! Items with a ❗ emoji indicate that the change caused a leaderboard to be wiped. Wipes for affected leaderboards will happen after things have had time to settle.
Twitch improvements! The command "!addme" no longer clears the people who want added on restart, meaning users will hang around and reappear automatically every run, so you will see them more often!
🛑 Added Framerate Cap options: 180, 240, 360
Changed the Twitch Save Class, (your twitch save will be deleted once on startup, so you'll have to re-enter your channel name and remake your custom commands).
❗ Fixed an issue that caused some dialogue and scripting events to not play in Ransack if you had your game set to "always skip watched cutscenes." Because of this, the leaderboards for Ransack will be wiped.
🛑 ❗ Fixed an issue that could cause held objects to collide with enemies more times than intended. This change greatly affects the Engineer fight, so the leaderboards for Engineer will be wiped.
Some doors no longer collide with you when opened, streamlining some spots.
Fixed a visual glitch with the grab particles.
You can no longer climb up enemies.
Enemies will ragdoll more easily when you collide with them while falling.
End zones now properly win the run for you if they become active while you are inside them.
Fixed an issue that caused ladders to make you vault when landing on the from above, even if you weren't looking at them.
Adjusted the positions of several tutorial volumes to be more out of the way.
You can no longer dismount from ladders by pressing space.
🛑 (tentatively) Fixed submission errors in non-english languages. If you still have this issue, please let us know!
🛑 Blacklisted and cleared mouse wheel keys from input mapping.
Fixed an issue with the grab toggle accessibility option that caused the grab to trigger when input was not held.
Fixed bullets spawning behind close collisions. (You can now shoot doors from point-blank range)
Made vents much easier to slide through.
🛑 Removed the vent from the end of Engineer. The door now simply unlocks when the Engineer dies.
🛑 The key in Ransack now gets a waypoint when dialogue finishes. It also properly unlocks the door if you are holding it when you get near the door.
Known issues: There seems to be a rare bug with leaderboard submission that affects all languages, in which submitting a time to a leaderboard you have aha a time deleted from can cause the leaderboard to bug out temporarily. Investigating.
Since 2017, we here at ArenaNet have taken great joy in supporting Children's Miracle Network Hospitals by participating in the Extra Life gaming marathon. Last year we even had the honor of being named Extra Life Partner of the Year—a reflection of the way the entire Guild Wars 2 community rallies around the cause. We're thrilled that this is part of our studio's tradition, and we're excited to be back for another year!
What is Extra Life?
During the annual Extra Life marathon, teams and individuals from many gaming communities stream games for twenty-four hours to raise funds in support of Children's Miracle Network Hospitals, a network of 170 nonprofit children's hospitals throughout the United States and Canada. Donations pay healthcare costs for critically ill and injured children not covered by health insurance or Medicaid, help hospitals purchase pediatric medical equipment, and fund disease research. Children's Miracle Network Hospitals provide 32 million treatments to children every year thanks to events like Extra Life.
Team ArenaNet has raised over $855,500 in donations for Children's Miracle Network Hospitals since we began participating seven years ago. Let's see how much we can add to that total together in 2023!
Game Day: November 3
Our 24-hour marathon livestream begins at noon Pacific Time (UTC-7) on Friday, November 3 and lasts until noon Pacific Time (UTC-7) on Saturday, November 4 on the official Guild Wars 2 Twitch channel. This year our streaming setup will be different: rather than everyone going into the ArenaNet office to stream, we're embracing the distributed nature of our workforce and streaming from our various home setups. That also gives us an opportunity to invite more folks to join our schedule, so you may see some members of our ArenaNet Partner Program or other folks participating. Our event may not look exactly the same this year, but Team ArenaNet is excited to see how much our community can raise for Extra Life in 2023!
During the marathon streaming session, we'll be giving away Guild Wars 2 gem codes to viewers for every $1,000 raised! If we hit the $12,500 donation milestone, we will reveal an epic Metal Legion music video created by our developers. And at $25,000, ArenaNet will match the donations up to that point, leapfrogging our donation total to $50,000 for this amazing cause!
All players can celebrate in the game well before our Game Day stream commences with a fixed Extra Life bonus enhancement from October 31 to November 7. This effect provides a 50% bonus to magic find and experience gain, as well as +30% WvW and PvP reward-track progress.
Join Team ArenaNet
There's more than one way to make a difference and help us with our mission. Besides donating directly, everyone is invited to be part of Team ArenaNet. To join, visit the official Extra Life website and choose "Team ArenaNet" as your team when you sign up.
If you'd like to create your own team, we invite you to join the ArenaNet Super Team. When you sign up on the official Extra Life website, choose "Create a Sub Team." Your team will still have its own page, members, and fundraising goals, but you'll be recognized on the ArenaNet Super Team's leaderboards and the funds you raise will contribute to the overall Super Team total.
Once you join Team ArenaNet, all donations will contribute to our overall donation total. You don't have to livestream Guild Wars 2 to team up with us. You can stream a game of your choice, or raise funds by telling your friends, family, and colleagues how they can donate to support Extra Life. Spread the word!
We couldn't do this without our amazing community, so thank you in advance, and we'll see you on November 3 for Game Day!
“Reaching, gasping, wishing, longing For the pageant brought to sight, Vain I watch’d the gold orbs thronging Round celestial poles of light. Madly on a moonbeam ladder Heav’n’s abyss I sought to scale, Ever wiser, ever sadder, As the fruitless task would fail…” - H.P. Lovecraft
The following is a recount of this world’s events as experienced by the Lucid Dreamer
The faces of the ones who strapped this diver suit on you and stranded you beneath the waves feel just beyond the periphery of your vision. Their faces are full of a potent mix of loathing and misery. Your resistance to the voice you have all heard is a condemnation of their iniquity. They sank you with an anchor, but their own guilt weighed heavier.
As you plummeted deeper into the depths, those faces were but a fleeting dream, unlike the endless golden eyes that watch your every move or the disembodied voice that rattles your skull with sweet temptations. While you languished beneath the waves, you could only hear that voice and the current. The voice presented you with a tantalizing promise of not only freedom in this watery purgatory, but also your every desire, if you only ask. Yet when that golden eye opened after you resisted the voice’s offer, it felt as though you yourself awakened, and one nightmare was traded for another.
Desperately, you clawed your way out of a watery grave and into the sunken burial place of a once prosperous kingdom that now groans with the cries of its citizens answering the disembodied voice. The kingdom sinks deeper, buried under the weight of each desire cried out being made manifest by that tempting voice.
The voice beckons still, perched upon your shoulder, always whispering even after your continued refusal. But the watchful gaze of those golden eyes around every corner reassures you of your resolve.
Did they seal you in a golden casket or provide you with the armor to turn any temptation, claw, or blade? That is for you to decide.
This was but a fragment of a memory trapped within the Collective Dream. Expect to receive more of these fragments in the future. Until that occurs, perhaps there is something else you wish to learn before continuing your voyage?
Cast those questions into the deep, and perhaps it will answer you as well… (aka leave us a comment and let us know what you want to see in future devlogs!)
Farewell for now, Dreamer
Dive into these communication channels for all the latest devlogs, news, + more:
Live showing some mechanics and the map. Let's try to survive in this game made with lots of love and care by a single developer. I hope to see you live on 10/13 at 1:00 PM here on Steam. Activate the live reminder here in this post and don't miss the live.