Gaming machine inside and out. Review from the manufacturer


Seals, where do without them

Hello, my name is Oleg, and I manage and own a company that is engaged in the development and production of slot machines with a cash prize.

Since this topic is poorly covered on Habré / GT and I would like to tell you a lot, I’ll start with a general introductory article. I thought for a long time from which side to approach this topic: standard autobiographical presentation “how I opened the casino ..” or talk about how the drums and bonuses in games are calculated, about the hardware platform used in our industry, about the architecture of programs, which we develop, about game addiction, etc. But at the beginning, let it be a mini-review about everything, but I will try to make it interesting.

Immediately I would like to note that even though I am in Ukraine, where gambling is banned, but development and export are quite legal. And even though we cover the full cycle (software development, game boards, graphics, sounds, buildings, assembly, operation) - operating in countries where this business is legal, although it is strictly regulated.

A gaming machine with a cash gain (hereinafter - a gaming machine) is usually a video slot, as in the photo below.


Apex gaming machine

It can also be

lottery terminal

Lottery terminal of Zeus Play

Or

bingo machine

Бинго-аппарат компании Zitro

Bingo is essentially the same lottery, this game is familiar to us by Soviet barrels in a bag, with cards, it was even called so - lotto. But nevertheless, this game is so popular among Latin American peoples that it is usually taken out in a separate class.


Playing bingo of our own production.

In this article, we will focus on the video slot, as the most interesting instance of gaming machines.

Technically, a standard gaming machine is a metal case, with a gaming board inside, 2-3 monitors, with a touch screen, and peripherals.


The photo of the gaming machine was not found in its open form, in this image it is a gaming terminal of its own production. The compartment on the right with the door - for the bill acceptor

On the main (lower) monitor, a special program emulates the rotation of the reels, which contain game symbols. The drums are most often 5, each is 3 characters in height, although, of course, there are many variations that would “distinguish”. The player's task is to catch a certain combination of symbols on the adjacent reels. Most often in a line, most often from left to right, but not always.


In this game situation, 4 “10” symbols were drawn along line number 19. In this case, the “lion” symbol is a WILD symbol, which replaces any other.

Game rules are different, and usually rendered, on a separate additional monitor.


Sample paytable

Interestingly, additional monitors, which previously were just advertising glass, with information about the prizes, have grown in size so that they now exceed the main “working” area. The total number of monitors on one device can be up to five - a mini-touch control panel, a monitor with drums, 2 monitors with information on prizes / jackpots and the top monitor “topler” with the brand logo. The standard diagonal size is 24 ”.

Although some manufacturers do not stop:


Игровые аппараты компании Arictocrat

Let's look inside the device.
The heart of the product is the game board. Previously, it was the most complex modular multilayer boards of its own production, which cost the manufacturer "a pretty penny".

Novomatic Coolfire

board Proprietary boards had only one advantage - manufacturing complexity as copy protection, but this did not stop China and Taiwan. The price of the copy was very noticeable, for example, the cost of a bare copy (without firmware) of the Novomatic Coolfire gaming board reached $ 2,500.

Of course, 10 and 15 years ago, there were PC-based solutions. However, they were not very suitable for several reasons.

First of all, they did not cope well with the control of a huge number of peripherals, and with the preservation of the instantaneous state of the game with a sudden loss of power. In addition, not all regulatory and control authorities were ready for the metrology of such devices: a typical case from those times — an inspector with a programmer requires a ROM to remove the checksum of the firmware.

As a result, many PC-based products were buggy, lost data, or were generally built on the desktop version of Windows. All this created a bad reputation for PC-based devices, and even a perfectly working product was hard to sell.

It is necessary to cancel that existed, and there are symbiosis of x86 platform, specially designed for the gaming machine.


Advantech Innocore gaming platform

