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

China is funding the development of the world's first prototype supercomputer for exaflop computing. The speed of the system will be a quintillion operations per second. Such a capacity the country will send to support the program of marine research.

image
KlauS 7 october 2017, 10:49

image
These are the principles of software development, taken from the Robert Martin Clean Code book and adapted for PHP. This manual is not a programming style, but to create a readable, reusable and refactoring-friendly PHP code.
Not each of these principles should be strictly observed, and with even fewer will all agree. These are just recommendations, not more, but they are all codified in the author's many years of collective experience.
The article is inspired by clean-code-javascript .
KlauS 7 october 2017, 10:27

Prelude
Developing a game for iOS
Promotion of the game
Purely neighing
Prelude
This story happened in May exactly on the bench where Berlioz and Bezdomny had argued about the essence of Christ. My friends and I also argued about the possibility of making money on our iPhone-game. I said, suddenly, that without investing money it is impossible. Reluctantly my opponents agreed. I strengthened the trolling and added: - My friends, without big money it's absolutely impossible! Any amount less than $ 25,000, spent on the promotion of the application - will turn into a zipper. Пшшшш!

Everyone was indignant and drove me off the bench. At the same time, and from Moscow.

Following the publication of image

Following the publication of the flared up serious competition for the Cup 26-08.
Players with Habra are so strong that on the first day they kicked me from the top of Olympus. But! In the first tower I found a solution for 2 points better than the others. And I won guys from Ukraine and Russia.
We can still!

KlauS 6 october 2017, 11:24

It's hard to argue that the landscape is an integral part of most computer games in open spaces. The traditional method of realizing the change in the relief of the surrounding surface player is the following - take the mesh, which is a plane and for each primitive in this grid, we make a displacement along the normal to this plane by a value specific for this primitive. In simple words, we have a single-channel texture of 256 by 256 pixels and a grid plane. For each primitive from its coordinates on the plane, we take the value from the texture. Now we simply move the coordinates of the primitive along the normal to the plane by the resulting value (Fig. 1)

image
Pic.1 map of heights + plane = terrain

Why does this work? If we imagine that the player is on the surface of a sphere, and the radius of this sphere is extremely large in relation to the size of the player, then the curvature of the surface can be neglected and a plane can be used. But what if we do not neglect the fact that we are on the sphere? I would like to share my experience of constructing such landscapes with the reader in this article.
KlauS 6 october 2017, 11:22

In the code id Software sometimes there are unmatched pearls. The most famous is, of course, 0x5f3759df , which even got comics on xkcd . Here we are talking about filling the screen: pixels are colored one at a time in random order, without repetition. How is this done?

image
xially 5 october 2017, 14:56

image

On November 23, 2011 id Software supported its own tradition and published the source code of its previous engine.

This time, it's time idTech4 , which was used in Prey, in Quake 4 and, of course, in Doom 3. In just a few hours more than 400 forks of the repository on GitHub were created, people began to explore the internal mechanisms of the game or port it to other platforms. I also decided to participate and created a Intel version for Mac OS X , which John Carmack kindly advertised .

From the point of view of cleanliness and comments, this is the best release of the id Software code since the code base Doom iPhone (which was released later, and therefore commented better). I highly recommend that everyone learn this engine, collect it and experiment.

Here are my notes about what I understood. As usual, I cleaned them, I hope they save someone a couple of hours and encourage someone to study the code to improve their programming skills.
xially 5 october 2017, 14:04

"Something is missing here." I bet you, this idea will come first to your head, if you see my workplace in the office. There is no monitor and mouse. There is only a guy who threshes on the keyboard, looking as if into emptiness.

image

It's just me, and my colleagues guarantee you that I'm usually not dangerous. I'm a programmer at the Vincit office in Tampere (Finland). And I'm blind. In this article I want to tell you a little about how I work.
xially 5 october 2017, 14:04

image
One of the most important factors affecting the speed of development and the success of the project launch is the correct decomposition of the product manager idea into tasks for programming directly. How to do it right? Take the script of the new feature from the product and immediately start coding? First, write the acceptance tests, and then code that will provide their passing? And, maybe, shift everything to the shoulders of developers - and let them decide during the spam poker themselves?
Let's think about it and identify the problems that can arise in the process of separation of tasks, and the ways to solve them. In this post, we will discuss the basic principles of decomposition of tasks when working in a team. My name is Ilya Ageyev, I'm the head of QA in Badoo. Today I'll tell you how workflow affects decomposition, how different are testing and laying out tasks that arise as a result of decomposition, and what rules should be followed to ensure that the development process goes smoothly for all participants.
xially 3 october 2017, 11:58

image The meeting of the ISO WG21 C ++ Committee, which was held in Toronto from 10 to 15 July, ended today. Soon we will surely be waiting for detailed report from WP21 , and today the respected public is offered a post- "Warming up" with a discussion of the most interesting.

The results of the meeting are as follows: C ++ standard 17 is completed and will be published at the next meeting in November this year; the standard C ++ 20 has already acquired the first serious features - concepts ( concepts ), explicit generic lambda functions (explicit explicit lambdas < / i>) - and this is just the beginning.

The possibilities of the new C ++ standard 17 have been discussed more than once, about innovations written on Habr , conducted reports at conferences , so I will not bring them here again. It's no secret that the key feature of this release of C ++ was carrying the most "delicious" options into an uncertain future. Well, now we can say with certainty that many of the long-awaited "features" have moved to C ++ 20. The course taken for the stdlib extension has not gone away, so a much larger and rich set of functions can be expected from C ++ 20.
xially 3 october 2017, 11:55
1 2 3 4 5 6 ...