2024-06-14 00:00
In May I implemented text UI for "Memory" game in Python. And converted it to C++ by the instrument under development.
Game logic cycle implementation lead to the creation of a controller that manages context. Creating the controller in Python was straightforward. C++ version took some time, because the controller needs std::any, which is part of C++17. The instrument under development is limited to C++11 in order to support OpenWrt.
Here's how much code I wrote (in lines):. . .
2024-05-03 00:00
In April I implemented "Memory" game logic in Python as limited language model and successfully converted the code to C++ by the instrument under development.
Limited language model assumes the following architecture of two parts:
Game logic state context in Python currently looks like this (C++):
```python class memory_Context: def init(self): self.hiddenItems = []. . .
2024-04-11 00:00
To verify code portability, I selected the following platforms and languages:
I created a simple "Hello World" example for each language to understand the basic requirements of each platform.
By the way, OpenWrt turned out the most complex platform to create "Hello World" for, because my TP-Link TL-MR3020 r1 router is considered obsolete since 2018. I had to use the old 17.01.7 firmware, which took about three weeks.. . .
2024-03-10 00:00
I spent January and February making Bus pattern implementation in Swift for iOS. The end result looks nice to me.
I have also done load testing. Turns out, the Bus is 92 times more expensive than a function call. Nonetheless, this doesn't mean the Bus is bad. On the contrary, the numbers highlight the Bus should be used in architectural glue code where it can save up to 30% of code
This example demonstrates several states rendered through a single instance:. . .
2024-01-04 00:00
To gain code portability, we have to divide whole code into two parts:
To simplify portable code construction, we want to be able to place any code - both repeatable and unique - without hierarchy requirements of operating systems. Bus design pattern seems to be the best option. The Bus makes all code chunks equal because they interact through the Bus only.
Currently we have:
. . .
2023-12-25 00:00
In 2005 the Opensource Game Studio project started under the name of the Opensource RPG, because we wanted to create "the first competitive open free game". In 2011 right after releasing OGS Mahjong 0.7 we have already had the numbers that it would take us 540 years to create RPG.
In 2011 we had a dream that we as a team would grow, which could decrease 540 years to someting reasonable. However today in the end of 2023 it's clear we are unable to create RPG.. . .
2021-01-28 00:00
In this article Michael shares his experience of creating durable applications.
In 2013 Canonical tried to crowdfund Ubuntu Edge smartphone. Its main feature could be the ability to use the smartphone as a full-fledged PС. Unfortunatly, the crowdfunding campaign did not accumulate enough money, so a dream of having a universal device remained to be the dream.
I've been searching for universality, too, on the software side, not the hardware one. Today I can confidently say I found the necessary. . .
2020-05-03 00:00
In this article Michael shares his experience of using Git+JS.
Hi, folks, let me share my experience of creating an application to keep track of my spendings. Specifically, let me do it by answering the following questions:
1. Why keep track of spendings in an application?
I, like many people out there, wanted to become rich and successful. To become rich, one is often advised to run a personal budget, that's what I started to do several years ago. I'd like to point out that running my personal budget hasn't made me rich and successful, and I increased income simply by moving to Moscow.. . .
2020-02-12 00:00
In this article Michael shares his thoughts on teaching folks to program in 2019.
Preface
Autumn 2019 was the third time I participated as one of the teachers in the course to teach 10-15-year-old folks to program. The course took place from mid. September to mid. December. Each Saturday, we were studying from 10 AM to 12 PM. More details about the structure of each class and the game itself can be found in the 2018 article.
I have the following goals for conducting such courses:. . .
Page 1 of 8