However, nowadays, most manufacturers use the PC platform. This was made possible thanks to technology - thanks to a capacious and reliable EEPROM, fast tires, dual-head video modules, and motherboard manufacturers who took a step towards the meeting of our industry. Moreover, both in the technical aspect and marketing. For example, it was worth ordering 200 motherboards, and Fujitsu’s development manager for Europe from Germany came to our production site.

As a result, now the standard solution for the device is an industrial motherboard, plus an interface gaming board that controls the periphery and stores financial and gaming information.

The “interesting fact” subheading: when using a PC, financial data and a gaming combination are usually stored in the game board in the EEPROM. Therefore, in order to eliminate the situation “nothing matched the first two reels - we pull out of the socket, and the new one”, after pressing the start button, you first have to generate a combination, recalculate finances, save a new machine state dump into the board, and only then turn the drums.

The “life stories” subheading: at the beginning of the two thousandths, one large English manufacturer producing mechanical devices sent us 5 own-designed video slot machines for the test as a novelty. The devices were built on the basis of the PC, and that alerted immediately - based on Windows. Ok, set. On the third day - a call from the salon "we have an unrealistic big win, the player has already called the police, what would fix". Come: 99999999 hryvnia on the screen. From a zero, edinichka somehow lost in the guys in the program. Well, thanks for the BCD format, not WORD, otherwise it would be 4,294,967,294.

We use the industrial board Fujitsu D3313-S4 in conjunction with the "game" board of its own design, based on the STM32. The boards communicate with each other via Ethernet. We abandoned USB for a number of reasons, but because There are 2 ethernet connectors on the motherboard - it’s even more convenient for us.

Consider the periphery of a standard gaming machine.

Control buttons


"Just buttons" used earlier, were replaced by buttons with a programmable TFT-display inside. This is one of the fat advantages of our industry - you can "touch" interesting products for work purposes.


The keyboard of the Williams gaming device is

now in trend - the LCD touch panel, but they do not give a tactile sensation of pressing, so they are often used in combination with the mechanical button “START” for which you can beat.


Keyboard panel apparatus of the company IGT

Bill acceptor


The main element in semi-autonomous devices (there are cashless solutions, but more about them later). Typically, this is a complex electro-mechanical device, with a set of sensors and electro-mechanical actuators.


JCM iVision bill acceptor model

Accepted bills are stacked in a cassette, in a stack. Standard cassette - 500 bills.

The “interesting fact” subheading : many people think about how a bill acceptor recognizes a bill. It does not have an optical scanner, like a computer. Naturally, there are developments based on image processing, but usually they are just optical and ultraviolet sensors with a prism, which accumulate the integral components of colors, and are compared with the standard.

These sensors work in conjunction with magnetic sensors, and sensors of the physical presence of the bill. The principle of comparing the integral parameters allows you to filter defects on the bills, as well as to cope with varying degrees of wear.


JCM iVision bill acceptor module

The sub-story "life stories": in the two thousandth years, the devices of one large producer took 10 UAH, cut exactly across, with a glued leaf cut out of a notebook in a cell, and 5 UAH, with a glued leaf from a notebook in line. If you paste on the contrary - it did not accept, it worked in this configuration. It was not clear how someone thought of this, but we suffered losses rather big, until the manufacturer released the update.

There are bill acceptors with a mechanism for paying bills, but we'll talk about them next time (if it will be).

Coin acceptor


Rarely used, usually relevant in conjunction with a coin dispenser (hopper).
Coin acceptors are stupid (we call them the coin comparator), which determine the size of the token, comparing it with the standard, and smart - which are able to distinguish between different coin values.

Coin Acceptor Azkoyen Modular A

How to recognize a coin, which, unlike a bill, quickly flies down through mechanisms? Of course by the sound of hitting the ground. The main sensor of the coin receiver is an acoustic sensor. I do not think that we are talking about the frequency range of the human ear, but not less, the parameters of vibration are measured. Also in the process of detecting a coin, a magnetic sensor is involved.

Anti-phishing locking mechanisms are always used to protect against “fishing,” a coin that has gone through sensors is never going back.

