Skip to content

Commit

Permalink
Bus-01
Browse files Browse the repository at this point in the history
  • Loading branch information
kornerr committed Jan 5, 2024
1 parent 5ae1f45 commit d685d06
Show file tree
Hide file tree
Showing 12 changed files with 275 additions and 114 deletions.
46 changes: 46 additions & 0 deletions en/news/2024-01-05_bus-01.md
Original file line number Diff line number Diff line change
@@ -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 changes: 88 additions & 0 deletions en/news/bus-01.html
Original file line number Diff line number Diff line change
@@ -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>
44 changes: 27 additions & 17 deletions en/news/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -191,23 +218,6 @@ <h2 class="news_item_title">
<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>
Expand Down
35 changes: 17 additions & 18 deletions en/news/index2.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -195,24 +212,6 @@ <h2 class="news_item_title">
<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>
Expand Down
37 changes: 18 additions & 19 deletions en/news/index3.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -170,25 +188,6 @@ <h2 class="news_item_title">
<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>
Expand Down
36 changes: 19 additions & 17 deletions en/news/index4.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -181,23 +200,6 @@ <h2 class="news_item_title">
<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>
Expand Down
32 changes: 17 additions & 15 deletions en/news/index5.html
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -168,21 +185,6 @@ <h2 class="news_item_title">
<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>
Expand Down
Loading

0 comments on commit d685d06

Please sign in to comment.