Games Vision #2

Variable heading Games Vision.
I write short reviews of games that I have played recently

wsunhd
SIM
aka Sara is Missing (Android, Monsoon Lab) – ты находишь телефон девушки по имени Сара. Внутри телефона есть встроенный помощник IRIS, она хочет найти свою хозяйку и просит тебя ей в этом помочь. Задача понять что творилось в голове Сары из ее переписки, фоточек и видео, найти где она находится. Игра очень оригинальная и достаточно пугающая. Минус в том что нет локализации на русский и другие языки, нет версии для iOS, хотя очевидно что интерфейс игры копирует продукцию Apple (IRIS – SIRI) Также игра очень короткая.
Rating 7/10

unnamed
The End of The World
(Android, Sean Wenham) – игра про расставание – парня бросила девушка, теперь он бродит в поисках вина и спит под мостом, вспоминая моменты когда они были вместе. Умилительные моменты воспоминаний, грустная музыка, переход в белое, в принципе отличная игра для женской аудитории и некоторых пацанов. Мне не понравилась бюджетная графика с претензией на оригинальность (напоминает Another World Эрика Шайи), нулевой геймплей, попытки выбить из игрока слезки, предсказуемость, десять минут прохождения. Любителям ванили рекомендую.
Rating: 5/10

unnamed

Werewolf Tycoon (Android, Joe Williamson) – a game about a werewolf who eats people in a city park. The graphics and gameplay here are cheerful – childish, the colors are light without gloomy tones, no blood and people look like round cupcakes with funny animations. The rounds are short and simple, the only enemies are journalists with cameras. It sounds, looks and plays very fun. Of the minuses – low difficulty, watching ads for canceling Game Over, the mechanism for withdrawing points to social networks does not work.
Rating: 6/10

Games Vision #1

Variable heading Games Vision.
In this article I will write short reviews of the games I have played recently.

jansen

Don’t even think that this guy has emotions, he just pretends that he does sometimes.

Deus Ex Mankind Divided (PC, Square Enix) – a game about half-human Adam Jensen who is vacationing in Prague and saving the world along the way.
Good graphics, high system requirements, predictable plot, non-standard work of artists – it’s all here. The game offers many options for passing, for example, I managed to get the achievement “pacifist”, for the fact that I did not kill anyone during the entire passage, including bosses.
I liked the pop culture references “The Void Which Binds“, “IRON MADE in China” and others. I didn’t like the huge amount of text – fluff, all sorts of emails storing passwords for doors and characters’ correspondence, the text is absolutely empty and uninteresting. At the time of passing, the game constantly crashed in DirectX 12 mode, autosaves broke, patches seem to be still being released. I decided not to play the DLC because I had already been playing the main game for about 2 weeks, having gotten out of my usual empty life.
Rating 8/10

slayin

Slayin (Android, FDG) – an extraordinary arcade game in pixel style for mobile phones. You need to run and kill monsters, buying equipment in the store. In this game I liked the art, I really liked the chiptune music, it looks like arcades for NES, convenient controls. The game itself was upset by the fact that the gameplay does not take place beyond one scene on the screen, the inability to move around a large level.
Rating 5/10

swordxolan

Sword of Xolan (Android, Alper Sarıkaya) – an arcade platformer in pixel style for mobile phones. A knight or samurai runs around the level and saves people from iron cages. Quite interesting gameplay, convenient controls, large levels. The overall budget of the game is disappointing, cheap art, cheap sound, looped music.
Rating 6/10

bardstale

The Bard’s Tale (Android, inXile entertainment) – a remastered action RPG for mobile phones. An unusual RPG with funny scenes and dialogues. On the disc with the game it was written “turn the disc over to see something terrible”, on the back there was a mirror side of the disc. At one time, I missed this game on PC because of Neverwinter Nights, but now I can play it on my mobile on the bus. For a modern gamer, there are clearly not enough points of where to go and what to do, but that’s why I love old school games, you really need to play them. There is also no ability to save at any point, which is critical for a mobile game. Music, art, I like everything, but I find the current controls on the phone screen inconvenient. And of course, this is not a new game, but simply a re-release for mobile platforms, which I personally consider a big minus.
Rating 7/10

Diluting ECS


Commission: Mad Scientist by Culpeo-Fox on DeviantArt

In this article I will roughly describe the ECS pattern and my implementation in the Flame Steel Engine Game Toolkit. The Entity Component System pattern is used in games, including the Unity engine. Each object in the game is an Entity, which is filled with Components. Why is this necessary if there is OOP?
Then to change the properties, behavior, display of objects directly during the game execution. Such things are not found in real-world applications, the dynamics of changing parameters, properties of objects, display, sound, are more inherent in games than in accounting software.


We didn’t go through bananas

