Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

238 řádky
11KB

  1. <!DOCTYPE html>
  2. <html>
  3. <meta charset="utf-8">
  4. <head>
  5. <link rel="stylesheet" href="../../style.css">
  6. </head>
  7. <body>
  8. <script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
  9. <div id="header">
  10. <div>
  11. <strong id="title">Open Game Studio</strong>
  12. <div id="lang">
  13. <a href="../../en/news/index.html">EN</a>
  14. <a href="../../ru/news/index.html">RU</a>
  15. </div>
  16. </div>
  17. <div class="header2">
  18. <div class="menu">
  19. <a href="../../en/news/index.html">News</a>
  20. <a href="../../en/game/index.html">Games</a>
  21. <a href="../../en/tool/index.html">Tools</a>
  22. <a href="../../en/page/about.html">About</a>
  23. </div>
  24. <a class="discord" href="https://discord.gg/3A6THQabNf">
  25. <img src="../../images/discord.png"></img>
  26. </a>
  27. <div class="clear"></div>
  28. </div>
  29. </div>
  30. <center>
  31. <h1>News</h1>
  32. <div class="news_item">
  33. <h2 class="news_item_title">
  34. <a href="llm-first-py-cxx.html">The first example of a portable code</a>
  35. </h2>
  36. <p class="news_item_date">
  37. 2024-04-11 00:00
  38. </p>
  39. <div class="news_item_contents">
  40. <h1 id="supportedplatforms">Supported platforms</h1>
  41. <p>To verify code portability, I selected the following platforms and languages:</p>
  42. <ul>
  43. <li>C++: Linux, macOS, OpenWrt, Windows</li>
  44. <li>JavaScript: Chrome, Firefox, Safari</li>
  45. <li>Kotlin: Android</li>
  46. <li>Python: Linux, macOS, Windows</li>
  47. <li>Swift: iOS, macOS</li>
  48. </ul>
  49. <p>I created a simple "Hello World" example for each language to understand the basic requirements of each platform.</p>
  50. <p>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.. . .</p>
  51. </div>
  52. <div class="news_item_more">
  53. <a href="llm-first-py-cxx.html">Continue reading</a>
  54. </div>
  55. </div>
  56. <div class="news_item">
  57. <h2 class="news_item_title">
  58. <a href="bus-iOS.html">Шина-iOS</a>
  59. </h2>
  60. <p class="news_item_date">
  61. 2024-03-10 00:00
  62. </p>
  63. <div class="news_item_contents">
  64. <h1 id="thefirstbuspatternimplementationforios">The first Bus pattern implementation for iOS</h1>
  65. <p>I spent January and February making Bus pattern implementation in Swift for iOS.
  66. The end result looks nice to me.</p>
  67. <p>I have also done load testing. Turns out, the Bus is 92 times more expensive
  68. than a function call. Nonetheless, this doesn't mean the Bus is bad. On the
  69. contrary, the numbers highlight the Bus should be used in architectural
  70. glue code where it can save up to 30% of code</p>
  71. <p>This example demonstrates several states rendered through a single instance:. . .</p>
  72. </div>
  73. <div class="news_item_more">
  74. <a href="bus-iOS.html">Continue reading</a>
  75. </div>
  76. </div>
  77. <div class="news_item">
  78. <h2 class="news_item_title">
  79. <a href="bus-01.html">Bus-01</a>
  80. </h2>
  81. <p class="news_item_date">
  82. 2024-01-04 00:00
  83. </p>
  84. <div class="news_item_contents">
  85. <h1 id="onthewaytoportablecode">On the way to portable code</h1>
  86. <p>To gain code portability, we have to divide whole code into two parts:</p>
  87. <ul>
  88. <li>repeatable: logic</li>
  89. <li>unique: environment</li>
  90. </ul>
  91. <p>To simplify portable code construction, we want to be able to place any code -
  92. both repeatable and unique - without hierarchy requirements of operating
  93. systems. Bus design pattern seems to be the best option. The Bus makes all
  94. code chunks equal because they interact through the Bus only.</p>
  95. <h1 id="bus01">Bus-01</h1>
  96. <p>Currently we have:</p>
  97. <iframe width="560" height="315" src="https://www.youtube.com/embed/XAlIlG9tVL4?si=5HYRDkNuYE0zeoyo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
  98. <p>. . .</p>
  99. </div>
  100. <div class="news_item_more">
  101. <a href="bus-01.html">Continue reading</a>
  102. </div>
  103. </div>
  104. <div class="news_item">
  105. <h2 class="news_item_title">
  106. <a href="rpg-ends.html">Revised project goals</a>
  107. </h2>
  108. <p class="news_item_date">
  109. 2023-12-25 00:00
  110. </p>
  111. <div class="news_item_contents">
  112. <h1 id="thedreamofanopensourcerpgisover">The dream of an open source RPG is over</h1>
  113. <p>In 2005 the Opensource Game Studio project started
  114. under the name of the <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">Opensource RPG</a>, because we wanted
  115. to create "the first competitive open free game".
  116. In 2011 right after releasing OGS Mahjong 0.7 we have already
  117. had the numbers that it would take us <a href="https://gamedev.ru/community/ogs/articles/?id=6383">540 years to create RPG</a>.</p>
  118. <p>In 2011 we had a dream that we as a team would grow, which could decrease
  119. 540 years to someting reasonable. However today in the end of 2023 it's clear
  120. <strong>we are unable to create RPG</strong>.. . .</p>
  121. </div>
  122. <div class="news_item_more">
  123. <a href="rpg-ends.html">Continue reading</a>
  124. </div>
  125. </div>
  126. <div class="news_item">
  127. <h2 class="news_item_title">
  128. <a href="gitjs-intro.html">How I create browser applications inside browsers</a>
  129. </h2>
  130. <p class="news_item_date">
  131. 2021-01-28 00:00
  132. </p>
  133. <div class="news_item_contents">
  134. <p><img src="../../images/2021_gitjs-intro_снимок.jpg" alt="GitJS" /></p>
  135. <p>In this article Michael shares his experience of creating durable applications.</p>
  136. <p>In 2013 Canonical <a href="https://techcrunch.com/2013/08/22/edge-crowdfunding-fail">tried to crowdfund Ubuntu Edge smartphone</a>.
  137. Its main feature could be the ability to use the smartphone as a full-fledged
  138. PС. Unfortunatly, the crowdfunding campaign did not accumulate enough money,
  139. so a dream of having a universal device remained to be the dream.</p>
  140. <p>I've been searching for universality, too, on the software side,
  141. not the hardware one. Today I can confidently say I found the necessary. . .</p>
  142. </div>
  143. <div class="news_item_more">
  144. <a href="gitjs-intro.html">Continue reading</a>
  145. </div>
  146. </div>
  147. <div class="news_item">
  148. <h2 class="news_item_title">
  149. <a href="git-budget.html">Why I keep track of spendings in a personal app made with Git+JS</a>
  150. </h2>
  151. <p class="news_item_date">
  152. 2020-05-03 00:00
  153. </p>
  154. <div class="news_item_contents">
  155. <p><img src="../../images/2020-05-06_гит-бюджет_снимок.png" alt="GitBudget" /></p>
  156. <p>In this article Michael shares his experience of using Git+JS.</p>
  157. <p>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:</p>
  158. <ol>
  159. <li>Why keep track of spendings in an application?</li>
  160. <li>Why did I create the application as a personal project?</li>
  161. <li>Why does the project use Git+JS?</li>
  162. </ol>
  163. <p><strong>1. Why keep track of spendings in an application?</strong></p>
  164. <p>I, like many people out there, wanted to become rich and <a href="https://youtu.be/7RchntYFtSE">successful</a>. 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.. . .</p>
  165. </div>
  166. <div class="news_item_more">
  167. <a href="git-budget.html">Continue reading</a>
  168. </div>
  169. </div>
  170. <div class="news_item">
  171. <h2 class="news_item_title">
  172. <a href="teaching-to-program-2019.html">Teaching folks to program 2019, a.k.a. in the search of an ideal program: Sequence</a>
  173. </h2>
  174. <p class="news_item_date">
  175. 2020-02-12 00:00
  176. </p>
  177. <div class="news_item_contents">
  178. <p><img src="../../images/2020-02-11_teaching-to-program-2019_screenshot.png" alt="MUROM" /></p>
  179. <p>In this article Michael shares his thoughts on teaching folks to program in 2019.</p>
  180. <p><strong>Preface</strong></p>
  181. <p>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 <a href="teaching-kids-to-program.html">the 2018 article</a>.</p>
  182. <p>I have the following goals for conducting such courses:. . .</p>
  183. </div>
  184. <div class="news_item_more">
  185. <a href="teaching-to-program-2019.html">Continue reading</a>
  186. </div>
  187. </div>
  188. <div class="news_item">
  189. <h2 class="news_item_title">
  190. <a href="the-pros-and-cons-of-restarting-from-scratch.html">The pros and cons of restarting from scratch</a>
  191. </h2>
  192. <p class="news_item_date">
  193. 2020-01-01 00:00
  194. </p>
  195. <div class="news_item_contents">
  196. <p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
  197. <p>Anyone, who watches our progress long enough, can say that we restarted the development from scratch plenty of times.</p>
  198. <p>Even before releasing <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, we changed the underlying technology more than once. After that, we did it again several times, throwing away already completed features.
  199. It seems that right now we have less completed features than before the release of <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>. It's true, but not entirely.</p>
  200. <p>When <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a> was released, we had a descent looking (for that moment) open-source game, that worked under Windows and Linux. With some luck and effort it still works today, but not out of the box.. . .</p>
  201. </div>
  202. <div class="news_item_more">
  203. <a href="the-pros-and-cons-of-restarting-from-scratch.html">Continue reading</a>
  204. </div>
  205. </div>
  206. <div class="news_item">
  207. <h2 class="news_item_title">
  208. <a href="on-the-way-to-durable-applications.html">On the way to durable applications</a>
  209. </h2>
  210. <p class="news_item_date">
  211. 2019-08-05 00:00
  212. </p>
  213. <div class="news_item_contents">
  214. <p><img src="../../images/2019-08-05_on-the-way-to-durable-applications.jpg" alt="Pskov's veche" /></p>
  215. <p>This article describes our first durable application for desktop PCs: PSKOV static site generator.</p>
  216. <p><strong>Durability</strong></p>
  217. <p>A durable application is an application that functions without a single change on operating systems released in years 2010-2030. In other words, a durable application has backward compatibility of 10 years and has the stability to run for 10 years. Actually, <a href="http://opengamestudio.org/pskov">PSKOV</a> runs even under Windows 2000, so PSKOV has backward compatibility of 19 years.. . .</p>
  218. </div>
  219. <div class="news_item_more">
  220. <a href="on-the-way-to-durable-applications.html">Continue reading</a>
  221. </div>
  222. </div>
  223. <p class="pagination_title">Page 1 of 7</p>
  224. <p>
  225. <a href="index2.html">Older »</a>
  226. </p>
  227. <div id="footer">
  228. The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
  229. from <a href="http://github.com/ogstudio/site-opengamestudio">this source code</a>.
  230. </div>
  231. </center>
  232. </body>
  233. </html>