Online Game Publishing Compliance Seminar

Recently, the “Publicity Department of the CPC Guangzhou Huangpu District Committee” guided, and the “Guangzhou Huangpu District Audio-Visual and Digital Publishing Association” hosted the “2024 Guangzhou Huangpu District Animation and Game Industry Development Series of Activities – Online Game Publishing Compliance Seminar”.

Their PPT pages were publicly released by “Game News” and “Ran Lan”, but the image quality is poor and the order is a bit chaotic, which is not suitable for direct research. So I spent some time sorting it out, and sorted the PPT pages in chronological order according to the file names taken by “Ran Lan”. Finally, an indexing function was added to this leaked PPT image.

After that, I plan to do OCR processing on the content of each PPT and look for interesting content.


Source: You can go to ggame to view it.

Minecraft ‘s Distance Algorithms and Tessellations

密铺0
密铺1
密铺2
密铺3
密铺4
密铺5

Minecraft uses three distance algorithms, which are used in different mechanisms. For example, the moistening effect of water on farmland is 4 blocks in Chebyshev distance. The support range of scaffolding is 6 blocks in Manhattan distance.

Image 1 shows the moistening of farmland by one block of water, and images 2 and 3 show the maximum support range of scaffolding. If you want to use the least amount of water to make an ordinary farm, you only need to make multiple 9 × 9 farmlands like this, and then tile them together. The essence of this problem is square tiling.

Scaffolding can also be tiled in this way to achieve the largest area with the least amount of materials. For the convenience of demonstration, sugarcane with a Manhattan distance of 1 block is used here (sugarcane needs to be 1 block around the water to be planted) as a demonstration.

Images 4 and 5 show the tiling method with a Manhattan distance of 1 block (image 5 is from Wikipedian Tomruen), and the principle is the same for larger Manhattan distances. Image 6, from the video of Bilibili UP master “Azhu_233“, is the scaffolding tiling method.

P.S.: The rest is the straight-line distance, that is, the Euclidean distance. But it is mainly related to entities, such as monster spawning distance, monster line-of-sight distance, etc., and has little relationship with blocks.

Music to Listen to at Faster Speeds

In August 2022, YouTube introduced the video playback speed feature to users through a blog. Most people use the default 1x speed, while the second most used speed is 1.5x. Although YouTube did not disclose the proportion of users who like to play at faster speeds, since they mentioned it in a blog post, the number must be significant.

Since many people play videos at faster speeds, should video creators pay attention to this? For example, using slower BGM to prevent some music from becoming too noisy when sped up?

The Bilibili UP master “迷人Rui_” specially adjusted the BGM 『新学期スタート!』 in the video “教你山洞建筑学“, slowing it down to about 0.8 speed. This way, even when played at 2x speed, the music is actually only at 1.6x speed, which doesn’t sound too chaotic.

Perhaps, in the future, someone will directly create music suitable for playback at various speeds. Or separate the audio track of the video, separating the vocals from the BGM, so that the player can play a fixed-speed BGM track when playing at different speeds.

Starting From One, Not… Starting From Zero: Why Do Many Programming Languages Count From Zero?

As the title suggests, the arrays of many programming languages start counting from zero. For example, in JavaScript, write a simple array and get the value with index zero:

const 水果 = ["香蕉", "苹果", "桃子"];
console.log(水果[0]);

This will return "香蕉". The popularity of this design can often be traced back to C language. Although C language is considered a high-level language, it still has many features of low-level languages for the sake of performance. The essence of an array in C language is a pointer to a memory address, and the number represents the offset value. Therefore, 0, which has no offset, represents the first one, i.e. 0 = 1.

Later, many high-level languages used the concept of index to represent array numbers, but influenced by C language, they also followed the “starting from zero” convention. Only a few marginal languages, such as Lua and MATLAB, use array numbers starting from 1, i.e. 1 = 1.

Therefore, programmers are not necessarily used to counting from zero, but because of historical inertia, they have to continue using this somewhat counter-intuitive counting method. But since this is just historical inertia, there are some contradictions, such as code line numbers.

The default settings of most editors and the specifications of languages all start code line numbers from 1. For example, Python’s error reports can only find the corresponding errors on editors that start line numbers from 1, i.e. 1 = 1.