The “interesting fact” subheading : coin-operated gaming machines are theoretically compatible with vending machines, but as a rule, they are used only in the field of gaming. In vending machines another principle of storing and issuing coins. The dispenser of the vending device is plastic high tubes, with different coin values, calculated to give out a certain amount of change. This is usually a few coins, which can be slowly poured into a shallow tray.

A gaming dispenser is a large container with one denomination (less often two containers with two). You have to pay quickly (5-10 coins per second), from one container. Therefore, there is usually no coin separator in the gaming machine (the device accepts only 1 denomination), and if it is present, it is rather specific. In vending - there are many integrated products where the coin acceptor is combined with a separator and a dispenser.

Coin payout device (hopper)


Happen with the tape mechanism and disk. This is a rather stupid device: the motor turns the disk, the optical sensor counts the number. As I wrote above, they are different from coin dispensers for coffee machines, and other equipment for paying change.

Tape hopper MK IV


Azkoyen MDP-10 disk hopper

Such devices are popular in countries where coins with a high denomination are in use, for example, 2 Euros.

Check Printers


In the gaming field, slightly different printers are used than in payment terminals. These are also thermal printers, but they print on thick cardboard. The cost of the print goes higher - 0.5 cents.

Futire Logic GEN2 Printer

Why is a printer in the machine? No, fiscal checks are not accepted, this is the task of the cashier and the cashier. The printer is needed for the system TITO (ticket in, ticket out).

The point is this: the player has a desire to change the device, and continue the game, let's say $ 500 on the device’s account. He presses the "payout" button, the device informs the server, using a special gaming protocol, "I use the device id 23, payment 500 usd".

The server generates a unique token, and sends it to the machine. The gaming machine prints this token in the form of a bar code, on a dense cardboard. The player receives a printed ticket.

Further, he can go to the cashier and cash it, or sit down at the other machine, and enter this ticket into the bill acceptor. All bill acceptors can read 1D barcode, so the gaming machine, having received data from the bill acceptor “received a ticket with barcode xxxxxxxx”, sends this information to the server.

The server accepts the token, finds it in the database, and tells the device to charge 500 USD. The player continues the game.

Data interaction mechanism is possible in the halls equipped with a server that serves devices using the IGT SAS gaming protocol.(not to be confused with Serial Attached SCSI), and for us this is pain, because the protocol is old (RS-232 with an additional 9th ​​wake up bit, which is usually poorly supported by 16550 chips in a PC) and proprietary (hi IGT). A basic subscription to get the documentation is pretty expensive.
Topology - 127 devices hang on a common bus, wake up bits in a byte - a sign that the next byte is the address of the device being accessed, and not the data byte.

The “interesting fact” subheading : there is a modern free communication protocol for gaming devices based on TCP / IP: Open G2S , but you can’t argue against the giants' lobby, and in our area legacy support is not just a sound.

Card reader:


Used rarely. In essence, it performs the functions of reading bank cards for POS operations, as well as for identifying a player.

Personally, we do not apply, and if we start, we will limit ourselves to contactless readers, sufficient for paypass.


The device company Bally with a card reader.

Touch screen:


We all remember how difficult it is sometimes to press a virtual button of a payment terminal. The reason for this is acoustic taccrinas (Touch Screens on Surface Acoustic Waves - Surfactants). They are very sensitive to contamination (a foreign object completely blocks the operation of the device). They also do not like loud sound (or rather, vibration).

In the gaming industry used infrared touch screens and capacitive. Infrared screens are slightly more expensive than surfactants, but more reliable. They do not like direct sunlight, but in our area, this element is completely absent. But the vibrations from the sound - completely.

Structurally, the infrared screen is a frame with LEDs and photo sensors around the perimeter. The more of them - the more accurate. But the finger is thick, so do not need much.

noname IR touch frame

