America: The Godfather of Game Development
Chapter 598

A Hundredfold Reduction in Size, Insanely Powerful Optimization

1,666 words6 min read0 views9h ago
Next

John Schnatter gave a few instructions to the company and then decided to stay at Activision.

It wasn't just about further discussions on cooperation between the two parties; Lin Lixin also directly invited him to join the project team as a "pizza expert consultant."

With the addition of a true expert in making braised naan bread, the core gameplay loop was immediately optimized even further.

The final product was much cleaner than expected.

"If you ask me, four steps are actually enough."

John recalled the store's workflow,

"Taking orders means understanding the customer's needs; we need to know what the customer actually wants. Often, they don't order directly from the menu, so I think the 'recipe' you mentioned earlier is actually unnecessary."

After two days together, John had shed his initial reserve.

Instead, there was an unprecedented sense of positivity and excitement.

And this feeling of holding a plane ticket in one's hand, and excitedly preparing for the eve of takeoff, will naturally be transformed into supreme subjective initiative.

"Your goal is to simplify the process and only keep the interesting parts, right? If that's the case, following the menu feels like doing homework in a rigid, formulaic way."

"Huh? So you mean... free combination?" "Hmm... I noticed we already have a free combination design. Actually, we can Kung-Fu Master on that. Customers can just tell us what kind of crust they want, what kind of filling, and of course what kind of topping they want when they order."

This is actually very common when ordering food in a restaurant.

A rigid menu often fails to meet the needs of customers.

They might add a few more slices of salami, or perhaps some black olives, depending on their preference.

These are all things that are hard to say.

If he were to design the production process, this completely free design would be far more interesting than having several pre-defined menu backgrounds.

"I just don't know... whether it will be difficult to implement? After all, it seems to offer a lot of freedom, but I guess I'll have to write a lot more stuff?"

"No! That's exactly what we want!"

Kitchen laughed heartily.

This adjustment will not only not increase the workload, but will actually reduce it.

Having received Lin Lixin's approval, they immediately revised the draft again.

As John continued to explain his point, the core flow of the game finally became clear: ordering, pairing, baking, and slicing.

Each step offers a different challenge and level of fun, yet they are harmoniously unified, abstracting all the most interesting parts of the pizza.

In addition, there are the selection of staff uniforms, customization of appearances, collection of different customer data, and various store decorations...

The game's assistance systems have also been largely finalized.

Now that the written part is done, the next step is the logical part.

The idea was wonderful, but reality was just as harsh.

How to do it?

Putting everything else aside, just making all those pizza toppings alone requires a huge amount of resources!

A simple estimate suggests that the total resource volume of the entire game could easily reach tens of megabytes.

In the context of console gaming, this capacity is indeed insignificant in today's era of rapid CD-ROM adoption.

But this is a web-based game. That would be a big problem.

A simple calculation shows that even if you live next to a server room and have the most expensive commercial first-generation ADSL network, it will still take several minutes to load.

"Just the texture for a standard thick-crust pizza crust requires several hundred kilobytes..."

Kitchen worked on the development machine for a while, then looked at the amount of data being used and felt a bit of a headache.

The fact that pizzas can be freely combined means that they need to prepare individual stickers for each topping on the pizza.

There should even be variations in different angles and shapes to ensure that it doesn't easily become aesthetically tiring.

But how much bandwidth would that require?

Even with the most aggressive compression algorithms available today, the number can only be reduced by tens of kilobytes without losing pixels, which is not significant in terms of magnitude.

This doesn't even include frame-by-frame animation.

If we were to implement all the movement effects for each of these characters, how much would the device's memory usage increase?

If they want to ensure even the most basic playability, then a large portion of their project proposal would have to be cut.

But that's definitely not right. If it really couldn't be done, Lin Lixin wouldn't have let them cram everything into the plan.

Since Mr. Lin agrees, at least in his mind, he has a complete implementation plan.

Things have come to this...

"Go quickly and invite Mr. Lin!"

"Reduce resource usage? Oh, right, you've never had any experience in website development."

After listening to David's brief description of the problem, Lin Lixin quickly understood what was going on.

Activision's core technology stack is still primarily console and PC.

They are very good at working with low-level hardware, and their code can be optimized down to the register operation level.

However, they lack relevant experience in writing high-level languages.