However, the programming language mlog in the game Mindustry uses line numbers starting from zero and has practicality, because it needs to specify the exact line number when executing the jump (goto) instruction, i.e. 0 = 1.

This mixed situation of 0 = 1 and 1 = 1 can be a bit confusing. Therefore, some users of VSCode editors wanted to enable support for zero-based line numbers in its settings and initiated a feature request. However, developers from Microsoft closed this feature request on the grounds that other editors did not support this feature. This shows that historical inertia has a great influence on these issues…

Inspiration and some content are from the video by Bilibili UP host “原子能” (Atomic Energy)《那些无解的计算机问题【让编程再次伟大#16】》(“Those Unsolvable Computer Problems [Making Programming Great Again #16]”).

Underground Culture

“Underground” is a common name for resistance movements during periods of social division. For example, during the American Civil War, abolitionists created the Underground Railroad to help slaves in the South seek freedom in the North. (There wasn’t a real railroad; it was a transportation network composed of agents and safe houses.)

Or secret societies aimed at enlightenment, quietly publishing underground publications. Authors could publish content without censorship, so during the Vietnam War, various underground publications that could publish anti-war content were very popular in the United States. However, after the war ended, American underground publications completed their mission and were no longer popular.

Later, the term “underground” gradually became synonymous with subcultures that differed from the mainstream. Such as hippies, punks, and non-mainstream works such as underground music and underground films. Underground films may deviate from the mainstream in terms of style, genre, scale, and financing. After filming, they may not be screened in regular cinemas, but will be screened in underground cinemas such as bars.

However, underground films in the Chinese context are somewhat special. For example, Jiang Wen’s film 《Devils on the Doorstep》 led to Jiang Wen being banned from filming for 5 years. And Ning Hao’s film 《Incense》, its investors were afraid of being fined, so they chose to withdraw their investment. The meaning of “underground” in the distant past does not seem to have disappeared.

P.S.: In Chinese, the underground publication 《Spark》 appeared in 1959, with only 8 pages. 43 people related to the magazine were later arrested. 3 of them were executed, and the rest were sent to labor camps.


Source: You can view it at ggame.

Spy x Family

《Spy x Family》 is a work by manga artist Tatsuya Endo, published on Shueisha’s manga App/website “Shonen Jump+”. It is a very popular manga, and was later adapted into an anime up to manga chapter 59. The genre is like a family-themed sitcom, but the subsequent story reveals the profound content that the author Tatsuya Endo wants to express.

Tatsuya Endo used to be an assistant to Hajime Isayama and Tatsuki Fujimoto. His first two solo works also had many cruel depictions. But editor Shihei Lin suggested to Tatsuya Endo: create something more positive, and even forbade him from drawing anything dark, which led Tatsuya Endo to think of drawing this family-themed sitcom.

However, from the ratings of 《Spy x Family》 Season 1 anime in various regions, you can see that it is unusual. Most regions such as the United States are around 14 years old, Japan is a late-night anime, and France and Brazil are 18 years old. Only Taiwan is 0+, that is, for all ages, and other regions are basically rated around the age of youth.

The reason for such a high rating is that it contains violence, blood, naked female paintings, swear words, smoking and drinking, which are not very friendly to children. It is not necessary for comedy works, but the author still portrays it to some extent, and buries a little of Twilight in the early sunny plot.

In manga chapter 62, the author finally showed his cards, and through the past story of the spy Twilight, he told the audience about the past war. This is a story about friendship, being deceived and wishes, which introduces dehumanization. The subsequent chapters 97 ~ 102 tell the story of two supporting characters during the past war.

It seems that Tatsuya Endo has found a way to make the current storyline tend to a sitcom, and at the same time, he can describe the devastation of war on people in the character’s memories. This allows the work to choose a popular theme under the influence of the editor, and also carry the author’s own expression, which is really great.

PS: Shihei Lin is also Tatsuki Fujimoto’s editor, and their relationship is that of a Bole and a Maxima. Shihei Lin not only discovered Tatsuki Fujimoto, but also sent him a bunch of movies and provided suggestions.