The frame creates some depth between the outer surface of the case and the glass of the monitor, so it is not always suitable. Manufacturers whose design features are such that glass is not drowned, or common glass combines several monitors, cannot use infrared screens (like smartphone makers), so choose capacitive screens.

Subheading "interesting fact": in gaming machines, even with a touchscreen, at least one mechanical button is used - "Start" (Play). Players are so used to hitting this button that stainless steel panels often flex over time. As a result, no one wants these Megajoules to be extinguished by the monitor screen, and the button is used.

Counters


Even in a modern apparatus, electromechanical counters are used. In essence, this is a subsystem of duplicating the integrity of financial information.

Electronic data may be damaged or compromised, and a sealed meter increases reliability. The game board is usually able to determine the fact of disconnection of the counters, and sealed connectors make it difficult to install the "plug".
“Interesting fact” subheading: In Romania, the control authorities require online readings of mechanical meters. How can you count from the counter without a communication protocol data - they themselves do not know. Optical number recognition system can not be applied, because the counters should look out through the window in the housing.

Exotic


Some manufacturers use 3D monitors, although the benefits of such solutions are questionable - my eyes get tired very much. But the depth of the 3D effect is adjustable, down to zero.

The device of the IGT company with a 3D monitor that does not require glasses.

Those who have enough money - produce branded chairs with a keyboard, built-in acoustics, and vibration.


The device company Novomatic "Novostar VIP"

BY


As a rule, a modern gaming machine is built on the basis of the Linux OS, which runs software written in C ++. 3D engines are actively used, although the camera is fixed.

The companies that came to land-based from online, as well as those who initially attended to multiplatform support, use Unity or self-written web-engines, and in the desktop version simply open the Web canvas to full screen.

Subheading "interesting fact": gambling license for Unity costs 200 thousand dollars. There is no proof, but I read and heard it repeatedly.

At first glance, the video slot program seems simple, and the illusion of "we can do that too, let's dive into this monetary industry." In fact, many complex algorithms are implicitly “under the hood”, and some of the laws of the genre in design and mathematics are known only to those who have experience.

Speaking of design, the industry is quite conservative, we work with the principle of “the best enemy of the good” and “work — don't touch”. Therefore, some interfaces look like hello from the nineties. There is no place for thin fonts, not to mention the material design, and other modern trends. Drop shadow, stroke width = 10, inner bevel, gold color gradient - our everything. As in "99 francs": "With us, the sky is always blue, and the girls are always beautiful."

Something like this



Let's go back to the software. We use Qt, with a self-written engine for OpenGL. I love the fact that I can build code under Windows to work with graphics in Photoshop, and go back to Linux to build the release.

In simple projects we use Qt3D in QML. The library is damp, but I like that you can attach an animation controller to any property of an object.

In the release, we use Ubuntu Linux, which removed all unnecessary, and installed Openbox. Naturally, all hotkeys, context menu, text consoles are blocked.

The program is a "multi game", i.e. loads into memory immediately a set of games, and allows you to switch between them. Compression of textures helps to fit the graphics of 25-30 games in 4 GB of RAM.

We work with connected peripherals at the command protocol level. The driver disk is immediately sent to the trash, a letter is written to the manufacturer, the NDA is signed, and all the necessary information is obtained. Harder, but safer. Moreover, sometimes it is necessary to knock on the device with a small board, without an OS.

Sub-story "life stories": I assigned a programmer to complete the stack of communication with the printer. Well, did not keep up. The programmer saw that the printer is compatible with ESC / P, which is excellently supported in Ubuntu, and reworked everything under rasterization in QImage and the printing system. Well, it works. As a result, I remotely set up a non-printing CUPS server via ssh, trying to wean it from addressing to the device by a serial number, which naturally differs from the printer number in the developer’s office.

Maths


The calculation of the classic game for the mechanical apparatus does not constitute any difficulty - there is a table of winnings for each combination, you must calculate the number of all possible combinations for each character, multiply the winning combinations by the value of the winnings, and get the total amount of money that the device will pay.

