Март-24

This commit is contained in:
Михаил Капелько
2024-03-10 23:12:51 +03:00
parent 7910d044d2
commit 3ca703a83f
19 changed files with 464 additions and 223 deletions

View File

@@ -2,7 +2,7 @@ Title: Bus-01
Date: 2024-01-04 00:00
Category: News
Slug: bus-01
Lang: ru
Lang: en
# On the way to portable code

View File

@@ -0,0 +1,24 @@
Title: Шина-iOS
Date: 2024-03-10 00:00
Category: News
Slug: bus-iOS
Lang: en
# The first Bus pattern implementation for iOS
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:
<iframe width="560" height="315" src="https://www.youtube.com/embed/xviaEbSd54o?si=7oZRU4Sjp3Hc5mX3" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
# March plans
I'm going to spend March to have a draft of the portable code in C++ for OpenWrt 12.09 (Atheros AR9331).

73
en/news/bus-iOS.html Normal file
View File

@@ -0,0 +1,73 @@
<!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-iOS.html">EN</a>
<a href="../../ru/news/bus-iOS.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-iOS.html">Шина-iOS</a>
</h2>
<p class="news_item_date">
2024-03-10 00:00
</p>
<div class="news_item_contents">
<h1 id="thefirstbuspatternimplementationforios">The first Bus pattern implementation for iOS</h1>
<p>I spent January and February making Bus pattern implementation in Swift for iOS.
The end result looks nice to me.</p>
<p>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</p>
<p>This example demonstrates several states rendered through a single instance:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/xviaEbSd54o?si=7oZRU4Sjp3Hc5mX3" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<h1 id="marchplans">March plans</h1>
<p>I'm going to spend March to have a draft of the portable code in C++ for OpenWrt 12.09 (Atheros AR9331).</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/en/news/bus-iOS.html";
this.page.identifier = "bus-iOS.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>

View File

@@ -30,6 +30,27 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="bus-iOS.html">Шина-iOS</a>
</h2>
<p class="news_item_date">
2024-03-10 00:00
</p>
<div class="news_item_contents">
<h1 id="thefirstbuspatternimplementationforios">The first Bus pattern implementation for iOS</h1>
<p>I spent January and February making Bus pattern implementation in Swift for iOS.
The end result looks nice to me.</p>
<p>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</p>
<p>This example demonstrates several states rendered through a single instance:. . .</p>
</div>
<div class="news_item_more">
<a href="bus-iOS.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="bus-01.html">Bus-01</a>
@@ -192,32 +213,6 @@ It seems that right now we have less completed features than before the release
<a href="defending-availability.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="teaching-kids-to-program.html">Teaching kids to program</a>
</h2>
<p class="news_item_date">
2019-02-04 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2019-02-04_teaching-kids-to-program-team.png" alt="Students and teachers" /></p>
<p>In this article, Michael shares his experience of teaching kids to program.</p>
<p>Here's what he covers:</p>
<ul>
<li>organization of the learning process</li>
<li>learning plan</li>
<li>memory game</li>
<li>development tools</li>
<li>lessons</li>
<li>results and plans</li>
</ul>
<p><strong>Organization of the learning process</strong></p>
<p>The learning process is conducted as part of corporate social responsibility: a company provides a room with equipment and connects employees that want to try themselves in the role of teachers with employees that want their kids educated. All this is done voluntarily.. . .</p>
</div>
<div class="news_item_more">
<a href="teaching-kids-to-program.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 1 of 7</p>
<p>

View File

