home

search

Chapter 65: Justers Scroll Algorithm

  Chapter 65: Jester's Scroll Algorithm

  After their conversation ended, Mark Sennett, who was really too sleepy, yawned and went to the rest room to sleep.

  Jester sat down in the chair where Mark Sennet had been sitting before and stared thoughtfully at the computer.

  On a personal computer, he could indeed achieve the scrolling effect. He had seen Carmack's scrolling algorithm before his rebirth, which was a very clever method that could achieve arcade-like scrolling animation effects on PCs that were not suitable for games at the time, however...

  Jester thought of something that made him hesitate a little.

  It is well known that PC games were born very early, but the real beginning of PC games being accepted and able to be compared with those exquisite home consoles or arcade games in terms of quality started after the birth of Carmack's 3D rendering algorithm.

  The Karmarkar algorithm is also one of the two milestones in the history of personal computers, and countless games later, whether on personal computers, arcade machines or home consoles, have used this scrolling algorithm countless times.

  Moreover, both milestones are related to Carmack: one is his Quake algorithm and the other is the completion of the world's first true 3D engine.

  His innovation allowed game creators to realize their long-held but previously unattainable visions on the PC, and the first PC game that was in no way inferior to console games was born with the advent of Carmack's scrolling technology - this game is also the originator of action-adventure games, Prince of Persia.

  What Jester admired most about Carmack when reading his biography later was that he was a true programmer.

  The programmer mentioned here is not just a coder who can write code, but a programmer with infinite creativity and imagination, who can turn these into incredible programs, yet does not consider these programs as their own private territory.

  Yes, Carmack is a strong proponent of open source software. All the programs he has written are released without patent and made available for anyone to use free of charge. The most notable example is probably Valve's Half-Life which uses an engine written by Carmack for Quake, without having to pay any licensing fees.

  This is because at that time, G-fat was full of confidence after watching the demo of "Ragnarok" and found that these people could not make a 3D engine that could achieve this effect no matter what. It just so happened that one of G-fat's friends was an apprentice to Carmack at id, so he easily got the Ragnarok engine from id.

  Thus, there was the birth of the most milestone work after "Thor's Hammer" for FPS.

  There is even a story about Carmack's attitude towards open-sourcing his code.

  At the time, Carmack was working at a gaming magazine and completed the scrolling effect, and with the help of an artist colleague, perfectly replicated the first level of Super Mario on a computer.

  Then his boss saw the game demo by Carmack and just said this.

  "Oh! You should apply for a patent."

  It turned out that Kamaq immediately stood up from his seat, pointing at the bridge of his boss's nose with his finger, and then roared incessantly: "To hell with what patent! If you dare to mention patents to me again, I'll leave immediately!"

  It wasn't long before Carmack, at John Romero's urging, actually did quit.

  So, for Carmack, this genius is both wanted and unwanted. He can indeed accomplish many things that other programmers dare not even think about, but the problem is that his special faith in open source software is unbearable to any game company's boss.

  Can you bear your company's painstakingly developed game engine being open-sourced and used by everyone for free?

  If Jester were a gamer or an indie game developer, he would consider Karmak with this spirit to be a god, but he isn't now, although he used to be.

  So, every time Jester gave Carmack a task, it was just some creative but not highly technically demanding small games, and each time he would apply for a patent for the game design plan and keep his communication with Carmack, just to prove in the future that the copyrights of these games belonged to him, while Carmack was just a programmer he hired to help him complete these ideas.

  Jie Si Te sat in front of the computer, staring at the flickering fluorescent screen. He was worried that if he really made the first scroll game on PC, what impact would it have on the current gaming industry?

  Under the impact of Atari shock, the home console market was damaged the most and almost completely destroyed. The arcade was slightly less affected and has now started to warm up gradually under Jester's efforts. However, the industry that was least affected, or rather, hardly affected at all, was the PC gaming industry. Unlike Japanese designers, countless European and American designers in Jester's mind were honed on personal computers of this era.

  If they had really released a scroll game a few years earlier, would it have affected their future plans to release a home console?

  After a moment's thought, Jester's face suddenly revealed a mocking smile, as if he was ridiculing himself.

  "I'm really a bit of a worrier." Jester muttered, and indeed he was. In his later years, when computer games could rival console games in quality, and PC hardware was even stronger than consoles, the PC version of the same game across all platforms would be hard to sell one-tenth of what the console version sold, let alone one-twentieth. And that was in the future, not now.

  To know that in the future PC's market share will be several dozen times that of game consoles.

  Having figured this out, Jester's decision was made. After all, ATi is also his industry, and being able to let ATi dominate the market ahead of time would only bring him benefits, not harm.

  However, Jest is not a programmer with utopian ideas like Carmack. He is the owner of a game company and naturally his scroll effect cannot be used by others for free after open-sourcing it. Applying for a patent is a matter of course.

  Having thought through all these things, Jester, who had been driving for a day, was also somewhat tired. His own resting room was occupied by Mark Senny, so he could only sleep on the sofa in Mark Senny's office, barely getting some rest.

  The next day.

  Jester yelled across the office to Mark Sennett and two programmers from his R&D group who had been working with him just two days before on a program to do scroll effects on personal computers.

  "How did you manage to complete the scroll effect?" Jester asked a few people before formally explaining the Karmark's scroll algorithm.

  Mark Cerny simply said: "At the beginning, we wanted to directly copy our method on arcade machines to personal computers, whether it was drawing images directly on the screen or getting more memory to get performance improvements, but they were not realistic. The reason is that personal computers are really too slow, although they use 16-bit CPUs, personal computers and arcade machines have different motherboards, their CPUs can't just be responsible for calculating our program, they have a lot of things to process."

  "Later we found out that to get the same effect as in the arcade version on a personal computer was basically impossible, unless we were using 32-bit CPUs and some other matching memory, video memory, etc. So Brian and I gave up, except for the director." This time it was a programmer named Brian who spoke, he and the mustachioed programmer next to him, Larry, were the lead programmers of Mark Cerny's group, and they had conquered the scrolling effect in "Avengers".

  At this time, Mark Seni spoke out and emphasized a sentence. He spread his hands and his tone was somewhat disappointed: "To be honest, I haven't achieved anything in the past two days either. So last night after you came back, I also planned to give up on this plan."

  "Hehe."

  Jester chuckled softly after hearing it.

  He slightly prepared his words in his heart, then opened his mouth and said, "Don't rush to give up, let's talk about how we achieved the scroll effect on the arcade machine. I've seen the engine package you guys did before, and roughly understood your thinking. It seems that when the player controls the character to move, if the character moves far enough, far beyond the screen, in order to make the background move with the player's movement, you used the most direct method, which is to let the CPU redraw all the pixels that make up the picture."

  Mark Sennett nodded in agreement, they did indeed do that in Avengers.

  Jester saw them all nodding in agreement and continued speaking.

  "However, because this requires a large amount of computation, in order to make the character's movements also smooth in such repeated pixel calculations, you have come up with several clever algorithms, but that is not the focus of our discussion this time, so I won't say more, just talk about the scrolling redraw."

  Jester's tone became humble as he spoke.

  "Your programming skills are all above mine, to be honest, I shouldn't be showing off in front of you, but last night when I was sitting in front of the computer, I accidentally had an idea, listen to it first."

  Mark Sennett and the other two couldn't help but burst out laughing at Jester's humble words.

  "At that time I was just thinking, what we want is what? -- We want the image to move smoothly when the player passes through the game." Jester continued.

  Mark, Sean and the three didn't get impatient with Jester's nonsense, they had all seen their boss's brilliant ideas when designing games, and sometimes, designing an excellent program might just be missing a brilliant idea.

  Jester spoke quickly, but his enunciation remained clear.

  "At that time, I remembered a method of handling this situation when I was designing an RPG game on my computer. In that game, when the player's character walked to the edge of the screen, I would make the background do a big adjustment. This kind of tile-based scrolling is a very common technique. But what I'm doing now is not tile-based scrolling, but pixel-based scrolling. Even if the player only moves a little bit, the background needs to adjust accordingly. However, after watching Mark Cerny's program about this scrolling animation, I found that this approach won't work."

  Then, Jester's face turned increasingly serious, and the smile on his face grew thicker. He continued: "So, I changed my thinking mode - why do we need to redraw the entire screen? When the player controls the character to move, although the background is changing, it's not the whole background that's changing, but only a small part of the background."

  As he spoke here, Jester's smile on his face disappeared and became serious. He was about to get to the core of the Karmark scroll.

  "What if, instead of redrawing the entire screen every time, only the parts that actually changed were redrawn?"

  As soon as Jest said this, the eyes of Mark, Sen, and three others lit up. They already knew what Jest was thinking, and they were also extremely talented programmers. In an instant, they almost got the answer to Jest's question.

  What will happen then?

  Of course, there is no doubt that the CPU's computing power will be only a fraction of what it was before, even one-tenth or less, and the scroll effect will also execute much faster, to be exact, extremely fast.

  Although there was no real program to verify it, the three of them also knew by their own sensitivity to code that Jester's method might actually be able to achieve on a personal computer what had previously only been possible on arcade machines: smooth scrolling animation.

  This is truly a great idea.

  This was the only thought in Mark Sennett's mind at this moment.

Recommended Popular Novels