That is, the calculation is carried out to fully scroll all the reels in turn. If we draw an analogy with the odometer of a car, then combinations of rotating discs from 00,000 consecutively to 99999 are analyzed. This is much more efficient than rotating the reels randomly and accumulating win statistics (brute force). Each combination is equally probable, so it’s enough to analyze everything once.

With winning lines, too, everything is simple (in a modern gaming machine there are more than 1). The probability of combining any combination is equally probable along any line, so it suffices to analyze combinations for one line, and this calculation will be correct for any number of lines that are active at the same time (with some rules of the game, this is not the case, for example, if there is a symbol in the game that swings open) rubbing a few cells).

Difficulties begin with the advent of WILD characters (jokers). Wild symbol polymorphic, and replaces any other character. Those. the LEMON WILD LEMON combination is accounted for by the machine software as LEMON LEMON LEMON.

As a result, it is necessary to solve the problem “There are 3 balls of two colors in the hat, and you can get 2 white or 2 black from them.” The classical theory of probability spreads his hands about polymorphic objects (correct if not so), you have to handle this situation - when the total number of combinations is greater than the product of all the elements.

It is also very boring to count bingo-type games, where more than the highest winning combination graphically excludes the younger, or draw poker games, where the result depends on the player’s strategy (which cards he changed, which ones he left).

“Interesting fact” subheading : the drums in video slots, though virtual, but spinning honestly - here is the list of RNG tests that we are checked for during certification: Meta-testing, Confidence Level, Adjacency Blocks, Adjacency High-Low, Adjacency Max-Min , Duplicates Test, Interplay Correlation Test, Overlaps Test, Permutation Test, Position Interaction Test, 3 Sigma Test , Total Distribution Test, Total Distribution Test, Unequal Probabilities Test.

All manufacturers count the reels in such a way that, in case of random rotation, the mat is waiting for the amount of winnings less than the sum of the bets, which ensures profitability.

The best analogy is the roulette disk. Mathematics is embedded in the disk physics and the winnings table - 37 possible outcomes, the win multiplier per number is 36. The total return rate of a single zero roulette: 36 * 1/37 = 0.972.

In the video slot - the same thing, only the number of possible outcomes in the tens of millions.

Typically, the length of the reels in the video slot is 25-75 characters. Less than this range will be bad - the top characters will often be combined, more is also not very good - the apparatus takes too long to reach the expectation. Also, the drums can be of different lengths.


There have been no pictures for a long time - this is just a screenshot of one of our games.

The “interesting fact” subheading: in electro-mechanical devices, the drums are too short and are not suitable for announcing big winnings for certain combinations. To increase the length does not allow the banal dimensions of the apparatus (round drum).

How to get out of position if you want to rotate the drums honestly? In the memory of the microcontroller, there are “virtual reels” - drums made up of segments of real mechanical drums. These virtual drums have the necessary length, sufficient for the fact that certain characters would fall out rarely.

As a result, the RNG turns the virtual certified drums, and the stepping servo stops the physical drums on the segments equivalent to the virtual ones.

This is how it looks


Assembly shop


The article goes beyond a brief overview, so just post some photos of our build process:

4 photos

Logic area до применения кабель-канала


Logic area после применения кабель-канала. Тут еще отсутствует левая часть, но смысл думаю понятен.


Упакованный терминал похож на гробик.


Красота

Online casino


2017 is outside the window, more and more people have bank cards and make payments online. And more importantly, more and more people have learned to trust online services. I mean not data security - this problem will always be relevant, but the confidence to receive a service from a company that is “somewhere far away, but suddenly a scam.”

Therefore, online casinos are getting more and more confident. So the voice of the series will suffer more and more.

Important role in popularizing have streamers(be careful with the link, a lot of mate), and also work with the client - offline casinos often do not know their users even by name, and in online establishments they have a personal data set. I, as a registered user of a Russian casino, do not hesitate to call Ukraine from a Moscow number to tell about any current promotion. Just think, roaming. The client is more important.

