📜 ⬆️ ⬇️

SHENZHEN I / O - a new microcontroller programming simulator



How many of us wanted to be circuit engineers, but didn't become them? I'm not talking about programmers, builders and other specialties. Many dreamed of soldering the boards, went to the radio mugs and smoked their home equipment (after receiving the belt from their father, of course) in an attempt to understand how it works? If not every first, then sure, many.

The development of electronics and even soldering on the knee has a rather high threshold of entry, ranging from straight arms to knowledge of physics, circuit design, electrical circuit theory and consumables.
')
In this publication, I suggest you get acquainted with the new game, released in early access to Steam on October 6 of this year. Meet the indie simulator of creating chains and simple devices - SHENZHEN I / O.

On Steam, the game is in the “simulators” section and comes with the notes “indie”, “puzzle games” and “early access”, and all of them are absolutely true.

Statistics


But before we get to the game itself, let's look at the numbers from SteamDB .

In the Steam game itself has 94.03% positive feedback (209 “for” and 5 “against”, and there is a suspicion that the last voices are related to the crash of the game or the inability to launch a raw project).

There is almost nothing in the game, but this does not prevent it from requiring 4 Gb of RAM on board:



When installing via Steam, everything looks quite simple. The service itself checks the relevance of .NET (version 4.5 required), DirectX, and other components.

Also, the developer has not deprived Linux users and poppy owners, these platforms are also supported with similar system requirements. For Linux, this is SteamOS or Ubuntu 16.04+, for macOS - version 10.9+. The requirements for the processor and RAM are the same as for Windows.

No problems with the game (crashes, crashes at the start) on Windows 7 x64 have been noticed so far.

According to SteamSpy, the game bought only 8913 (± 2348) people, however, the average daily online already amounts to 872 players.



Much more interesting statistics spent in the game time. On average, in the game for the last two weeks (ie, since the release), we spent 4.9 hours (median 4.5), which is an excellent indicator for an indie logical game. For comparison, the recently released game Mafia III, this figure is 7.3 hours (median 5.6).

The project has its own section on Reddit , where there is communication between the players. Ratings of the discussions are far low (10-15 points), but there the people who have already passed the existing levels of the game offer their decisions for a general court. The Russian-speaking community began to gather spontaneously in a telegram (an invite link to the channel ) at the suggestion of some Twitter users.

This is a good opportunity to “peep” something for a beginner or just join a small team of players, because online on weekdays does not even reach a thousand.

In the same place, on Reddit, in the fixed subject feedback with developers is organized. There you can offer new levels, features, achievements and other game content. Unlike the root section with 2-3 comments on the topic, the discussion here is more active, because some of the "hardened" techniques of the game have already passed.

Now let's go directly to SHENZHEN I / O.

The game itself


The main menu of the game can serve as a model of minimalism:



The entire basic menu interface is built on the principle of receiving quests via "e-mail".

The game begins with the adoption of a player to work:



Hardcore begins, by the way, at the very beginning. Together with the welcome letter and twitter of virtual colleagues, a timlid appears (from the photo it looks a bit frantic) with two sacral phrases:

  1. Fresh meat ...
  2. Go smoke mana.


Yes. Just yes.

The developer, on behalf of Karl, quite seriously proposes to first go to get acquainted with the documentation on the game.



Manuals, by the way, is a separate story. When you click on the corresponding button “Datasheets” in the game menu, a PDF document opens on page 41 in the associated PDF reader in the system (in the case of the author, in Google Chrome).


Do you already feel like a slave in Chinese production?

If you do not feel, then to ensure the depth of immersion in the "office everyday" developer added "Soliter".



And, of course, the cards are signed in Chinese. We work in China, right? However, let's proceed to the game itself.

Gameplay is based on the principle of obtaining concept documentation by e-mail and the development of the necessary device. First, we are required to design a camera.



