Browse Source

Шина-01 | Bus-01

master
Михаил Капелько 11 months ago
parent
commit
7910d044d2
20 changed files with 540 additions and 220 deletions
  1. +46
    -0
      en/news/2024-01-05_bus-01.md
  2. +88
    -0
      en/news/bus-01.html
  3. +27
    -17
      en/news/index.html
  4. +17
    -18
      en/news/index2.html
  5. +18
    -19
      en/news/index3.html
  6. +19
    -17
      en/news/index4.html
  7. +17
    -15
      en/news/index5.html
  8. +15
    -25
      en/news/index6.html
  9. +25
    -0
      en/news/index7.html
  10. BIN
      images/2024_bus-01_v.jpg
  11. BIN
      images/2024_bus-01_yml.jpg
  12. +46
    -0
      ru/news/2024-01-05_bus-01.md
  13. +88
    -0
      ru/news/bus-01.html
  14. +25
    -16
      ru/news/index.html
  15. +16
    -18
      ru/news/index2.html
  16. +18
    -19
      ru/news/index3.html
  17. +19
    -17
      ru/news/index4.html
  18. +17
    -15
      ru/news/index5.html
  19. +15
    -24
      ru/news/index6.html
  20. +24
    -0
      ru/news/index7.html

+ 46
- 0
en/news/2024-01-05_bus-01.md View File

@@ -0,0 +1,46 @@
Title: Bus-01
Date: 2024-01-04 00:00
Category: News
Slug: bus-01
Lang: ru

# On the way to portable code

To gain code portability, we have to divide whole code into two parts:

* repeatable: logic
* unique: environment

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.

# Bus-01

Currently we have:

<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>

Module structure:

