13

A story about the sense of vision, the perception of frames and the refresh rate, motion blur and television screens.
Introduction
You could hear the term frames per second (FPS), and that 60 FPS is really a good reference for any animation. But most console games go for 30 FPS, and movies are usually recorded on 24 FPS, so why should we aim for 60 FPS?
Frames ... per second?
The early days of filmmaking
image
The shooting of the 1950 Hollywood film Julius Caesar with Charlton Heston

When the first cinematographers began to make films, many discoveries were made not by a scientific method, but by trial and error. The first cameras and projectors were manually controlled, and the film was very expensive - so expensive that when trying to shoot, they tried to use the smallest possible frame rate, just to save the film. This threshold was usually between 16 and 24 FPS.
Skull 1 november 2017, 11:35

image

The speed of the game is the responsibility of all team members, regardless of the position. We, 3D programmers, have ample opportunities to control the performance of the video processor: we can optimize the shaders, sacrifice picture quality for speed, use more cunning rendering techniques ... However, there is an aspect that we can not fully control, and this is the graphics resources of the game.

We hope that artists will create resources that not only look good, but also will be effective in rendering. If the artists learn a little more about what is happening inside the video processor, this can have a big impact on the frame rate of the game. If you are an artist and want to understand why aspects such as draw calls, LODs and MIP textures are important for performance, then read this article. To take into account the impact that your graphics resources have on game performance, you need to know how the polygon meshes get from the 3D editor to the game screen. This means that you need to understand the operation of the video processor, the chip that controls the graphics card and is responsible for the 3D real-time rendering. Armed with this knowledge, we will look at the most frequent performance problems, understand why they are a problem, and explain how to deal with them.
Papay 17 october 2017, 15:34

The artists painted bright graphics, the programmers built it into the game, the animators added movements - it would seem, everything is ready. But no, managers do not like:
You need to remove gray spots and white lines. Then the pulsating button jerks, there the progress bar goes with a ladder.
You look at the game resources - there is nothing in them, all sprites are cropped. You read the code - the formulas are correct, there is enough shader accuracy. But the result was still unimportant. Where is the mistake?

image

A small poll for those who already know where the artifacts come from. What to do in this situation?


You need a powerful graphics card and fresh drivers;
It is worth making downloadable sets of graphics for all possible screen resolutions;
Square textures with the sizes of a degree of two do not have such problems;
This is all due to the compression of graphics (PVRTC / DXT5 / ETC1 / ...);
In the graphics editor you will have to smudge the edges slightly;
This should have happened, because we did not prepare graphic data;
Only antialiasing will help;
You need textures and targets in the premultiplied alpha mode.

What is the correct answer, why exactly and how to overcome the artifacts of graphics read under the cut.
Skull 10 october 2017, 10:21

I will introduce you to the full tutorial on HTML5 with a demo on the algorithm of machine learning the video game Flappy Bird. The purpose of this experiment is to write an artificial intelligence controller based on neural networks and a genetic algorithm.

That is, we want to create an AI robot that can learn the optimal game in Flappy Bird. As a result, our little bird can safely fly through obstacles. In the best scenario, she will never die.

After reading the theory behind this project, you can download the source code at the end of this tutorial. All code is written in HTML5 using the <a title="Phaser Framework" href="http://phaser.io/"> phaser </a> framework. In addition, we used the Synaptic Neural Network library to implement a neural network so that it would not be created from scratch.
Demo
First, look at the demo to evaluate the algorithm in action:

image

Run in full-screen mode
MeLavi 10 october 2017, 9:05

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

The problem of most disputes about the problem of piracy is that in them "value" is estimated only in "monetary" dollars. Therefore, the problem is formulated like this: "When buying a game from us, the user spends money dollars. A pirated copy costs zero money dollars. So most people will pirate the game if they have a choice, so you need to stop them at any cost. "

image
The dollar is famous for everyone.

This is the error, therefore, at least four currencies, and not one (monetary dollars) should be taken into account here.

I propose the following notation:


($ D) Monetary dollars
($ B) Temporary dollars
($ D) Headache paints [in the original Pain-in-the-butt-dollars]
($ Ч) Honesty Dollars

The player makes the choice to buy or spiratit game based on how much "each" service (and not product! ) costs in these four currencies, and also depending on the value for the player each of them.
MeLavi 27 september 2017, 13:23

According to the StatCounter statistics, the number of mobile web users has surpassed the number of desktop web users. This goes to show how many people use their mobile devices to browse the internet. According to Gartner prediction, the revenues from mobile app will surge to $77 billion in 2017. The question remains, how will you make your app stand out from millions of other mobile apps? The answer is by following the best mobile app development practices. In this article, you will learn about seven best mobile app development practices.