Let’s say we have a banana class in our game. And the game designer wanted bananas to be used as weapons. Let’s say in the current architecture bananas are not related to weapons. Make a banana a weapon? Make all objects weapons?
ECS offers a solution to this pressing problem – all objects in the game must consist of components. Previously, a banana was a Banana class, now we will make it, and all other objects, an Entity class, and add components to them. Let’s say a banana now consists of components:

  1. Position component (coordinates in the game world – x, y, z)
  2. Rotation component (x, y, z coordinates)
  3. The calorie content of a banana (the main character can’t get too fat)
  4. Banana picture component

We are now adding a new component to all bananas, which is a flag that it can be used as a weapon – Weapon Component. Now when the game system sees that a player has approached a banana, it checks whether the banana has a weapon component, and if it does, it arms the player with a banana.
In my game Flame Steel Call Of The Death Mask, the ECS pattern is used everywhere. Objects consist of components, components themselves can contain components. In general, the separation of object < – > component is absent in my implementation, but this is even a plus.

screenshot_2016-09-24_14-33-43

The shotgun in this screenshot is a player component, while the second shotgun is just hanging on the game map like a normal object.
In this screenshot, there are two Systems running – the scene renderer and the interface renderer. The scene renderer is working with the shotgun image component on the map, the interface renderer is working with the shotgun image component in the player’s hands.

Related links:
https://habrahabr.ru/post/197920/
https://www.youtube.com/watch?v=NTWSeQtHZ9M

Flame Steel Engine Game Toolkit Architecture

Today I will talk about the architecture of the game development toolkit Flame Steel Engine Game Toolkit.
Flame Steel Engine Game Toolkit allows you to create games based on the Flame Steel Engine:
flamesteelgametoolkitschematics

All classes of the Flame Steel Engine engine start with the FSE prefix (Flame Steel Engine), and FSEGT (Flame Steel Engine Game Toolkit) for the toolkit.
Game scene, objects, buttons, all these are subclasses of FSEObject and must be inside the FSEGTGameData class. Each FSEObject must implement the FSESerialize interface, this will allow saving/loading game data, providing a saving mechanism.
FSEController class works with objects of the FSEObject class. The toolkit has a base game scene controller class – FSEGTGameSceneController, you can inherit this class to implement your game logic.
IOSystem is an object of FSEGTIOSystem interface, this interface contains FSEGTRenderer, FSEGTInputController, FSEGTUIRenderer.
FSEGTIOSystem must implement a renderer, receive data from the keyboard, joysticks (input devices) and provide rendering of interface elements for the input-output system of this platform.
At the moment, a renderer and keyboard controller based on the SDL library have been implemented, it is available in the FSEGTIOSDLSystem class.

Flame Steel Engine Raycaster Demo
Flame Steel Engine Raycaster Demo

Future plans to create an IOSystem based on OpenGL, the class will be called FSEGTIOGLSystem. If you want to create an IOSystem based on any platform, then you need to use the FSEGTIOSystem interface and implement the FSEGTRenderer renderer, FSEGTInputController input controller for this platform.

Source code of Flame Steel Engine, toolkit, game:
https://github.com/demensdeum/FlameSteelCallOfTheDeathMask

Unity, why doesn’t Wasteland 2 work on my Ubuntu?

I am proud to be a Wasteland 2 backer. Today I wanted to run it on Ubuntu, but I couldn’t. However, after an hour of googling, everything worked out. It turns out that Unity has serious problems with Linux, but by using certain hacks, the game can be launched:

ulimit -Sn 65536~/.local/share/Steam/steamapps/common/Wasteland\ 2\ Director\'s\ Cut/Linux/WL2

Recipe from here:
https://forums.inxile-entertainment.com/viewtopic.php?t=15505

Flame Steel: Courier Nimble Eyes

His name was Revil, and his nickname was Nimble Eyes. His friends called him Nimble. A street-bred, nimble kid, he always knows what’s interesting and who to get it from. For this, he earned the respect of the criminal world of Alterra – 14.
Now he was inside the warehouse of Native Pharm-United. There were huge containers around, the smell of pharmaceuticals.
– Why did you get up? Take it and go.
The clerk said snapping, he looked nervous, shifting from foot to foot, it was clear that he was very afraid. His shirt was wet with sweat.
– I’m from the security service.
The clerk’s face turned pale and he staggered even more.
– So what now?
– On the floor – hands behind your head!
The clerk frowned, took a deep breath, and pulled his hand down. Quick Eyes sensed something was wrong – it looked like he was reaching for a gun. Revil stunned him with a blow to the impudent face, the little body fell in front of him with a pop.
–I asked nicely…
After searching the clerk, Revil found a regular inhaler, the kind used by asthmatics, in place of the gun. He also found an access card to the company’s laboratory sectors. It was a very lucky find.
The Toxic Brothers gang sent him to pick up a batch of the banned substance – endofomil. But Revil didn’t care about the Brothers and their toxicity, he was here for another reason – he intended to draw his lucky ticket.
The elevator doors swung open, Shustryak chose the floor indicated on the map – forty-second. The elevator slowly moved. Revil was thinking about what he would do in the laboratory sector. He was aware of sophisticated security systems, intelligent identity verification systems, brain wave analysis and the like.