It is very simple to open an online casino - it is enough to make a website with user registration, and to conclude agreements with companies with content providers of slots. In an amicable way, billing is also needed, but if desired, this service can also be given to the provider company.

The provider provides the API, and the frame in which the video slot is displayed. The online casino transmits to the content provider the player ID and the bet, and in return receives the winning amount (of course, this is a simplified description of the process of interaction with the API). What interactive happens during the game - the casino by and large does not really care.

As a result, the gaming content provider receives a small percentage for the service, and the casino receives real money from user payments.

Usually an online casino is an aggregator that interacts with several game developers. Each of the game developers has their own API, but the essence of the interaction is the same everywhere.

The beauty of the online platform is that you can register and get a license in the country, with loyal certification terms and taxes. Therefore, it is oftenMalta , Gibraltar or any other islands. However, the islanders were not confused, and in addition to license fees, require monthly deductions from each licensee.

It is clear that the license of one country does not give the right to conduct activities around the world - there are countries that require local licensing, or completely prohibit this type of activity. But not all countries are able to monitor and block access to illegal resources.

Subheading "interesting fact": "Problems with access to joycasino?" (C) I have - yes. Here is what I see at joycasino.com and all mirrors: “This resource is closed for visits from Ukraine, Portugal. For any questions, please contact support support@joycasino.com . The most annoying, turned out to be the most law-abiding, most of the remaining resources are allowed to log in, and even carry out financial transactions without any problems.

“Life stories” subheading : it was interesting how the casino pays the winnings to a bank card, was looking forward to the transfer to see the purpose of the payment.

The sum of 186 dollars came in parts, with delays. 50 dollars that I made as a deposit came as a “return of goods”, another 2 payments of 50 each, with the same wording (apparently someone’s, since I made only 50), and a day later came 36 dollars as a transfer from Cyprus (apparently there was no deposit suitable for the value).

In general, tax minimization works in this industry.

I would like to say a few words about online slots development companies ( NetEnt , Microgaming , Endorphina , Yggdrasil ).

Previously, we looked at them from offline slightly skeptical, but in recent years they have become skilled, understood the laws of the genre, and give a very high-quality and beautiful product. Well, financially, they feel pretty good, for example, the annual profit of Netent Entertament for 2016 was 58 million dollars.

Many games are still on flash, but they are gradually ported to HTML5.


View of the game "Voodoo" company Endorphina.

Myths and Facts


Myth number 1: gambling operators rip people off and bathe in gold


In fact, the gaming machine gives back 90% -96% of the money in wins. Those. we keep no more than 10% of the turnover. Compare with a fashion boutique, where the margin is 300%.
We are helped by the fact that the winnings are summed up in total loans, and the money is re-bet.

Total on average, the money scrolls 2.5-3 times (depending on the aggressiveness of the game), the device bites off an average of 8% each time, and in total at least mathematically we take 8%, almost due to the repeated scrolling of money, the earnings reach 3 * 8 = 24% from turnover (rounded up to 25%). However, 75% hits the players.

Further, about 25%. Even if you have money to buy land and build a casino (in real life you have to pay the rent), there are always license fees. These are expenses for both the license for the type of activity and the tax on each unit operated (in Ukraine it was called a patent).

For example, the tax on the installation of the device in Romania is about 13 euros per day. Thus, even if the unit went for free, the premises were rented for free, people worked for free, if they would not physically deposit bills in the amount of 52 euros daily, it would be unprofitable. In fact, the threshold of profitability is much higher.

Myth number 2: the gaming machine changes its payout strategy depending on the current situation


It is widely believed that the percentage of return is regulated by the device on the fly, and after a large payment it will be “eating money”.

In fact, the use of such algorithms is very dangerous, since may turn against the creator. If the player or what is worse, the attacker will feel some algorithm of behavior, he can use it for his own purposes.