Know Your Target Audience
The first question that you need to ask yourself is who will use this app? Understand how your user will interact with your app and which feature they want in your app. If you want your mobile app to be a roaring success then you should know your audience like a palm of your hands. The better you know your audience, the better change you have to give them what they are looking for. Not only does this makes your job a whole lot easier but it also pave the way for delivering a perfect user experience for your app users.

Have a Design Strategy
Having a design strategy is critical for success especially when you are developing a cross platform mobile application. When you are designing a cross platform app, multiple activities are underway simultaneously. Therefore, if you do not have a sound strategy then there are bright chances that you mess up your mobile app. List down key functionality of your mobile app as well as future components on paper so that you can easily minimize the risk of emerging problems at different stages of app development cycle. Involving users into the design process will provide you with valuable feedback that will take you closer to designing a perfect mobile app for your users.

Develop Most Important Features First
Many app developers take the adventurous route of creating the most difficult feature of the app first. As a result, they fail to launch the app before the deadline and their mobile app exceeds budget. The best way to go about it is to focus on essential and core features and develop them first then move on to create features that are more complex. You will have to lay a solid foundation with core features and then take it from there. App developers can work on additional features and launch them in next releases or as a plug in when necessary but should focus on critical features of an app.

Make App Security Your Priority
According to Now Secure mobile security report, 35% of mobile communication, both voice and data are not encrypted. Moreover, most of the mobile communication takes place through wireless medium. This makes it a soft target for hackers and more vulnerable than other wired communication devices. Make mobile app security your priority, identify and fix any vulnerability in your mobile app before releasing the mobile app for users. Keep the user confidential and private information safe so that users are comfortable in using your mobile app.

Test, Test, Test
Despite putting a lot of emphasis on testing the mobile app before putting it up for downloads, a survey revealed that, less than 50% of companies test their mobile app for security while 33% do not even bother to test their mobile app, which is quite alarming. It is better to test your mobile app at each stage of the app development cycle but if you cannot do it, at least test the app thoroughly at the end and make sure that there are no glitches left before uploading your mobile application on app store. One bad user experience can prove to be very costly so it is better to pass your mobile app through comprehensive testing processes to prevent such issues.

Establish a Feedback Mechanism
Last but certainly not the least, is to incorporate feedback into your mobile application. Provide user with a medium through which they can give their feedback and share their opinion with you. Users can prove to be a vital resource if you allow them to give feedback as they experience crashes, bugs and errors that you might have missed. This makes it easy for app developers to make improvements in the future. Ask users about which features they want to see and add them in the future releases to satisfy them.

At the end of the day, it usually comes down to the user experience and satisfaction that will decide the fate of your app. If you know about any other mobile app development best practice that can make a big difference to your mobile app development efforts, then feel free to share it with us in comments section below.
Ruby Madison 12 june 2017, 7:58

Once it seemed that the movie stunts will be done without stuntmen. However, it's still wrong. The computer animation always uses the motion capture technology to capture the stuntman motion.

Even the the most advanced blockbusters to make the animation that exceeds the stuntman capabilities when shooting motion capture use the steel ropes, trampolines and other tricks. Is the animation possibility limited to that?
Siera 3 june 2012, 11:13

So, the news says that someone else has died due to video game addiction. Yes, it is Korea again.

I am not trying to prove that the video games are heroin. I remember that in this case the victim had a lot of problems in live. But, half of you know that the World of Warcraft sucks you into that and doctors consider the game addiction as a serious problem. So here's the big question: Are some games intentionally designed to keep you playing, even when you are not enjoying it?

Surely, they are.

5. Forming the habits (reflexes)

image

If you have ever been addicted to a game or known someone who was, then this article is really disturbing. It is written by Microsoft game researcher on how to make video games that attract players, whether they like it or not. This person has a doctorate in behavioral and brain sciences.
KlauS 21 february 2012, 18:08

Matthew Fisher from Stanford University wrote an interesting article about implementation of a robot on the basis of stream interception API library D3D9 (Microsoft Direct 3D, which is a part of the library DirectX).

According to the author, the robot plays StarCraft 2 (SC2) by intercepting, understanding and reacting to the D3D9 API stream, then sending keypresses and mouse commands back to the game. It is not like other robots made in the SC2 editor using a scripting language, or projects like BWAPI (it works with the original StarCraft only) that works by attaching to the address space of the host application. The robots that are based on these methods often can to bypass several restrictions that the human players must cope with; for example, they can give different orders to different units at the same time, they can see exactly what is happening off-screen at any time, and they do not have to deal with trying to click on ground units that are covered by flying units.

image
Siera 21 december 2011, 13:33