Revil by Inc
Revil by Inc

He wasn’t alone here, an employee of the Lorian company agreed to help him cause a system failure, as a result of which Revil would have ten minutes to carry out his plan.
On the thirty-third floor, the elevator stopped, and a loud bang was heard above Revil’s head – something landed with a crash on the roof of the elevator.
Shustryak reached for his pistol, but at that moment metal tentacles broke through the roof of the elevator. They entangled him, there was a grinding sound and the roof of the elevator was turned inside out. A girl’s face looked at him through the hole – cold empty eyes, a metal plate with blinking red indicators on half of her face, deliberately not hidden under the skin.
– Before you die, answer me, why did you come here?
Shustryak couldn’t move, the steel tentacles were squeezing him tighter and tighter, soon he wouldn’t even be able to breathe.
– I have come for what is rightfully mine!
A satisfied grin appeared on the girl’s face. The indicators flashed alternately green and red…

Flame Steel: Call of the Death Mask

Today I’m announcing three projects at once! Wow!
The first project is a base platform for cross-platform application development Flame Steel Engine. The second project is a set of libraries for the base platform Flame Steel Game Toolkit, designed for game development. And the third project is a game with generated levels in a cyber fantasy setting Flame Steel: Call of The Death Mask.
The original is available under the MIT license, game assets will be available under different licenses (check each file separately)

Github link (C++, Eclipse):
https://github.com/demensdeum/FlameSteelCallOfTheDeathMask

Losing yourself

“You can’t be a master of everything” – I’ve always found phrases like these funny. Everyone, users, programmers, bosses, and customers, falls into this trap of specialization. “I want it like Microsoft/Apple/Google”, “Why can’t we just make a Russian iPhone?”, “Why isn’t it like Word/Uber/Photoshop?” – Anyone who is even slightly involved in IT has heard these phrases. These phrases, repeated by different people, sound even funnier.

I’ll ask you, reader – why do you need another Word? Why do you need another Uber? Why do you need another Photoshop? Why do you need it to be like an iPhone?
Why do you tie yourself to only one company’s interfaces and approach? Why do you label yourself as an Apple/Google/Microsoft lover? Why can’t you open your mind to alternative approaches to solving problems, why don’t you want to be more productive?

A lot of Microsoft users didn’t like how the company decided that everyone needed to upgrade to Windows 10. People complain about the iPhone’s inconvenient interfaces, system crashes during updates, design changes that they don’t need, but they still continue to use them because they’re used to it, and having an “iPhone” is a status symbol in modern society.

Sometimes it seems that if Microsoft/Apple/Google were asked to give up their own children in exchange for continuing to work with their products, then due to the high attachment to these products, people would easily give up their children.

Don’t be like them, don’t get attached to one product, look at alternative options. Once I was offered to develop a system for realtors, with an interface on Microsoft Excel, there were also offers to develop an “interactive whiteboard” system on Microsoft PowerPoint. When I asked why Microsoft, they answered that “we’re so used to it”, when I asked if there is licensed software from Microsoft in these companies, they answered evasively, saying that if it is necessary, they will buy it.

Reader, I urge you to study the edges of the IT world, at least in general. If you have been using only Microsoft Windows all your life, try Apple OS X, or Linux. If you only use the iPhone, try using the latest version of Android for at least a week. The moment you switch to the side of only one company, closing yourself off from the products of others, at that moment you lose yourself. Yourself, as a person who can decide for himself what he wants, as a person who can choose the most convenient and productive tool for solving a specific problem.

Programmers of only one platform – another headache for me personally, as I believe, for the IT industry as a whole. Developers who make applications with export only to *.doc or only to *.pdf, developers who are tied to only one outdated commercial database (for example, IBM Informix, or God forbid Firebird), only to one type of hardware (all these non-working programs for x86 on Android), of course, I understand that you are “used to”, but guys, it’s time to change.

In my work I often use unpopular, but very convenient tools. One example – it was necessary to reduce the resolution and compress about 100 photos for fast loading over 3G and output to iPad. That day I heard one of the most typical phrases – “We will have to manually convert all the photos in *Photoshop* to the desired format.” It seemed funny to me because I imagined a person who would manually, like a servant of God, redo all these 100 photos in Photoshop, or try to automate through the built-in mechanism. The point here is that the person is so attached to Photoshop that he did not even suspect the existence of a free, open set of tools like ImageMagick. ImageMagick allows you to do a lot of things with vector and raster images, including being ideal for solving a problem with 100 pictures in 5 minutes.

Be a master of everything, study, try, don’t become a slave to a specific corporation.