There was also no experience in web-based development.

This problem would be very easy to solve in later generations. But for them, whose minds are not yet clear, it is an insurmountable obstacle.

"In fact, Gamenova has used this technology many times before, but this is the first time they've put it all into one project."

As Lin Lixin spoke, he quickly ran downstairs, found what he was looking for in the Activision game museum, and then returned inside.

" Tokimeki Memorial ", " Beat Hazard ", and... "Pokepal".

The works appear to be of completely different levels, with one piece in the sky and the other on the ground.

But the ultimate answer to this problem has long been hidden within them.

Let's start with the simplest problem: resource reuse.

Lin Lixin picked up the Pokepal pet machine.

"You're in charge of this project; I'm sure you're already familiar with that."

Resource reuse, a mainstream optimization method in the old era.

The core idea is to transform a single material into different objects, thereby creating a large amount of content with a small amount of resources.

The core representative of this is naturally Nintendo's " Super Mario ". No matter the era, whenever the art of data compression is mentioned, this amazing work is always unavoidable.

In Super Mario, the actual 1-1 occupies only 131 bytes on the cartridge.

All 32 levels combined only take up 7kb of space.

Its remarkable performance is inseparable from its core technologies: color swatch reuse and texture reuse.

The same texture, painted blue and white, can be placed in the sky as a cloud.

If you change it to green and embed it in the ground, it can become a clump of shrubs.

The same pipes, with different color schemes, can be used on different maps.

This technique can also be applied in " Papa's Pizzeria ".

"I see."

David nodded and then picked up the card case of " Tokimeki Memorial ".

Every game from gamenova is a natural and perfect teaching material.

Any developer who is willing to study diligently will surely gain something. Especially core members like him, who have direct access to parts of the source code.

David once studied how the incredibly lifelike character illustrations in Tokimeki Memorial were created.

"A pre-built component library allows for the creation of various different guests through free combination, provided there are enough components. This enables the creation of more guests with fewer textures, significantly reducing resource usage..."

This is the technique Gamenova used in Tokimeki Memorial.

Split L2D.

The character is broken down into fragments and dynamically controlled in a programmed manner.

A character animation can take up to bytes.

As for " Beat Hazard," it introduced audio compression technology.

It provides the perfect answer to how to compress CD-quality audio (tens or even hundreds of megabytes) to a level that games can handle.

but...

David put " Tokimeki Memorial " back on the table.

"But that's not enough; most players' networks are still in the kilobyte range, which is still too large." These techniques are undoubtedly useful, and very effective.

Ideally, it would be possible to cut the occupied space in half.

But that's still not enough.

If they can't guarantee that the vast majority of people can play it, they might as well sell floppy disk versions.

At least its popularity is guaranteed.

"Of course, the important part comes next."

Web development and single-player games are completely different fields.

For internet workers, they are also a group of highly skilled Magic.

But what they excel at is not squeezing every last bit of performance out of the hardware, but rather utilizing bandwidth.

"If I told you that I only need one technology to compress a game's size to one-tenth of its original size, would you believe me?"

"Ah?"

"In fact, Carmack and I had already solved this problem when we were designing NovaScript and HTML technologies." Lin Lixin worked on the computer for a while, then refreshed the webpage.

A circle appeared on the blank webpage.

Then came another series of actions.

The center of the circle was hollowed out, and the closure point was broken, resulting in an incomplete circle.

Then the circle was divided into inner and outer layers.

Last refresh.

The outer side turned a deep purple, while the inner side was a white with a hint of pale pink.

Onion rings.

Lin Lixin didn't draw anything; he just wrote a few lines of code by hand.

But he actually managed to draw a fairly realistic onion ring.

And this file occupies... 711 bytes, less than 1 KB!

But Lin Lixin seemed unsatisfied and started operating the computer again.

Before long, all sorts of ingredients, such as salami, chili rings, mushroom slices, and Bacon, were drawn.

One-tenth of the space occupied?

That's at least one percent!

With such incredible optimization skills, it's no wonder he seemed so adept at handling the game mechanics when everyone was discussing them.

"Vector graphics technology describes paths instead of pixels. The Nexus Browser automatically interprets and renders these paths; it has a complete canvas system."

End of Chapter
Prev
NovelSummaries
Next

Explore the wiki

Comments