3

It has been four and a half years since I, using a freshly received invoice, wrote previous hubra with such a title. A great time for the gaming industry. Many new good games have appeared and recently I felt an urgent need to share knowledge about them with the general public.

Despite the danger that again there will be a dispute regarding the title, I decided to leave it as before, in order to preserve continuity. You can take it as "games for those who have the ability to program," or something like that. However, I believe that you are reading this post not for reasoning about semantics, so let's get to the point.
Infinifactory
image
MeLavi 9 october 2017, 12:27

In this article, we'll talk about the "magic" constant 0x5f3759df, which lies at the heart of the elegant algorithmic trick for quick calculation of the inverse square root .

Here is the complete implementation of this algorithm:

float FastInvSqrt(float x) {
float xhalf = 0.5f * x;
  int i = * (int *) & x; // represent the float bits as an integer
  i = 0x5f3759df - (i >> 1); // what the hell is going on here ?
x = *(float*)&i;
x = x*(1.5f-(xhalf*x*x));
return x;
}
This code calculates some (fairly good) approximation for the formula

image

Today, this implementation is already well known, and it became so after the appearance in the code of the game Quake III Arena in 2005. Her creation was once attributed to John Carmack, but it turned out that roots go much further - to Ardent Computer , where in the mid-80s it was written by Greg Walsh. Specifically, the version of the code that is shown above (with funny comments) is really from the Quake code.
In this article we will try to understand this hack, mathematically derive this very constant and try to generalize this method to calculate arbitrary degrees from -1 to 1.

Yes, it will take a bit of math, but the school course will be more than enough.
xially 19 september 2017, 9:34

image

Now developers from around the world are trying hard to create software for all kinds of robots, including the quadrotors with "intelligence". Recently, KMel Robotics company and the University of Pennsylvania have introduced a new design of quadrotor, which shows some progress in the development of software for the robots interaction.

In the showcase presentation were 20 nano quadrotors, each of them is equipped with a balancing system as well as able to interact with the "colleagues". In addition, each unit can operate independently, for example, it is able to round encountered obstacles. In this case, the remaining quadrotors will not repeat the movements of its “colleague”.
Pirat 28 february 2012, 10:44

Plankalkül (Plan Calculus) is first high-level programming language in the world designed for engineering purposes by Konrad Zuse between 1943 and 1946 for his computer Z4 (the picture of computer is below, taken from "Wikipedia").

image

There was the World War II; Zuse worked in isolation from the scientists of other countries, quite independently. During this time he had created not only a programming language, but also he wrote 49 pages of programs for evaluating chess positions using this language. All his work was eventually more comprehensively published in 1972.
Pirat 11 december 2011, 14:27

image
Let us try to write a simple Drum Machine in Perl using MIDI and Tkx as a graphical toolkit.

Key Features

1. 47 tools, 4 can be used simultaneously.
2. Keyboard control.
3. Volume control.
4. Control of BPM from 60 to 600 beats per a minute.

General MIDI provides a special channel under number 10 for the percussion instruments.

The required numbers of notes can be found on this webpage.

We need the modules: Win32API:: MIDI and Tkx. The last you have to be installed, if you are using ActivePerl.
Pirat 4 september 2011, 19:29