@@ -30,6 +30,32 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="teaching-kids-to-program.html">Teaching kids to program</a>
</h2>
<p class="news_item_date">
2019-02-04 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2019-02-04_teaching-kids-to-program-team.png" alt="Students and teachers" /></p>
<p>In this article, Michael shares his experience of teaching kids to program.</p>
<p>Here's what he covers:</p>
<ul>
<li>organization of the learning process</li>
<li>learning plan</li>
<li>memory game</li>
<li>development tools</li>
<li>lessons</li>
<li>results and plans</li>
</ul>
<p><strong>Organization of the learning process</strong></p>
<p>The learning process is conducted as part of corporate social responsibility: a company provides a room with equipment and connects employees that want to try themselves in the role of teachers with employees that want their kids educated. All this is done voluntarily.. . .</p>
</div>
<div class="news_item_more">
<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>
@@ -195,23 +221,6 @@
<a href="mahjong-recreation-start.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-lessons.html">The year of lessons</a>
</h2>
<p class="news_item_date">
2017-12-31 22:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Sparkler" /></p>
<p>So, the year 2017 is approaching its finale, the year's results have already been summed up. We're going to take a break from igniting the fireworks or preparation of the champagne so that we can designate our goal for the following year.</p>
<p>As it may be clear from other articles on the site, half of our plans in 2017 were destined to be completed at least approximately as we assumed. The other half was changed significantly.</p>
<p>During the year, people joined the team and left it. As a result, we meet the end of the year with exactly the same team as 365 days ago. It made us think. A lot. But We'll save the story for another time.. . .</p>
</div>
<div class="news_item_more">
<a href="the-year-of-lessons.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 2 of 7</p>
<p>

View File

@@ -30,6 +30,23 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-year-of-lessons.html">The year of lessons</a>
</h2>
<p class="news_item_date">
2017-12-31 22:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-12-31-celebration.jpg" alt="Sparkler" /></p>
<p>So, the year 2017 is approaching its finale, the year's results have already been summed up. We're going to take a break from igniting the fireworks or preparation of the champagne so that we can designate our goal for the following year.</p>
<p>As it may be clear from other articles on the site, half of our plans in 2017 were destined to be completed at least approximately as we assumed. The other half was changed significantly.</p>
<p>During the year, people joined the team and left it. As a result, we meet the end of the year with exactly the same team as 365 days ago. It made us think. A lot. But We'll save the story for another time.. . .</p>
</div>
<div class="news_item_more">
<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>
@@ -171,23 +188,6 @@
<a href="its-all-fine.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="lets-go.html">Let's go</a>
</h2>
<p class="news_item_date">
2017-03-16 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-03_lets-go.png" alt="Gagarin's words" /></p>
<p>In this article we describe our progress in January and February of 2017: rendering under iOS/Web and a new tutorial tool.</p>
<p><strong>Rendering under iOS/Web</strong></p>
<p>To our surprise, we got a simple red cube rendered under <a href="https://twitter.com/OpenGameStudio/status/826816343433498627">iOS</a> and <a href="https://twitter.com/OpenGameStudio/status/829731986264698881">Web</a> pretty fast: in early February. However, this is only the beginning of this year's challenge to support Android, iOS, and Web platforms. There's a long and bumpy road ahead of us as we need a lot more on each platform before we can claim a success: visual effects, Python scripting, data archives.. . .</p>
</div>
<div class="news_item_more">
<a href="lets-go.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 3 of 7</p>
<p>

View File

@@ -30,6 +30,23 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="lets-go.html">Let's go</a>
</h2>
<p class="news_item_date">
2017-03-16 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-03_lets-go.png" alt="Gagarin's words" /></p>
<p>In this article we describe our progress in January and February of 2017: rendering under iOS/Web and a new tutorial tool.</p>
<p><strong>Rendering under iOS/Web</strong></p>
<p>To our surprise, we got a simple red cube rendered under <a href="https://twitter.com/OpenGameStudio/status/826816343433498627">iOS</a> and <a href="https://twitter.com/OpenGameStudio/status/829731986264698881">Web</a> pretty fast: in early February. However, this is only the beginning of this year's challenge to support Android, iOS, and Web platforms. There's a long and bumpy road ahead of us as we need a lot more on each platform before we can claim a success: visual effects, Python scripting, data archives.. . .</p>
</div>
<div class="news_item_more">
<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>
@@ -184,22 +201,6 @@
<a href="yesterdays-live-session-short-overview.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement-tomorrow.html">Live session is in 24 hours</a>
</h2>
<p class="news_item_date">
2016-09-24 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Fj4yHG-mV1U" frameborder="0" allowfullscreen></iframe>
<p>Get ready for <a href="https://www.livecoding.tv/kornerr">live session</a>, it's about to happen in 24 hours!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="september-live-session-announcement-tomorrow.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 4 of 7</p>
<p>