The author proceeded to the first task as a true prepared Jedi: without knowing anything about circuit design or, remotely, about programming microcontrollers and, of course, without reading the manual:



The only thing on the screenshot is already installed the module and laid the "track" to the required output. The upper module was fully formed and you don’t need to touch it, it’s working. At the first level of the game, the task is reduced to writing a simple controller code that will ensure the correct "signal passing along a given path":



This is a network simulation diagram without a code, just a direct signal. We need to "bend" it in the direction we need.

The base code, which is bundled with the first module, is as follows:

mov 0 p0 slp 6 mov 100 p0 slp 6 # why is this # so hard? :( 

Spelling saved

By typing and analogies (the Jedi do not read mana, remember?) We deduce that:


Based on these simple conclusions at the level of intuition, we obtain a code of the form:

 mov 0 p0 slp 4 mov 100 p0 slp 2 mov 0 p0 slp 1 mov 100 p0 slp 1 mov 0 p0 

I remind you that the level of the author in this topic corresponds to the level of your cat in it.

So, this simple code describes a closed loop of signal passing and “aligns” it, as we needed:



Fun? It seems, already yes.

The second level is disheartening. There the logic on which we relied in the first task will not help, you will have to go into the manuals. By the way, if I could print them, I would print them.

Here we are faced with the realities of the syntax of the game controller programming language. But since the desire to build up is stronger, there is only regret that the manual is not in Russian or not detailed enough (preferably, of course, with pictures, but we are all serious here, right?).

We are required to multiplex the signal twice. Okay. We are looking for the functions we need, we write a simple code of the form:

 mov p0 acc mul 2 mov acc p1 slp 1 #ITS ALIVE 

And enjoy another small game victory:



I will not say how much time it took for me, as a complete layman, to figure out how to do it, but now the figure of the average online at 4.5 hours no longer looks so big.

I’ll leave my joys with SHENZHEN I / O (and the manual for the game) behind the scenes.

In the dry residue


If we throw aside the children's delight (although it is very difficult), the game turned out to be fascinating, at least for those who are not afraid of difficulties. Yes, VHDL is not used there, the programming field of the controller is very limited in lines, but for people who are passionate about this “work simulator” will fit the way.

It can also be used to teach children in terms of understanding algorithms and logic, and in the opinion of players on Steam, from SHENZHEN I / O to programming and flashing with an “arduine” lightbulb - one step. If you tighten, of course.

A beginner player will be sorely missed by a Russian-language manual, but Google and more experienced playmates can help with this, sharing solutions and discussing them.

The mechanics of the game is not limited to writing three lines of code. In the future, you can compete with other users in the level of optimization, power consumption and cost of the final product designed in the game, i.e. independently set a challenge. Used four controllers, when can I limit to three? Welcome to the workbench!

Also, the project is in the early access stage and the developer explicitly states that he is ready to improve and develop the game, add features and new tasks, as well as ways to solve them at the request of users. Price, he assured, after the release of the release will remain the same.

In fact, SHENZHEN I / O is deservedly compared to the more hardcore project of 2015 called TIS-100 , created by the same developer, who pleased us with SHENZHEN I / O. In TIS-100, the entry threshold is even higher, as confirmed by the Steam comments:





It is clear that the creator of the game aimed at a wider, if you can call it that, audience. In any case, the programming of controllers on the knee is not as scary as the preview screenshots of TIS-100:


TIS-100

Playing SHENZHEN I / O requires restraint and patience. From the very first minutes, she beats the player with a “cruel reality log” in the face, but not so hard as to not try to grasp it. It will not be easy. There will be no colorful cut-scenes, the ability to play lying on the couch or "rob korovany". But it will be possible to train your brain and try something new.

Is SHENZHEN I / O worth its money? There is no clear answer to this question. But if you have a craving for building, overcoming difficulties and solving problems for your own pleasure - yes, it is worth it.

Source: https://habr.com/ru/post/398173/


All Articles