Even if the algorithm seems to be unprofitable for the playing side, knowledge is power. Only complete unpredictability, even for the developer, allows you to be confident in the result.

However, some dirty methods of psychological influence are used if they are not explicitly prohibited in the country issuing the license.

For example, the “near-miss effect”, when a non-winning combination of reels, is replaced before rendering (to model levels) by another non-winning, but looking more attractive. For example, 5 expensive identical symbols scattered so that they are not combined in any of the lines defined by the rules.

This trick does not affect the result (so that the gain is zero), but they create the feeling that “almost coincided, I will try again”.

We increase the brightness, with an increase in the rate, we use rhythmic hypnotizing sounds during the rotation of the drums, we place audio-visual accents if something can match, even before it coincided. And yes, of course the glass in the institutions is always sealed and there are no clocks, neither on the walls nor on the screens.

Subheading “interesting fact”: one Ukrainian operator used a telephone booth in his establishments, which he could enter, choose one of the ambient entourage options (traffic jam, metro, supermarket) and answer the call to a mobile phone.

Myth number 3: You can buy a set of "secrets of gaming machines" and win


It's true. Well, in part. Techniques like "in such and such a game, press this and this button at the same time" of course do not work. But if you have physical access to the machine, you can buy a firmware with a bookmark, change it, come in a week, and activate the bookmark with a special key combination and actions - get a win.

Usually this is practiced by collusion with the staff of the institution. This works with old models of devices, and it is possible to protect against this only by sealing, logging the opening of doors, and control over copies of keys.

By the way, the industrial Fujitsu motherboard, which we use, is able to control the opening of the door contact circuit, even in the off state, and log itself in the CMOS memory.

In conclusion, a mini FAQ:

Q: How much does a gaming machine cost?
A: From 4 to 12 thousand euros for a typical model.

Q: Is gambling dangerous?
A: Very. The dependence is 100% psychological, and the memory can not be erased. Self-appraisal suffers in the beginning - losing money, which one could use more cleverly, develops self-hatred, and this is much worse than hating the government, the authorities, or neighbors. Then, household factors are included - the lack of money, combined with the desire to quickly win back, can include programs to “get money at any cost”.

Q: Did I play for money?
A: Yes, when it was legal, I played on each of the available gaming machines, all manufacturers. This happened in the institutions of competitors, and had to play for money. "To understand a woman you need to think like shoes." I could write “it was worth it, because gave invaluable experience in game development ", but in the end, despite the large number of games, I won a lot more than I lost (enough for a sports car).

Q: Does the ethical aspect of my work bother me?
A: No more than the owner of the confectionery factory, that buyers are obese, and fail to 60. Maybe I'm a bad person, but I do what I can do best. Today, several thousand people have redistributed their money among themselves, but it was not my choice.

Q: Were there any errors in our programs leading to unplanned winnings?
A: Yes, it was a couple of times, you could enter the bonus game in an infinite loop. The reason was the incorrect synchronization of logic by the signals-slots, the keyboard event went into the logic of the bonus, which was already completed. For 4 years of active development and constant updates - this is a normal result, it happens. Usually, thanks to online monitoring of financial statistics, this is quickly noticed and corrected.

Q: What percentage of the code is covered by unit tests?
A: Zero. We are aware that the laws in the countries of our clients are such that they are obliged to pay any amount shown on the screen and no matter where it comes from. But I prefer to spend time moving forward, and low-paid people can manually test a fresh release. Perhaps this is wrong, but business is a risk.

Q: Familiar seals on CPDV.
A: All rights to use are obtained;)

That's all, if there is a desire that I would highlight some of those affected by it in more detail - write in comments. We also develop lottery systems with automatic drawing every 5 minutes, and smart optical client-server turnstiles for schools.
Thanks for attention!


Pathetic photo of the author of the article with his own products, at the exhibition Romania Arena Expo

Also popular now: