Tag: Optimization

  • With 32 GB as a minimum and 64 GB as the recommended amount, Cinder City’s RAM requirements are all kinds of wrong in today’s AI-mangled memory market

    Featured image With 32 GB as a minimum and 64 GB as the recommended amount Cinder Citys RAM requirements are all kinds of wrong in todays AImangled me

    Cinder City: The Memory Monster Lurking Behind Seoul’s Fallen Future

    In the world of blockbuster PC gaming, the quest for cutting-edge graphics has always come with escalating hardware demands. But with the upcoming release of Cinder City, developed by one of NC Corporation’s studios (Big Fire Games), the expectations have soared—and so have the whispers about the system requirements.

    Described as an open-world cinematic third-person shooter set in a post-apocalyptic near-future Seoul, the game promises breathtaking detail: the ability to tour the city and explore NCSoft’s zombie-ridden offices full of name-tagged workers. Naturally, fans anticipate graphics that are all-singing and all-dancing, hinting at immense visual ambition.

    Yet, as we dig into the Steam listing for Cinder City, the hardware demands quickly pivot from merely demanding to downright perplexing. While the minimum specifications—a Ryzen 5 3600 CPU and a GeForce RTX 2060 graphics card—sit comfortably within current gaming standards, they are overshadowed by a staggering memory requirement.

    The true eye-catcher, however, is the recommendation. The developers have suggested that players should aim for 64 GB of DRAM to truly experience the game at high-level quality settings. This figure is where things get truly strange. Requiring 64 GB of memory places a substantial financial hurdle on potential players—easily costing hundreds of dollars just for the necessary DDR5 RAM.

    This massive memory recommendation raises some serious questions about optimization and engineering. When you consider the minimum requirements versus the recommended performance, the picture becomes a bit muddled. For instance, the setup suggests a modern CPU like the Ryzen 7 7800X3D paired with an RTX 4060 is recommended, yet that combination seems to clash oddly with the sheer volume of RAM needed.

    The resulting system specification feels less like a perfectly tuned gaming experience and more like a puzzle waiting to be solved. It suggests either a significant oversight in the published specifications or a deep dive into non-optimization that will test the limits of what modern PC hardware can handle in a highly detailed, open-world environment.

    Despite the hardware conundrum, there is plenty of time for Big Fire Games and NC Corporation to fine-tune these requirements. Whether they adjust the specs or introduce clever optimization techniques to manage memory consumption, Cinder City is poised to become a very much talked-about title, ensuring that the community keeps its collective gaze on those ambitious digital streets.

  • Pong game recompiles its own source code every frame — winning entry at IOCCC29 was generated by a custom compiler

    The Art of Cursed Code: How One Programmer Won a Prize for Self-Modifying Pong

    In the bizarre and brilliant world of competitive programming, some achievements move beyond mere logic and enter the realm of performance art. Jonah Uellenberg recently claimed the Ping Pong Prize at the 29th International Obfuscated C Code Contest (IOCCC), not by writing a typical program, but by creating an experience that literally compiled itself into existence—a masterpiece of self-modifying code.

    The game at the heart of this victory was a version of Pong that fundamentally rewrote its own source code with every single frame. This isn’t simple trickery; it’s a sophisticated application of programming concepts taken to an absurd, yet masterful, extreme. Every run of the program prints the C source for the next state, embedding the current game display and status directly within it. Running this output executes the compilation process, advancing the game by one frame at a time.

    Uellenberg’s genius lies in the methodology behind the obfuscation. He didn’t just scramble the code; he leveraged the compiler itself. His entry notes reveal that the winning code is not truly obfuscated but rather the result of extreme optimization. He utilized his custom-built language, Insert, which compiled down to C, running all the rigorous size-optimization passes that a professional production compiler employs—such as liveness analysis, constant folding, and variable-merging techniques.

    The irony is delicious: Uellenberg found that optimization and obfuscation often collapse into the same output. By packing repeated token sequences into C preprocessor defines, he managed to shave off crucial bytes, resulting in a dense, seemingly chaotic wall of single-character identifiers and data arrays. It’s a testament to the idea that maximum efficiency can be indistinguishable from maximum obscurity.

    This concept is rooted in the quine—a program that prints its own source code when executed. Uellenberg’s version takes this familiar trope and turns it into dynamic gameplay. The player controls the right paddle by entering simple commands like “w” or “e,” competing against a computer opponent. A further layer of wildness is introduced when winning the game switches the program to an entirely different experience: a side-scrolling jumper modeled after the Chrome dinosaur runner, before seamlessly transitioning back to Pong.

    The effort required for this achievement places Uellenberg among a select group of programmers pushing the boundaries of what code can achieve. This prize sits alongside other remarkable feats achieved in the field, including an x86 CPU emulator written entirely in CSS and a playable build of the game Doom rendered in pure SQL.

    The IOCCC29 contest, which saw this victory, was part of a continuing tradition of extreme coding challenges. The event marks the second contest since organizers paused running the competition for four years, showcasing a community dedicated to wringing full systems out of unlikely materials and proving that code can be anything from functional software to pure performance art.