![Module's YML][yml]

<yml>

Part of the visual representation:

![Visual representation][v]

Main functionality:

1. Format input to leave only digits
1. Activate the button when at least 3 digits are present
1. Simulate loading when pressing the button

This was an example of a single instance of an entity.

Next we're going to deal with multiple instances of an entity.

[yml]: ../../images/2024_bus-01_yml.jpg
[v]: ../../images/2024_bus-01_v.jpg

+ 88
- 0
en/news/bus-01.html View File

@@ -0,0 +1,88 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="../../style.css">
</head>
<body>
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
<div id="header">
<div>
<strong id="title">Open Game Studio</strong>
<div id="lang">
<a href="../../en/news/bus-01.html">EN</a>
<a href="../../ru/news/bus-01.html">RU</a>
</div>
</div>
<div class="header2">
<div class="menu">
<a href="../../en/news/index.html">News</a>
<a href="../../en/game/index.html">Games</a>
<a href="../../en/tool/index.html">Tools</a>
<a href="../../en/page/about.html">About</a>
</div>
<a class="discord" href="https://discord.gg/3A6THQabNf">
<img src="../../images/discord.png"></img>
</a>
<div class="clear"></div>
</div>
</div>
<h3 class="left_item_title">In the news...</h3>
<center>
<div class="news_item">
<h2 class="news_item_title">
<a href="bus-01.html">Bus-01</a>
</h2>
<p class="news_item_date">
2024-01-04 00:00
</p>
<div class="news_item_contents">
<h1 id="onthewaytoportablecode">On the way to portable code</h1>
<p>To gain code portability, we have to divide whole code into two parts:</p>
<ul>
<li>repeatable: logic</li>
<li>unique: environment</li>
</ul>
<p>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.</p>
<h1 id="bus01">Bus-01</h1>
<p>Currently we have:</p>
<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>
<p>Module structure:</p>
<p><img src="../../images/2024_bus-01_yml.jpg" alt="Module's YML" /></p>
<p><yml></p>
<p>Part of the visual representation:</p>
<p><img src="../../images/2024_bus-01_v.jpg" alt="Visual representation" /></p>
<p>Main functionality:</p>
<ol>
<li>Format input to leave only digits</li>
<li>Activate the button when at least 3 digits are present</li>
<li>Simulate loading when pressing the button</li>
</ol>
<p>This was an example of a single instance of an entity.</p>
<p>Next we're going to deal with multiple instances of an entity.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/en/news/bus-01.html";
this.page.identifier = "bus-01.html";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://opengamestudio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<div id="footer">
The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
from <a href="http://github.com/ogstudio/site-opengamestudio">this source code</a>.
</div>
</center>
</body>
</html>

+ 27
- 17
en/news/index.html View File

@@ -30,6 +30,33 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="bus-01.html">Bus-01</a>
</h2>
<p class="news_item_date">
2024-01-04 00:00
</p>
<div class="news_item_contents">
<h1 id="onthewaytoportablecode">On the way to portable code</h1>
<p>To gain code portability, we have to divide whole code into two parts:</p>
<ul>
<li>repeatable: logic</li>
<li>unique: environment</li>
</ul>
<p>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.</p>
<h1 id="bus01">Bus-01</h1>
<p>Currently we have:</p>
<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>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="bus-01.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="rpg-ends.html">Revised project goals</a>
@@ -191,23 +218,6 @@ It seems that right now we have less completed features than before the release
<a href="teaching-kids-to-program.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2019-year-of-rethinking.html">Year of rethinking</a>
</h2>
<p class="news_item_date">
2019-01-01 0:01
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Sparkler" /></p>
<p>It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.</p>
<p>As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.</p>
<p>There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .</p>
</div>
<div class="news_item_more">
<a href="2019-year-of-rethinking.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 1 of 7</p>
<p>


+ 17
- 18
en/news/index2.html View File

@@ -30,6 +30,23 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2019-year-of-rethinking.html">Year of rethinking</a>
</h2>
<p class="news_item_date">
2019-01-01 0:01
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Sparkler" /></p>
<p>It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.</p>
<p>As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.</p>
<p>There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .</p>
</div>
<div class="news_item_more">
<a href="2019-year-of-rethinking.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ideal-gamedev.html">Ideal games and game development tools</a>
@@ -195,24 +212,6 @@
<a href="the-year-of-lessons.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2017-summary.html">2017 summary</a>
</h2>
<p class="news_item_date">
2017-11-22 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-11-22-2017-summary.png" alt="Memory game in the background" /></p>
<p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p>
<p><strong>Brief history</strong></p>
<p>Opensource Game Studio project is 12 years old now.</p>
<p><strong>2005.</strong> We started the project with a <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">fanatic call</a> to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .</p>
</div>
<div class="news_item_more">
<a href="2017-summary.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 2 of 7</p>
<p>


+ 18
- 19
en/news/index3.html View File

@@ -30,6 +30,24 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2017-summary.html">2017 summary</a>
</h2>
<p class="news_item_date">
2017-11-22 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-11-22-2017-summary.png" alt="Memory game in the background" /></p>
<p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p>
<p><strong>Brief history</strong></p>
<p>Opensource Game Studio project is 12 years old now.</p>
<p><strong>2005.</strong> We started the project with a <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">fanatic call</a> to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .</p>
</div>
<div class="news_item_more">
<a href="2017-summary.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="back-to-the-static.html">Back to the Static</a>
@@ -170,25 +188,6 @@
<a href="lets-go.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-challenges.html">The year of challenges</a>
</h2>
<p class="news_item_date">
2017-01-25 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-01_the-year-of-challenges.png" alt="Rocket launch at Baikonur" /></p>
<p>This article describes our plans for 2017.</p>
<p>Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:</p>
<p><img src="../../images/2017-01_mjin-android-gles.png" alt="Rendering cubes on Android" /></p>
<p>Some people would consider this a failure. We don't. We see a chance to start low and jump high!</p>
<p>Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .</p>
</div>
<div class="news_item_more">
<a href="the-year-of-challenges.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 3 of 7</p>
<p>


+ 19
- 17
en/news/index4.html View File

@@ -30,6 +30,25 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-challenges.html">The year of challenges</a>
</h2>
<p class="news_item_date">
2017-01-25 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-01_the-year-of-challenges.png" alt="Rocket launch at Baikonur" /></p>
<p>This article describes our plans for 2017.</p>
<p>Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:</p>
<p><img src="../../images/2017-01_mjin-android-gles.png" alt="Rendering cubes on Android" /></p>
<p>Some people would consider this a failure. We don't. We see a chance to start low and jump high!</p>
<p>Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .</p>
</div>
<div class="news_item_more">
<a href="the-year-of-challenges.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2017-happy-new-year.html">Happy 2017</a>
@@ -181,23 +200,6 @@
<a href="september-live-session-announcement-tomorrow.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement.html">Live session: 25 September 2016</a>
</h2>
<p class="news_item_date">
2016-09-17 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Y5hOGKcQ8wA" frameborder="0" allowfullscreen></iframe>
<p>We will hold <a href="https://www.livecoding.tv/kornerr">live session</a> on <a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio+September+2016+live+session&iso=20160925T12&p1=37&ah=2">25 September 2016 at 12:00 CEST</a>
It's time to create simple Mahjong solitaire game.</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="september-live-session-announcement.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 4 of 7</p>
<p>


+ 17
- 15
en/news/index5.html View File

@@ -30,6 +30,23 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement.html">Live session: 25 September 2016</a>
</h2>
<p class="news_item_date">
2016-09-17 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Y5hOGKcQ8wA" frameborder="0" allowfullscreen></iframe>
<p>We will hold <a href="https://www.livecoding.tv/kornerr">live session</a> on <a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio+September+2016+live+session&iso=20160925T12&p1=37&ah=2">25 September 2016 at 12:00 CEST</a>
It's time to create simple Mahjong solitaire game.</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="september-live-session-announcement.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2016-august-recap.html">August 2016 recap</a>
@@ -168,21 +185,6 @@
<a href="rolling-ball-live-session-pt2.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-announcement.html">Game creation live session: 31 January 2016</a>
</h2>
<p class="news_item_date">
2016-01-25 00:00
</p>
<div class="news_item_contents">
<p>We're glad to annouce that the <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> session will take place on <a title="Local time" href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+Game+creation+live+session&iso=20160131T12&p1=37&ah=3">31 January 2016 at 12:00 CET</a>. Join us!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="january-live-session-announcement.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 5 of 7</p>
<p>


+ 15
- 25
en/news/index6.html View File

@@ -30,6 +30,21 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-announcement.html">Game creation live session: 31 January 2016</a>
</h2>
<p class="news_item_date">
2016-01-25 00:00
</p>
<div class="news_item_contents">
<p>We're glad to annouce that the <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> session will take place on <a title="Local time" href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+Game+creation+live+session&iso=20160131T12&p1=37&ah=3">31 January 2016 at 12:00 CET</a>. Join us!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="january-live-session-announcement.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-decision.html">SOON: Creating a simple game live (Editor 0.8)</a>
@@ -171,31 +186,6 @@
<a href="2015-roadmap.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06.html">Editor 0.6.0</a>
</h2>
<p class="news_item_date">
2015-06-28 00:00
</p>
<div class="news_item_contents">
<p>We completed Editor 0.6.0. You can <a title="Editor 0.6.0" href="https://youtu.be/q85GcC6l4Tw" target="_blank">see 0.6.0 in action here</a>. </p>
<p>Editor 0.6.0 got the following new features:</p>
<ol>
<li>Camera and light node positioning</li>
<li>Node rotation along X axis</li>
<li>Node scripting support</li>
<li>Thumbnail dialog to preview models when editing scene node model properties</li>
<li>Node copying and pasting</li>
<li>Node selection by LMB click in the scene</li>
<li>Window geometry and state restoration after restart</li>
</ol>
<p>We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .</p>
</div>
<div class="news_item_more">
<a href="editor-06.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 6 of 7</p>
<p>


+ 25
- 0
en/news/index7.html View File

@@ -30,6 +30,31 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06.html">Editor 0.6.0</a>
</h2>
<p class="news_item_date">
2015-06-28 00:00
</p>
<div class="news_item_contents">
<p>We completed Editor 0.6.0. You can <a title="Editor 0.6.0" href="https://youtu.be/q85GcC6l4Tw" target="_blank">see 0.6.0 in action here</a>. </p>
<p>Editor 0.6.0 got the following new features:</p>
<ol>
<li>Camera and light node positioning</li>
<li>Node rotation along X axis</li>
<li>Node scripting support</li>
<li>Thumbnail dialog to preview models when editing scene node model properties</li>
<li>Node copying and pasting</li>
<li>Node selection by LMB click in the scene</li>
<li>Window geometry and state restoration after restart</li>
</ol>
<p>We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .</p>
</div>
<div class="news_item_more">
<a href="editor-06.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06-roadmap.html">Editor 0.5.0 and plans for 0.6.0</a>


BIN
images/2024_bus-01_v.jpg View File

Before After
Width: 3110  |  Height: 1590  |  Size: 626KB

BIN
images/2024_bus-01_yml.jpg View File

Before After
Width: 2128  |  Height: 1404  |  Size: 276KB

+ 46
- 0
ru/news/2024-01-05_bus-01.md View File

@@ -0,0 +1,46 @@
Title: Шина-01
Date: 2024-01-04 00:00
Category: News
Slug: bus-01
Lang: ru

# На пути к портируемому коду

Для достижения портируемости кода необходимо разделить весь код на две части:

* повторяющееся: логика
* уникальное: взаимодействие с окружением

Для упрощения конструирования портируемого кода нужна возможность размещать
любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы.
Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски
кода делает равными, т.к. они взаимодействуют друг с другом через Шину.

# Шина-01

На текущий момент получился следующий результат:

<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>

Структура модуля:

![YML модуля][yml]

<yml>

Часть визуального представления:

![Визуальное представление][v]

Основная функциональность:

1. Форматирование ввода таким образом, чтобы оставить лишь числа
1. Активация кнопки при наличии не менее, чем трёх чисел
1. Симуляция загрузки при нажатии кнопки

Это пример единственного экземпляра сущности.

Далее предстоит разобраться с множественными экземплярами сущности.

[yml]: ../../images/2024_bus-01_yml.jpg
[v]: ../../images/2024_bus-01_v.jpg

+ 88
- 0
ru/news/bus-01.html View File

@@ -0,0 +1,88 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="../../style.css">
</head>
<body>
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
<div id="header">
<div>
<strong id="title">Open Game Studio</strong>
<div id="lang">
<a href="../../en/news/bus-01.html">EN</a>
<a href="../../ru/news/bus-01.html">RU</a>
</div>
</div>
<div class="header2">
<div class="menu">
<a href="../../ru/news/index.html">Новости</a>
<a href="../../ru/game/index.html">Игры</a>
<a href="../../ru/tool/index.html">Инструменты</a>
<a href="../../ru/page/about.html">О нас</a>
</div>
<a class="discord" href="https://discord.gg/3A6THQabNf">
<img src="../../images/discord.png"></img>
</a>
<div class="clear"></div>
</div>
</div>
<h3 class="left_item_title">В новостях...</h3>
<center>
<div class="news_item">
<h2 class="news_item_title">
<a href="bus-01.html">Шина-01</a>
</h2>
<p class="news_item_date">
2024-01-04 00:00
</p>
<div class="news_item_contents">
<h1 id="">На пути к портируемому коду</h1>
<p>Для достижения портируемости кода необходимо разделить весь код на две части:</p>
<ul>
<li>повторяющееся: логика</li>
<li>уникальное: взаимодействие с окружением</li>
</ul>
<p>Для упрощения конструирования портируемого кода нужна возможность размещать
любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы.
Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски
кода делает равными, т.к. они взаимодействуют друг с другом через Шину.</p>
<h1 id="01">Шина-01</h1>
<p>На текущий момент получился следующий результат:</p>
<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>
<p>Структура модуля:</p>
<p><img src="../../images/2024_bus-01_yml.jpg" alt="YML модуля" /></p>
<p><yml></p>
<p>Часть визуального представления:</p>
<p><img src="../../images/2024_bus-01_v.jpg" alt="Визуальное представление" /></p>
<p>Основная функциональность:</p>
<ol>
<li>Форматирование ввода таким образом, чтобы оставить лишь числа</li>
<li>Активация кнопки при наличии не менее, чем трёх чисел</li>
<li>Симуляция загрузки при нажатии кнопки</li>
</ol>
<p>Это пример единственного экземпляра сущности. </p>
<p>Далее предстоит разобраться с множественными экземплярами сущности.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/ru/news/bus-01.html";
this.page.identifier = "bus-01.html";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://opengamestudio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Пожалуйста, включите JavaScript для просмотра <a href="https://disqus.com/?ref_noscript">комментариев на платформе Disqus.</a></noscript>
<div id="footer">
Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
</div>
</center>
</body>
</html>

+ 25
- 16
ru/news/index.html View File

@@ -30,6 +30,31 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="bus-01.html">Шина-01</a>
</h2>
<p class="news_item_date">
2024-01-04 00:00
</p>
<div class="news_item_contents">
<h1 id="">На пути к портируемому коду</h1>
<p>Для достижения портируемости кода необходимо разделить весь код на две части:</p>
<ul>
<li>повторяющееся: логика</li>
<li>уникальное: взаимодействие с окружением</li>
</ul>
<p>Для упрощения конструирования портируемого кода нужна возможность размещать
любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы.
Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски
кода делает равными, т.к. они взаимодействуют друг с другом через Шину.</p>
<h1 id="01">Шина-01</h1>
<p>На текущий момент получился следующий результат:. . .</p>
</div>
<div class="news_item_more">
<a href="bus-01.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="rpg-ends.html">Изменение целей проекта</a>
@@ -191,22 +216,6 @@ Ubuntu Edge</a>. Особенностью продукта должна была
<a href="teaching-kids-to-program.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2019-year-of-rethinking.html">Год переосмысления</a>
</h2>
<p class="news_item_date">
2019-01-01 0:01
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Бенгальский огонь" /></p>
<p>Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.</p>
<p>В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .</p>
</div>
<div class="news_item_more">
<a href="2019-year-of-rethinking.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 1 из 7</p>
<p>


+ 16
- 18
ru/news/index2.html View File

@@ -30,6 +30,22 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2019-year-of-rethinking.html">Год переосмысления</a>
</h2>
<p class="news_item_date">
2019-01-01 0:01
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Бенгальский огонь" /></p>
<p>Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.</p>
<p>В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .</p>
</div>
<div class="news_item_more">
<a href="2019-year-of-rethinking.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ideal-gamedev.html">Идеальные игры и средства для их разработки</a>
@@ -192,24 +208,6 @@
<a href="the-year-of-lessons.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2017-summary.html">Итоги 2017-го</a>
</h2>
<p class="news_item_date">
2017-11-22 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-11-22-2017-summary.png" alt="Игра на память в фоне" /></p>
<p>Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.</p>
<p><strong>Краткая история</strong></p>
<p>Проекту Opensource Game Studio уже 12 лет.</p>
<p><strong>2005.</strong> Мы начали проект с <a href="https://unixforum.org/index.php?showtopic=9989">фанатичного призыва</a> к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .</p>
</div>
<div class="news_item_more">
<a href="2017-summary.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 2 из 7</p>
<p>


+ 18
- 19
ru/news/index3.html View File

@@ -30,6 +30,24 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2017-summary.html">Итоги 2017-го</a>
</h2>
<p class="news_item_date">
2017-11-22 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-11-22-2017-summary.png" alt="Игра на память в фоне" /></p>
<p>Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.</p>
<p><strong>Краткая история</strong></p>
<p>Проекту Opensource Game Studio уже 12 лет.</p>
<p><strong>2005.</strong> Мы начали проект с <a href="https://unixforum.org/index.php?showtopic=9989">фанатичного призыва</a> к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .</p>
</div>
<div class="news_item_more">
<a href="2017-summary.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="back-to-the-static.html">Назад в Статику</a>
@@ -170,25 +188,6 @@
<a href="lets-go.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-challenges.html">Год испытаний</a>
</h2>
<p class="news_item_date">
2017-01-25 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-01_the-year-of-challenges.png" alt="Запуск ракеты на Байконуре" /></p>
<p>Эта статья содержит наши планы на 2017 год.</p>
<p>Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:</p>
<p><img src="../../images/2017-01_mjin-android-gles.png" alt="Отображение кубов на Android" /></p>
<p>Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!</p>
<p>Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .</p>
</div>
<div class="news_item_more">
<a href="the-year-of-challenges.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 3 из 7</p>
<p>


+ 19
- 17
ru/news/index4.html View File

@@ -30,6 +30,25 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-challenges.html">Год испытаний</a>
</h2>
<p class="news_item_date">
2017-01-25 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-01_the-year-of-challenges.png" alt="Запуск ракеты на Байконуре" /></p>
<p>Эта статья содержит наши планы на 2017 год.</p>
<p>Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:</p>
<p><img src="../../images/2017-01_mjin-android-gles.png" alt="Отображение кубов на Android" /></p>
<p>Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!</p>
<p>Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .</p>
</div>
<div class="news_item_more">
<a href="the-year-of-challenges.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2017-happy-new-year.html">Счастливого 2017-го</a>
@@ -180,23 +199,6 @@
<a href="september-live-session-announcement-tomorrow.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement.html">Прямой эфир: 25 сентября 2016</a>
</h2>
<p class="news_item_date">
2016-09-17 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Y5hOGKcQ8wA" frameborder="0" allowfullscreen></iframe>
<p><a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9+%D1%8D%D1%84%D0%B8%D1%80+Open+Game+Studio%3A+%D0%A1%D0%B5%D0%BD%D1%82%D1%8F%D0%B1%D1%80%D1%8C+2016&iso=20160925T13&p1=166&ah=2">25 сентября 2016 в 13:00 MSK</a> мы проведём <a href="https://www.livecoding.tv/kornerr">прямой эфир</a>.
Самое время создать простой пасьянс Маджонг</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="september-live-session-announcement.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 4 из 7</p>
<p>


+ 17
- 15
ru/news/index5.html View File

@@ -30,6 +30,23 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement.html">Прямой эфир: 25 сентября 2016</a>
</h2>
<p class="news_item_date">
2016-09-17 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Y5hOGKcQ8wA" frameborder="0" allowfullscreen></iframe>
<p><a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9+%D1%8D%D1%84%D0%B8%D1%80+Open+Game+Studio%3A+%D0%A1%D0%B5%D0%BD%D1%82%D1%8F%D0%B1%D1%80%D1%8C+2016&iso=20160925T13&p1=166&ah=2">25 сентября 2016 в 13:00 MSK</a> мы проведём <a href="https://www.livecoding.tv/kornerr">прямой эфир</a>.
Самое время создать простой пасьянс Маджонг</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="september-live-session-announcement.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2016-august-recap.html">Август 2016 кратко</a>
@@ -166,21 +183,6 @@
<a href="rolling-ball-live-session-pt2.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-announcement.html">Создание игры в прямом эфире: 31 января 2016</a>
</h2>
<p class="news_item_date">
2016-01-25 00:00
</p>
<div class="news_item_contents">
<p>Мы рады сообщить, что трансляция <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> состоится <a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F+%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+%D0%B8%D0%B3%D1%80%D1%8B&iso=20160131T14&p1=166&ah=3">31 января 2016 в 14:00 MSK</a>. Присоединяйтесь!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="january-live-session-announcement.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 5 из 7</p>
<p>


+ 15
- 24
ru/news/index6.html View File

@@ -30,6 +30,21 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-announcement.html">Создание игры в прямом эфире: 31 января 2016</a>
</h2>
<p class="news_item_date">
2016-01-25 00:00
</p>
<div class="news_item_contents">
<p>Мы рады сообщить, что трансляция <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> состоится <a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F+%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+%D0%B8%D0%B3%D1%80%D1%8B&iso=20160131T14&p1=166&ah=3">31 января 2016 в 14:00 MSK</a>. Присоединяйтесь!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="january-live-session-announcement.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="january-live-session-decision.html">СКОРО: Создание простой игры в прямом эфире (Редактор 0.8)</a>
@@ -172,30 +187,6 @@
<a href="2015-roadmap.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06.html">Редактор 0.6.0</a>
</h2>
<p class="news_item_date">
2015-06-28 00:00
</p>
<div class="news_item_contents">
<p>Мы завершили работу над версией 0.6.0 редактора. Вы можете <a title="Editor 0.6.0" href="https://youtu.be/q85GcC6l4Tw" target="_blank">увидеть 0.6.0 в действии здесь</a>. </p>
<p>Список новых возможностей Редактора 0.6.0:</p>
<ol>
<li>Позиционирование узлов с камерой и светом</li>
<li>Вращение узлов по оси X</li>
<li>Поддержка скриптов у узлов</li>
<li>Диалог для предпросмотра моделей при редактировании моделей у узла</li>
<li>Копирование и вставка узлов</li>
<li>Выбор узла с помощью клика мышью в сцене</li>
<li>Восстановление позиции и состояния окна после перезапуска. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="editor-06.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 6 из 7</p>
<p>


+ 24
- 0
ru/news/index7.html View File

@@ -30,6 +30,30 @@
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06.html">Редактор 0.6.0</a>
</h2>
<p class="news_item_date">
2015-06-28 00:00
</p>
<div class="news_item_contents">
<p>Мы завершили работу над версией 0.6.0 редактора. Вы можете <a title="Editor 0.6.0" href="https://youtu.be/q85GcC6l4Tw" target="_blank">увидеть 0.6.0 в действии здесь</a>. </p>
<p>Список новых возможностей Редактора 0.6.0:</p>
<ol>
<li>Позиционирование узлов с камерой и светом</li>
<li>Вращение узлов по оси X</li>
<li>Поддержка скриптов у узлов</li>
<li>Диалог для предпросмотра моделей при редактировании моделей у узла</li>
<li>Копирование и вставка узлов</li>
<li>Выбор узла с помощью клика мышью в сцене</li>
<li>Восстановление позиции и состояния окна после перезапуска. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="editor-06.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="editor-06-roadmap.html">Редактор 0.5.0 и планы для 0.6.0</a>


Loading…
Cancel
Save