View File

@@ -30,6 +30,22 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="september-live-session-announcement-tomorrow.html">Live session is in 24 hours</a>
</h2>
<p class="news_item_date">
2016-09-24 00:00
</p>
<div class="news_item_contents">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Fj4yHG-mV1U" frameborder="0" allowfullscreen></iframe>
<p>Get ready for <a href="https://www.livecoding.tv/kornerr">live session</a>, it's about to happen in 24 hours!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<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>
@@ -169,22 +185,6 @@ It's time to create simple Mahjong solitaire game.</p>
<a href="rolling-ball.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="rolling-ball-live-session-pt2.html">Game creation live session (part 2): 7 February 2016</a>
</h2>
<p class="news_item_date">
2016-02-02 00:00
</p>
<div class="news_item_contents">
<p>Unfortunately, we have failed to finish creation of the simple "Rolling ball" game in 3 hours. That's why we will hold the second <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> session on <a title="Local time" href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+Game+creation+live+session%2C+part+2&iso=20160207T12&p1=37&ah=3">7 February 2016 at 12:00 CET</a>.</p>
<p>Let's finish the game!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="rolling-ball-live-session-pt2.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 5 of 7</p>
<p>

View File

@@ -30,6 +30,22 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="rolling-ball-live-session-pt2.html">Game creation live session (part 2): 7 February 2016</a>
</h2>
<p class="news_item_date">
2016-02-02 00:00
</p>
<div class="news_item_contents">
<p>Unfortunately, we have failed to finish creation of the simple "Rolling ball" game in 3 hours. That's why we will hold the second <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> session on <a title="Local time" href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=Open+Game+Studio%3A+Game+creation+live+session%2C+part+2&iso=20160207T12&p1=37&ah=3">7 February 2016 at 12:00 CET</a>.</p>
<p>Let's finish the game!</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<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>
@@ -166,26 +182,6 @@
<a href="test-chamber-for-everyone.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2015-roadmap.html">Roadmap for 2015-2016</a>
</h2>
<p class="news_item_date">
2015-07-19 00:00
</p>
<div class="news_item_contents">
<p>As promised, we have come up with a list of milestones and their approximate dates for the coming year:</p>
<ol>
<li>Editor 0.7.0 (October 2015) - Actions' system: we recreate the <a title="Test chamber" href="https://youtu.be/9_6seUWcPbU" target="_blank">test chamber</a></li>
<li>Editor 0.8.0 (December 2015) - Sound system</li>
<li>Editor 0.9.0 (February 2016) - Particles' system and minimal UI</li>
<li>Editor 0.10.0, Player 0.1.0 (April 2016) - Player to play what Editor produced: we create Shuan prototype with our engine. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="2015-roadmap.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 6 of 7</p>
<p>

View File

@@ -30,6 +30,26 @@
<center>
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="2015-roadmap.html">Roadmap for 2015-2016</a>
</h2>
<p class="news_item_date">
2015-07-19 00:00
</p>
<div class="news_item_contents">
<p>As promised, we have come up with a list of milestones and their approximate dates for the coming year:</p>
<ol>
<li>Editor 0.7.0 (October 2015) - Actions' system: we recreate the <a title="Test chamber" href="https://youtu.be/9_6seUWcPbU" target="_blank">test chamber</a></li>
<li>Editor 0.8.0 (December 2015) - Sound system</li>
<li>Editor 0.9.0 (February 2016) - Particles' system and minimal UI</li>
<li>Editor 0.10.0, Player 0.1.0 (April 2016) - Player to play what Editor produced: we create Shuan prototype with our engine. . .</li>
</ol>
</div>
<div class="news_item_more">
<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>