瀏覽代碼

2020 post

master
父節點
當前提交
418eec7ce6
共有 21 個檔案被更改,包括 817 行新增202 行删除
  1. +42
    -0
      en/news/2020-01-01_about_restarting_from_scratch.md
  2. +17
    -17
      en/news/index.html
  3. +17
    -17
      en/news/index2.html
  4. +17
    -17
      en/news/index3.html
  5. +17
    -15
      en/news/index4.html
  6. +15
    -18
      en/news/index5.html
  7. +19
    -16
      en/news/index6.html
  8. +126
    -0
      en/news/index7.html
  9. +134
    -0
      en/news/the-pros-and-cons-of-restarting-from-scratch.html
  10. 二進制
      images/2020-01-01-ny.jpg
  11. +1
    -1
      ru/news/2019-08-05_on-the-way-to-durable-applications.md
  12. +42
    -0
      ru/news/2020-01-01_about_restarting_from_scratch.md
  13. +17
    -17
      ru/news/index.html
  14. +17
    -17
      ru/news/index2.html
  15. +17
    -17
      ru/news/index3.html
  16. +17
    -15
      ru/news/index4.html
  17. +15
    -18
      ru/news/index5.html
  18. +19
    -16
      ru/news/index6.html
  19. +126
    -0
      ru/news/index7.html
  20. +1
    -1
      ru/news/on-the-way-to-durable-applications.html
  21. +141
    -0
      ru/news/the-pros-and-cons-of-restarting-from-scratch.html

+ 42
- 0
en/news/2020-01-01_about_restarting_from_scratch.md 查看文件

@@ -0,0 +1,42 @@
Title: The pros and cons of restarting from scratch
Date: 2020-01-01 00:00
Category: News
Slug: the-pros-and-cons-of-restarting-from-scratch
Lang: en

![Happy 2020][screenshot]

Anyone, who watches our progress long enough, can say that we restarted the development from scratch plenty of times.

Even before releasing ["OGS Mahjong"][ogs-mahjong-1], we changed the underlying technology more than once. After that, we did it again several times, throwing away already completed features.
It seems that right now we have less completed features than before the release of ["OGS Mahjong"][ogs-mahjong-1]. It's true, but not entirely.

When ["OGS Mahjong"][ogs-mahjong-1] 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.
Some parts of the underlying technology did not age very well. And fixing these problems today will require us to invest a lot of time into it.
Even setting the building environment for the game is time-consuming, because the game had some very particular dependencies.

So, as Michael stated before, we are trying to find the set of technologies, that will resolve two problems at the same time:

* greatly decrease the amount of effort needed to setup a building environment;
* age better.

During this year, Michel, who has some experience with teaching kids to code, added one more goal - making the simple game should be easy enough for the kid to understand.

So, we divided everything we wanted in two parts.

The first part is making an easy to use instrument that a child can use to create a simple game, and a professional or hobbyist can use to test new ideas quickly. This instrument should require zero time to setup the working environment, but should still be highly customizable. After many hours of arguing, we decided that this instrument should be web-based (self-hosted, preferably working locally). This instrument is [MUROM][murom] (named after one famous Russian city), and right now it highly customizable and works in the browser with zero setup time. [MUROM][murom] can be used to create simple games, but it's far from ready. And the third goal is also ahead.

We will start to work on the second part after completing the first part. It will include the native part of the engine. We'll try to let the web-based engine and the native engine use the same code for game logic, but we haven't decided on how exactly will we achieve this feature. Probably, we will have to use meta-language that can be translated into both JavaScript and C++. Also, creating separate plugins for something that is impossible in the web version (for example, using specific hardware or accessing a local file system) will still be required.

Will we ever start to work on the second part? We hope so. We're planning to use [MUROM][murom] to remake ["OGS Mahjong"][ogs-mahjong-1], so some things will be done just in order to make it possible.
And even if we will complete only the first part and [MUROM][murom] will just be a quick&dirty prototyping tool, it will be a tool we use, and we'll try to make it useful.

When you throw away all the code, one thing remains. That's experience. Every restart will make you slightly better at understanding what you are actually doing. But it's important to complete something from time to time. Otherwise, you can find yourself stuck in the endless loop of new beginnings.

And our own main goal for 2020 will be to break out of this loop and complete something.

Happy new year, everyone! Stay tuned!

[screenshot]: ../../images/2020-01-01-ny.jpg
[ogs-mahjong-1]: ../game/ogs-mahjong-1.html
[murom]: http://opengamestudio.org/murom

+ 17
- 17
en/news/index.html 查看文件

@@ -94,6 +94,22 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">The pros and cons of restarting from scratch</a>
</h2>
<p class="news_item_date">
2020-01-01 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
<p>Anyone, who watches our progress long enough, can say that we restarted the development from scratch plenty of times.</p>
<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.. . .</p>
</div>
<div class="news_item_more">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="on-the-way-to-durable-applications.html">On the way to durable applications</a>
@@ -228,24 +244,8 @@
<a href="example-driven-development.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="openscenegraph-examples.html">OpenSceneGraph cross-platform examples</a>
</h2>
<p class="news_item_date">
2018-04-20 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-04-20-openscenegraph-examples.png" alt="iOS Simulator renders a cube" /></p>
<p>This article summarizes the work we did to produce the first two cross-platform OpenSceneGraph examples.</p>
<p>By the time <a href="mahjong-techdemo1-gameplay.html">the first technology demonstration of OGS Mahjong 2</a> has been released, we've already had <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">issue request</a> (to explain how to load images with OpenSceneGraph on Android) hanging for some time. We considered creating a new tutorial for <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> at first. However, we realized that it's time-consuming and excessive for such a tiny topic (compared to what an average game has) as image loading. We decided to continue sharing our knowledge in the form of concrete examples. That's how <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">OpenSceneGraph cross-platform examples</a> were born.. . .</p>
</div>
<div class="news_item_more">
<a href="openscenegraph-examples.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 1 of 6</p>
<p class="pagination_title">Page 1 of 7</p>
<p>
<a href="index2.html">Older »</a>
</p>


+ 17
- 17
en/news/index2.html 查看文件

@@ -94,6 +94,22 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="openscenegraph-examples.html">OpenSceneGraph cross-platform examples</a>
</h2>
<p class="news_item_date">
2018-04-20 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-04-20-openscenegraph-examples.png" alt="iOS Simulator renders a cube" /></p>
<p>This article summarizes the work we did to produce the first two cross-platform OpenSceneGraph examples.</p>
<p>By the time <a href="mahjong-techdemo1-gameplay.html">the first technology demonstration of OGS Mahjong 2</a> has been released, we've already had <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">issue request</a> (to explain how to load images with OpenSceneGraph on Android) hanging for some time. We considered creating a new tutorial for <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">OpenSceneGraph cross-platform guide</a> at first. However, we realized that it's time-consuming and excessive for such a tiny topic (compared to what an average game has) as image loading. We decided to continue sharing our knowledge in the form of concrete examples. That's how <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">OpenSceneGraph cross-platform examples</a> were born.. . .</p>
</div>
<div class="news_item_more">
<a href="openscenegraph-examples.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-techdemo1-gameplay.html">First techdemo of OGS Mahjong 2: Gameplay</a>
@@ -221,24 +237,8 @@
<a href="openscenegraph-cross-platform-guide.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ios-tutorial.html">iOS tutorial</a>
</h2>
<p class="news_item_date">
2017-06-08 10:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-06-08-ios-refactoring.png" alt="Earth and a rocket" /></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up with a hackish demo that works for one person, but it's hard to create a concise example that works for everyone.. . .</p>
</div>
<div class="news_item_more">
<a href="ios-tutorial.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 2 of 6</p>
<p class="pagination_title">Page 2 of 7</p>
<p>
<a href="index.html">« Newer</a>
<a href="index3.html">Older »</a>


+ 17
- 17
en/news/index3.html 查看文件

@@ -94,6 +94,22 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="ios-tutorial.html">iOS tutorial</a>
</h2>
<p class="news_item_date">
2017-06-08 10:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-06-08-ios-refactoring.png" alt="Earth and a rocket" /></p>
<p>This article describes problems we faced during the creation of iOS tutorial in May 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">This February</a> we managed to get simple model rendered under iOS in just a few days. We expected to finish iOS tutorial in no time. However, the reality reminded us: it's easy to come up with a hackish demo that works for one person, but it's hard to create a concise example that works for everyone.. . .</p>
</div>
<div class="news_item_more">
<a href="ios-tutorial.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="osg-sample.html">OpenSceneGraph sample</a>
@@ -222,24 +238,8 @@
<a href="2016-tech-showcases.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2016-september-recap.html">September 2016 recap</a>
</h2>
<p class="news_item_date">
2016-10-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-10-11_september-recap.png" alt="Mahjong created during live session" /></p>
<p>This article explains September 2016 live session stages: draft, rehearsal, live session itself, and publishing.</p>
<p>Even though live session takes only a few hours, we devote a whole month to prepare for it. Let's have a look at live session stages in detail.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-september-recap.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 3 of 6</p>
<p class="pagination_title">Page 3 of 7</p>
<p>
<a href="index2.html">« Newer</a>
<a href="index4.html">Older »</a>


+ 17
- 15
en/news/index4.html 查看文件

@@ -94,6 +94,22 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2016-september-recap.html">September 2016 recap</a>
</h2>
<p class="news_item_date">
2016-10-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-10-11_september-recap.png" alt="Mahjong created during live session" /></p>
<p>This article explains September 2016 live session stages: draft, rehearsal, live session itself, and publishing.</p>
<p>Even though live session takes only a few hours, we devote a whole month to prepare for it. Let's have a look at live session stages in detail.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-september-recap.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ogs-editor-0.10.html">OGS Editor 0.10 and live session materials</a>
@@ -216,22 +232,8 @@
<a href="ogs-editor-0.9.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-announcement.html">Live session: 28 May 2016</a>
</h2>
<p class="news_item_date">
2016-05-17 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+May+live+session&iso=20160528T12&p1=37&ah=3">28 May 2016 at 12:00 CEST</a>. Join us!. . .</p>
</div>
<div class="news_item_more">
<a href="may-live-session-announcement.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 4 of 6</p>
<p class="pagination_title">Page 4 of 7</p>
<p>
<a href="index3.html">« Newer</a>
<a href="index5.html">Older »</a>


+ 15
- 18
en/news/index5.html 查看文件

@@ -94,6 +94,20 @@
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-announcement.html">Live session: 28 May 2016</a>
</h2>
<p class="news_item_date">
2016-05-17 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+May+live+session&iso=20160528T12&p1=37&ah=3">28 May 2016 at 12:00 CEST</a>. Join us!. . .</p>
</div>
<div class="news_item_more">
<a href="may-live-session-announcement.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-decision.html">May live session (Editor 0.9)</a>
@@ -210,25 +224,8 @@
<a href="livesession-editor-07.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="soon-game-creation-editor-07.html">SOON: Creating a simple game live (Editor 0.7)</a>
</h2>
<p class="news_item_date">
2015-11-02 00:00
</p>
<div class="news_item_contents">
<p>As we have promised, we are ready to give you Editor 0.7 which is capable of creating the complete test chamber. However, after recreating the test chamber ourselves, it became clear that:</p>
<ol>
<li>it takes more than 8 hours to recreate it (too long). . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="soon-game-creation-editor-07.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 5 of 6</p>
<p class="pagination_title">Page 5 of 7</p>
<p>
<a href="index4.html">« Newer</a>
<a href="index6.html">Older »</a>


+ 19
- 16
en/news/index6.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="soon-game-creation-editor-07.html">SOON: Creating a simple game live (Editor 0.7)</a>
</h2>
<p class="news_item_date">
2015-11-02 00:00
</p>
<div class="news_item_contents">
<p>As we have promised, we are ready to give you Editor 0.7 which is capable of creating the complete test chamber. However, after recreating the test chamber ourselves, it became clear that:</p>
<ol>
<li>it takes more than 8 hours to recreate it (too long). . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="soon-game-creation-editor-07.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="bye-desura-hello-humblebundle.html">Desura no more, hello Humble Bundle Widget</a>
@@ -213,25 +230,11 @@
<a href="user-servey-finish-promise.html">Continue reading</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2014-another-year-passed.html">And another year has passed</a>
</h2>
<p class="news_item_date">
2014-12-31 12:00
</p>
<div class="news_item_contents">
<p>Hello!</p>
<p>So, this year comes to the end. There were very little publications from us during this year. We haven't stopped working, but right now our work is in the phase, when we have nothing to show. And the spare time of the team members is rarely more then 30-40 hours a month.. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 6 of 6</p>
<p class="pagination_title">Page 6 of 7</p>
<p>
<a href="index5.html">« Newer</a>
<a href="index7.html">Older »</a>
</p>




+ 126
- 0
en/news/index7.html 查看文件

@@ -0,0 +1,126 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style>
#header
{
background: #2BA6E3;
padding: 0.7em;
text-align: left;
}
#header a
{
color: white;
text-decoration: none;
padding: 0.5em 1em 0.5em 1em;
}

#lang
{
float: right;
}

.news_item
{
background: #FFFFFF;
width: 720px;
padding: 1em;
margin-top: 2em;
margin-bottom: 2em;
border: 1px solid #E0E0E0;
text-align: left;
}
.news_item_contents
{
color: #444;
line-height: 1.5em;
}
.news_item_date
{
margin-bottom: 2em;
color: #aaa;
}

html
{
font-family: sans-serif;
}
body
{
background: #FAFAFA;
}
code, pre
{
font-family: monospace, serif;
font-size: 1em;
color: #7f0a0c;
}
img
{
width: 720px;
}
a
{
color: #3A91CB;
text-decoration: none;
}

table
{
border-collapse: collapse;
}
table, th, td
{
border: 1px solid #aaa;
padding: 0.5em;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
</style>
</head>
<body>
<div id="header">
<strong id="title">Open Game Studio</strong>
<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 id="lang">
<a href="../../en/news/index7.html">EN</a>
<a href="../../ru/news/index7.html">RU</a>
</div>
</div>
<center>
<h1>News</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2014-another-year-passed.html">And another year has passed</a>
</h2>
<p class="news_item_date">
2014-12-31 12:00
</p>
<div class="news_item_contents">
<p>Hello!</p>
<p>So, this year comes to the end. There were very little publications from us during this year. We haven't stopped working, but right now our work is in the phase, when we have nothing to show. And the spare time of the team members is rarely more then 30-40 hours a month.. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Continue reading</a>
</div>
</div>

<p class="pagination_title">Page 7 of 7</p>
<p>
<a href="index6.html">« Newer</a>
</p>


<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>.
The site is hosted by <a href="https://pages.github.com">GitHub Pages</a>.
</div>
</center>
</body>
</html>

+ 134
- 0
en/news/the-pros-and-cons-of-restarting-from-scratch.html 查看文件

@@ -0,0 +1,134 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style>
#header
{
background: #2BA6E3;
padding: 0.7em;
text-align: left;
}
#header a
{
color: white;
text-decoration: none;
padding: 0.5em 1em 0.5em 1em;
}

#lang
{
float: right;
}

.news_item
{
background: #FFFFFF;
width: 720px;
padding: 1em;
margin-top: 2em;
margin-bottom: 2em;
border: 1px solid #E0E0E0;
text-align: left;
}
.news_item_contents
{
color: #444;
line-height: 1.5em;
}
.news_item_date
{
margin-bottom: 2em;
color: #aaa;
}

html
{
font-family: sans-serif;
}
body
{
background: #FAFAFA;
}
code, pre
{
font-family: monospace, serif;
font-size: 1em;
color: #7f0a0c;
}
img
{
width: 720px;
}
a
{
color: #3A91CB;
text-decoration: none;
}

table
{
border-collapse: collapse;
}
table, th, td
{
border: 1px solid #aaa;
padding: 0.5em;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
</style>
</head>
<body>
<div id="header">
<strong id="title">Open Game Studio</strong>
<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 id="lang">
<a href="../../en/news/the-pros-and-cons-of-restarting-from-scratch.html">EN</a>
<a href="../../ru/news/the-pros-and-cons-of-restarting-from-scratch.html">RU</a>
</div>
</div>
<center>
<h1>In the news...</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">The pros and cons of restarting from scratch</a>
</h2>
<p class="news_item_date">
2020-01-01 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
<p>Anyone, who watches our progress long enough, can say that we restarted the development from scratch plenty of times.</p>
<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.
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>
<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.
Some parts of the underlying technology did not age very well. And fixing these problems today will require us to invest a lot of time into it.
Even setting the building environment for the game is time-consuming, because the game had some very particular dependencies.</p>
<p>So, as Michael stated before, we are trying to find the set of technologies, that will resolve two problems at the same time:</p>
<ul>
<li>greatly decrease the amount of effort needed to setup a building environment;</li>
<li>age better.</li>
</ul>
<p>During this year, Michel, who has some experience with teaching kids to code, added one more goal - making the simple game should be easy enough for the kid to understand.</p>
<p>So, we divided everything we wanted in two parts.</p>
<p>The first part is making an easy to use instrument that a child can use to create a simple game, and a professional or hobbyist can use to test new ideas quickly. This instrument should require zero time to setup the working environment, but should still be highly customizable. After many hours of arguing, we decided that this instrument should be web-based (self-hosted, preferably working locally). This instrument is <a href="http://opengamestudio.org/murom">MUROM</a> (named after one famous Russian city), and right now it highly customizable and works in the browser with zero setup time. <a href="http://opengamestudio.org/murom">MUROM</a> can be used to create simple games, but it's far from ready. And the third goal is also ahead.</p>
<p>We will start to work on the second part after completing the first part. It will include the native part of the engine. We'll try to let the web-based engine and the native engine use the same code for game logic, but we haven't decided on how exactly will we achieve this feature. Probably, we will have to use meta-language that can be translated into both JavaScript and C++. Also, creating separate plugins for something that is impossible in the web version (for example, using specific hardware or accessing a local file system) will still be required.</p>
<p>Will we ever start to work on the second part? We hope so. We're planning to use <a href="http://opengamestudio.org/murom">MUROM</a> to remake <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, so some things will be done just in order to make it possible.
And even if we will complete only the first part and <a href="http://opengamestudio.org/murom">MUROM</a> will just be a quick&amp;dirty prototyping tool, it will be a tool we use, and we'll try to make it useful.</p>
<p>When you throw away all the code, one thing remains. That's experience. Every restart will make you slightly better at understanding what you are actually doing. But it's important to complete something from time to time. Otherwise, you can find yourself stuck in the endless loop of new beginnings.</p>
<p>And our own main goal for 2020 will be to break out of this loop and complete something. </p>
<p>Happy new year, everyone! Stay tuned!</p>
</div>
</div>
<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>.
The site is hosted by <a href="https://pages.github.com">GitHub Pages</a>.
</div>
</center>
</body>
</html>

二進制
images/2020-01-01-ny.jpg 查看文件

Before After
Width: 720  |  Height: 311  |  Size: 82KB

+ 1
- 1
ru/news/2019-08-05_on-the-way-to-durable-applications.md 查看文件

@@ -50,7 +50,7 @@ Lang: ru

**Причина №2: народовластие**

Нынче любой чих в Интернете осуществляется посредством сервисов, которые почти всегда принадлежат какой-то компании: [сообщения][msg], [карты][map], [поиск][search], [музыка][music], [исходный код][src] и т.д.. Следствием подобной узурпации власти становится [закрытие][shutdown-01] тех [сервисов][shutdown-02], которые контролирующая компания считает нерентабельными. Причём без какого-либо обсуждения с теми пользователям, без которых этот сервис никогда бы не взлетел.
Нынче любой чих в Интернете осуществляется посредством сервисов, которые почти всегда принадлежат какой-то компании: [сообщения][msg], [карты][map], [поиск][search], [музыка][music], [исходный код][src] и т.д.. Следствием подобной узурпации власти становится [закрытие][shutdown-01] тех [сервисов][shutdown-02], которые контролирующая компания считает нерентабельным. Причём без какого-либо обсуждения с теми пользователям, без которых этот сервис никогда бы не взлетел.

В других случаях компания может просто запретить конкурирующему браузеру использовать свой сервис, как это недавно [случилось с веб-версией Скайпа][skype-block]. Вместе с тем, существуют люди, не согласные с такой политикой. Благодаря им появляются [инструменты отключения][skype-free] блокировок.



+ 42
- 0
ru/news/2020-01-01_about_restarting_from_scratch.md 查看文件

@@ -0,0 +1,42 @@
Title: Минусы и плюсы начинания с начала
Date: 2020-01-01 00:00
Category: News
Slug: the-pros-and-cons-of-restarting-from-scratch
Lang: ru

![Happy 2020][screenshot]

Любой, кто следит за нашим прогрессом достаточно долго, может сказать, что мы много раз перезапускали разработку с нуля.

Еще до выпуска ["OGS Mahjong"][ogs-mahjong-1] мы несколько раз меняли технологии "под капотом". После релиза мы неоднократно делали это снова, отбрасывая уже готовые решения.
Может показаться, что сейчас у нас меньше готового, чем перед выходом ["OGS Mahjong"][ogs-mahjong-1]. Это правда, но не совсем.

Когда вышел ["OGS Mahjong"][ogs-mahjong-1], у нас была приятно выглядящая (на тот момент) игра с открытым исходным кодом, которая работала под Windows и Linux. С некоторой удачей и усилием в нее можно поиграть и сегодня, но уже не "из коробки".
С некоторыми использованными нами библиотеками время обошлось не очень хорошо. И решение этих проблем сегодня потребует от нас больше времени, чем мы можем себе позволить на них выделить.
Даже настройка среды сборки для игры сейчас оказывается долгим занятием, потому что у игры были очень специфические зависимости.

Итак, как ранее писал Михаил, мы пытаемся найти набор технологий, которые позволят решить две проблемы одновременно:

* значительно уменьшить количество усилий, необходимых для настройки среды здания;
* оставаться надежными с течением времени.

В течение этого года Михаил, имеющий некоторый опыт обучения детей программированию, добавил еще одну цель - сделать простую игру должно быть достаточно легко, чтобы ребенок мог в этом разобраться.

Для простоты, мы разделили все свои хотелки, на две части.

Первая часть - создание легкого в освоении инструмента, который ребенок может использовать для создания простой игры, а профессионал или любитель может быстро проверить с его помощью новые идеи. Этот инструмент не должен требовать времени для настройки рабочей среды, но все же должен быть сильно настраиваемым. После многочасовых споров, мы решили, что этот инструмент должен работать в браузере (self-hosted, по-возможности даже локально). Этот инструмент - [MUROM][murom] (названный в честь одного известного русского города). Сейчас это очень настраиваемый и работающий в браузере редактор, не требующий установки. [MUROM][murom] уже можно использовать для создания простых игр, но он далек от готовности. И третья цель пока впереди. Как показала практика - дети не очень хорошо понимают JavaScript.

Над второй частью мы начнем работать после завершения первой. Она будет включать в себя части движка, относящиеся к нативному коду. Мы попытаемся позволить веб-движку и нативному движку использовать один и тот же код для игровой логики, но мы не решили, как именно мы достигнем этого. Возможно, мы воспользуемся метаязыком, который можно будет перевести как на JavaScript, так и в C++. Разумеется, для чего-то, что невозможно в веб-версии (например, с использование определенного оборудования или доступа к локальной файловой системе) потребуется писать отдельные локальные плагины.

С учетом регулярной смены технологий, мы вообще когда-нибудь начнем работать над второй частью? Мы надеемся на это. Мы планируем использовать [MUROM][murom] чтобы воссоздать ["OGS Mahjong"][ogs-mahjong-1], поэтому некоторые вещи нам придется сделать только для того, чтобы это стало возможным.
И даже если мы закончим только первую часть, и [MUROM][murom] останется просто инструментом быстрого прототипирования, это будет инструмент, который мы сами используем, и мы постараемся сделать его полезным.

Когда вы выбрасываете весь код, остается одна вещь. Это опыт. Каждый перезапуск позволяет лучше понять куда вы двигаетесь. Но важно что-то доделывать время от времени. В противном случае вы можете оказаться в бесконечном цикле начинания с начала.

И нашей главной целью на 2020 год будет выйти из этого цикла и что-то завершить.

Всех с Новым годом! Следите за новостями!

[screenshot]: ../../images/2020-01-01-ny.jpg
[ogs-mahjong-1]: ../game/ogs-mahjong-1.html
[murom]: http://opengamestudio.org/murom

+ 17
- 17
ru/news/index.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">Минусы и плюсы начинания с начала</a>
</h2>
<p class="news_item_date">
2020-01-01 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
<p>Любой, кто следит за нашим прогрессом достаточно долго, может сказать, что мы много раз перезапускали разработку с нуля.</p>
<p>Еще до выпуска <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a> мы несколько раз меняли технологии "под капотом". После релиза мы неоднократно делали это снова, отбрасывая уже готовые решения.. . .</p>
</div>
<div class="news_item_more">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="on-the-way-to-durable-applications.html">На пути к долговечным приложениям</a>
@@ -228,24 +244,8 @@
<a href="example-driven-development.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="openscenegraph-examples.html">Кросс-платформенные примеры OpenSceneGraph</a>
</h2>
<p class="news_item_date">
2018-04-20 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-04-20-openscenegraph-examples.png" alt="iOS Simulator отображает куб" /></p>
<p>Эта статья резюмирует создание первых двух кросс-платформенных примеров OpenSceneGraph.</p>
<p>К тому времени, как мы выпустили <a href="mahjong-techdemo1-gameplay.html">первую техническую демонстрацию OGS Mahjong 2</a>, нас уже дожидался <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">запрос на описание работы с изображениями</a> в OpenSceneGraph на Android. Сначала мы рассматривали возможность создания нового самоучителя для <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">кросс-платформенного руководства OpenSceneGraph</a>, но позже мы оценили необходимые трудозатраты и посчитали их излишними для освещения такой небольшой темы (по сравнению с тем, что умеет средняя игра) как загрузка изображений. Мы решили продолжить делиться нашими знаниями в виде конкретных примеров. Так на свет появились <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">кросс-платформенные примеры OpenSceneGraph</a>.. . .</p>
</div>
<div class="news_item_more">
<a href="openscenegraph-examples.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 1 из 6</p>
<p class="pagination_title">Страница 1 из 7</p>
<p>
<a href="index2.html">Старее »</a>
</p>


+ 17
- 17
ru/news/index2.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="openscenegraph-examples.html">Кросс-платформенные примеры OpenSceneGraph</a>
</h2>
<p class="news_item_date">
2018-04-20 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-04-20-openscenegraph-examples.png" alt="iOS Simulator отображает куб" /></p>
<p>Эта статья резюмирует создание первых двух кросс-платформенных примеров OpenSceneGraph.</p>
<p>К тому времени, как мы выпустили <a href="mahjong-techdemo1-gameplay.html">первую техническую демонстрацию OGS Mahjong 2</a>, нас уже дожидался <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">запрос на описание работы с изображениями</a> в OpenSceneGraph на Android. Сначала мы рассматривали возможность создания нового самоучителя для <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide">кросс-платформенного руководства OpenSceneGraph</a>, но позже мы оценили необходимые трудозатраты и посчитали их излишними для освещения такой небольшой темы (по сравнению с тем, что умеет средняя игра) как загрузка изображений. Мы решили продолжить делиться нашими знаниями в виде конкретных примеров. Так на свет появились <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">кросс-платформенные примеры OpenSceneGraph</a>.. . .</p>
</div>
<div class="news_item_more">
<a href="openscenegraph-examples.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-techdemo1-gameplay.html">Первая технодемка OGS Mahjong 2: Игровая механика</a>
@@ -222,24 +238,8 @@
<a href="openscenegraph-cross-platform-guide.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ios-tutorial.html">Самоучитель iOS</a>
</h2>
<p class="news_item_date">
2017-06-08 10:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-06-08-ios-refactoring.png" alt="Земля и ракета" /></p>
<p>Эта статья описывает проблемы, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">В феврале</a> мы сумели отобразить простую модель под iOS за считанные дни. Это дало нам уверенность, что самоучитель для iOS мы сделаем столь же быстро. Тем не менее, реальность напомнила нам о простой вещи: быстро сделать можно лишь поделку на коленке, работающую только у самого разработчика; над логически связанным примером, работающим у всех, придётся попотеть.. . .</p>
</div>
<div class="news_item_more">
<a href="ios-tutorial.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 2 из 6</p>
<p class="pagination_title">Страница 2 из 7</p>
<p>
<a href="index.html">« Новее</a>
<a href="index3.html">Старее »</a>


+ 17
- 17
ru/news/index3.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="ios-tutorial.html">Самоучитель iOS</a>
</h2>
<p class="news_item_date">
2017-06-08 10:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-06-08-ios-refactoring.png" alt="Земля и ракета" /></p>
<p>Эта статья описывает проблемы, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p>
<p><a href="https://twitter.com/OpenGameStudio/status/826816343433498627">В феврале</a> мы сумели отобразить простую модель под iOS за считанные дни. Это дало нам уверенность, что самоучитель для iOS мы сделаем столь же быстро. Тем не менее, реальность напомнила нам о простой вещи: быстро сделать можно лишь поделку на коленке, работающую только у самого разработчика; над логически связанным примером, работающим у всех, придётся попотеть.. . .</p>
</div>
<div class="news_item_more">
<a href="ios-tutorial.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="osg-sample.html">Приложение OpenSceneGraph</a>
@@ -221,24 +237,8 @@
<a href="2016-tech-showcases.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2016-september-recap.html">Сентябрь 2016 кратко</a>
</h2>
<p class="news_item_date">
2016-10-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-10-11_september-recap.png" alt="Маджонг, созданный в прямом эфире" /></p>
<p>Эта статья описывает стадии по подготовке и проведению прямого эфира сентября 2016: черновик, репетиция, прямой эфир и публикация.</p>
<p>Несмотря на то, что сам прямой эфир длится лишь несколько часов, мы готовимся к нему целый месяц. Рассмотрим каждую стадию прямого эфира подробнее.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-september-recap.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 3 из 6</p>
<p class="pagination_title">Страница 3 из 7</p>
<p>
<a href="index2.html">« Новее</a>
<a href="index4.html">Старее »</a>


+ 17
- 15
ru/news/index4.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="2016-september-recap.html">Сентябрь 2016 кратко</a>
</h2>
<p class="news_item_date">
2016-10-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-10-11_september-recap.png" alt="Маджонг, созданный в прямом эфире" /></p>
<p>Эта статья описывает стадии по подготовке и проведению прямого эфира сентября 2016: черновик, репетиция, прямой эфир и публикация.</p>
<p>Несмотря на то, что сам прямой эфир длится лишь несколько часов, мы готовимся к нему целый месяц. Рассмотрим каждую стадию прямого эфира подробнее.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-september-recap.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="ogs-editor-0.10.html">OGS Editor 0.10 и материалы прямого эфира</a>
@@ -216,22 +232,8 @@
<a href="ogs-editor-0.9.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-announcement.html">Прямой эфир: 28 мая 2016</a>
</h2>
<p class="news_item_date">
2016-05-17 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=%D0%9C%D0%B0%D0%B9%D1%81%D0%BA%D0%B8%D0%B9+%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%B9+%D1%8D%D1%84%D0%B8%D1%80+Open+Game+Studio&iso=20160528T13&p1=166&ah=3">28 мая 2016 в 13:00 MSK</a>. Присоединяйтесь!. . .</p>
</div>
<div class="news_item_more">
<a href="may-live-session-announcement.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 4 из 6</p>
<p class="pagination_title">Страница 4 из 7</p>
<p>
<a href="index3.html">« Новее</a>
<a href="index5.html">Старее »</a>


+ 15
- 18
ru/news/index5.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-announcement.html">Прямой эфир: 28 мая 2016</a>
</h2>
<p class="news_item_date">
2016-05-17 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=%D0%9C%D0%B0%D0%B9%D1%81%D0%BA%D0%B8%D0%B9+%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%B9+%D1%8D%D1%84%D0%B8%D1%80+Open+Game+Studio&iso=20160528T13&p1=166&ah=3">28 мая 2016 в 13:00 MSK</a>. Присоединяйтесь!. . .</p>
</div>
<div class="news_item_more">
<a href="may-live-session-announcement.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="may-live-session-decision.html">Майский прямой эфир (Редактор 0.9)</a>
@@ -210,25 +224,8 @@
<a href="livesession-editor-07.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="soon-game-creation-editor-07.html">СКОРО: Создание простой игры в прямом эфире (Редактор 0.7)</a>
</h2>
<p class="news_item_date">
2015-11-02 00:00
</p>
<div class="news_item_contents">
<p>Как и было обещано, мы готовы предоставить вам Редактор 0.7, с помощью которого можно создать тестовый цех. Тем не менее, после воссоздания цеха стало ясно, что:</p>
<ol>
<li>это занимает более 8 часов (слишком долго). . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="soon-game-creation-editor-07.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 5 из 6</p>
<p class="pagination_title">Страница 5 из 7</p>
<p>
<a href="index4.html">« Новее</a>
<a href="index6.html">Старее »</a>


+ 19
- 16
ru/news/index6.html 查看文件

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

<div class="news_item">
<h2 class="news_item_title">
<a href="soon-game-creation-editor-07.html">СКОРО: Создание простой игры в прямом эфире (Редактор 0.7)</a>
</h2>
<p class="news_item_date">
2015-11-02 00:00
</p>
<div class="news_item_contents">
<p>Как и было обещано, мы готовы предоставить вам Редактор 0.7, с помощью которого можно создать тестовый цех. Тем не менее, после воссоздания цеха стало ясно, что:</p>
<ol>
<li>это занимает более 8 часов (слишком долго). . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="soon-game-creation-editor-07.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="bye-desura-hello-humblebundle.html">Прощай, Desura. Здравствуй, Humble Bundle Widget</a>
@@ -211,25 +228,11 @@
<a href="user-servey-finish-promise.html">Читать далее</a>
</div>
</div>
<div class="news_item">
<h2 class="news_item_title">
<a href="2014-another-year-passed.html">И вот прошел еще один год</a>
</h2>
<p class="news_item_date">
2014-12-31 12:00
</p>
<div class="news_item_contents">
<p>Привет.</p>
<p>Подходит к концу год, в течение которого мы разместили на сайте рекордно малое количество новостей. Мы не прекратили разработку, однако пока она находится в фазе "показывать нечего", а свободного времени, которое можно уделять проекту, у каждого из его участников сейчас найдется редко больше чем 30-40 часов в месяц.. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 6 из 6</p>
<p class="pagination_title">Страница 6 из 7</p>
<p>
<a href="index5.html">« Новее</a>
<a href="index7.html">Старее »</a>
</p>




+ 126
- 0
ru/news/index7.html 查看文件

@@ -0,0 +1,126 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style>
#header
{
background: #2BA6E3;
padding: 0.7em;
text-align: left;
}
#header a
{
color: white;
text-decoration: none;
padding: 0.5em 1em 0.5em 1em;
}

#lang
{
float: right;
}

.news_item
{
background: #FFFFFF;
width: 720px;
padding: 1em;
margin-top: 2em;
margin-bottom: 2em;
border: 1px solid #E0E0E0;
text-align: left;
}
.news_item_contents
{
color: #444;
line-height: 1.5em;
}
.news_item_date
{
margin-bottom: 2em;
color: #aaa;
}

html
{
font-family: sans-serif;
}
body
{
background: #FAFAFA;
}
code, pre
{
font-family: monospace, serif;
font-size: 1em;
color: #7f0a0c;
}
img
{
width: 720px;
}
a
{
color: #3A91CB;
text-decoration: none;
}

table
{
border-collapse: collapse;
}
table, th, td
{
border: 1px solid #aaa;
padding: 0.5em;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
</style>
</head>
<body>
<div id="header">
<strong id="title">Open Game Studio</strong>
<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 id="lang">
<a href="../../en/news/index7.html">EN</a>
<a href="../../ru/news/index7.html">RU</a>
</div>
</div>
<center>
<h1>Новости</h1>

<div class="news_item">
<h2 class="news_item_title">
<a href="2014-another-year-passed.html">И вот прошел еще один год</a>
</h2>
<p class="news_item_date">
2014-12-31 12:00
</p>
<div class="news_item_contents">
<p>Привет.</p>
<p>Подходит к концу год, в течение которого мы разместили на сайте рекордно малое количество новостей. Мы не прекратили разработку, однако пока она находится в фазе "показывать нечего", а свободного времени, которое можно уделять проекту, у каждого из его участников сейчас найдется редко больше чем 30-40 часов в месяц.. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Читать далее</a>
</div>
</div>

<p class="pagination_title">Страница 7 из 7</p>
<p>
<a href="index6.html">« Новее</a>
</p>


<div id="footer">
Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
Сайт размещён на <a href="https://pages.github.com">GitHub Pages</a>.
</div>
</center>
</body>
</html>

+ 1
- 1
ru/news/on-the-way-to-durable-applications.html 查看文件

@@ -141,7 +141,7 @@
</ul>
<p>Во многом эта смерть обусловлена недоступностью: нужно приложить неизвестное количество усилий для достижения неизвестного результата. Врядли таким можно кого-либо нынче заманить. Совсем иначе дело обстоит с приложением в браузере, которое потенциально работает везде: необходимо приложить известное усилие - открыть ссылку - для достижения неизвестного результата. История проведения <a href="https://ru.wikipedia.org/wiki/%D0%A2%D0%B2%D0%B8%D1%82%D1%82%D0%B5%D1%80-%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F">твиттер-революций</a> говорит о том, что открывать ссылки и ставить лайки за смену "кровавого режима" умеют практически все.</p>
<p><strong>Причина №2: народовластие</strong></p>
<p>Нынче любой чих в Интернете осуществляется посредством сервисов, которые почти всегда принадлежат какой-то компании: <a href="http://twitter.com">сообщения</a>, <a href="http://2gis.ru">карты</a>, <a href="http://google.com">поиск</a>, <a href="http://music.yandex.ru">музыка</a>, <a href="http://github.com">исходный код</a> и т.д.. Следствием подобной узурпации власти становится <a href="https://techcrunch.com/2015/03/13/google-kills-off-google-code/">закрытие</a> тех <a href="https://www.reddit.com/r/sysadmin/comments/62orq9/codeplex_shutting_down_and_fosshub_is_sad/">сервисов</a>, которые контролирующая компания считает нерентабельными. Причём без какого-либо обсуждения с теми пользователям, без которых этот сервис никогда бы не взлетел.</p>
<p>Нынче любой чих в Интернете осуществляется посредством сервисов, которые почти всегда принадлежат какой-то компании: <a href="http://twitter.com">сообщения</a>, <a href="http://2gis.ru">карты</a>, <a href="http://google.com">поиск</a>, <a href="http://music.yandex.ru">музыка</a>, <a href="http://github.com">исходный код</a> и т.д.. Следствием подобной узурпации власти становится <a href="https://techcrunch.com/2015/03/13/google-kills-off-google-code/">закрытие</a> тех <a href="https://www.reddit.com/r/sysadmin/comments/62orq9/codeplex_shutting_down_and_fosshub_is_sad/">сервисов</a>, которые контролирующая компания считает нерентабельным. Причём без какого-либо обсуждения с теми пользователям, без которых этот сервис никогда бы не взлетел.</p>
<p>В других случаях компания может просто запретить конкурирующему браузеру использовать свой сервис, как это недавно <a href="https://www.reddit.com/r/firefox/comments/aw1umv/skype_web_is_now_blocked_in_firefox/">случилось с веб-версией Скайпа</a>. Вместе с тем, существуют люди, не согласные с такой политикой. Благодаря им появляются <a href="https://addons.mozilla.org/ru/firefox/addon/firefox-web-skype/">инструменты отключения</a> блокировок.</p>
<p>На наш взгляд, подобное положение вещей недопустимо. Однако, вина в этом лежит не только лишь на одичавшем бизнесе, но и простых пользователях, каждом из нас. Вы можете возразить, что у пользователей нет выбора, что кто-то другой (власть, рептилоиды, нужное подчеркнуть) сделал этот мир несправедливым. Кто-то может даже прямо винить власть/рептилоидов и веровать в то, что вот без них-то мы заживём. К сожалению, история человечества <a href="https://ria.ru/20190723/1556775012.html">говорит обратное</a>: "<strong>государство</strong> — это не какая-то вражья орда, оккупировавшая общество, а то, что <strong>растет из общества и зеркально его отражает</strong>".</p>
<p>Будучи частью народа, мы начали с себя и решили употребить свою власть во благо: создавать необходимые нам приложения так, чтобы они работали для всех везде и всегда. ПСКОВ является первой попыткой, которая более чем превзошла наши ожидания. Конечно, у ПСКОВА есть свои ограничения в виде ЛФСД и работы по HTTP без шифрования; предстоит ещё многое сделать для увеличения доступности ПСКОВА, но уже сейчас мы готовы поспорить с любым: ПСКОВ через 10 лет будет работать без единого изменения. Как говорится, запомните этот твит.</p>


+ 141
- 0
ru/news/the-pros-and-cons-of-restarting-from-scratch.html 查看文件

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style>
#header
{
background: #2BA6E3;
padding: 0.7em;
text-align: left;
}
#header a
{
color: white;
text-decoration: none;
padding: 0.5em 1em 0.5em 1em;
}

#lang
{
float: right;
}

.news_item
{
background: #FFFFFF;
width: 720px;
padding: 1em;
margin-top: 2em;
margin-bottom: 2em;
border: 1px solid #E0E0E0;
text-align: left;
}
.news_item_contents
{
color: #444;
line-height: 1.5em;
}
.news_item_date
{
margin-bottom: 2em;
color: #aaa;
}

html
{
font-family: sans-serif;
}
body
{
background: #FAFAFA;
}
code, pre
{
font-family: monospace, serif;
font-size: 1em;
color: #7f0a0c;
}
/*
figure
{
margin: 0px;
padding: 0px;
}
*/
img
{
width: 720px;
}
a
{
color: #3A91CB;
text-decoration: none;
}

table
{
border-collapse: collapse;
}
table, th, td
{
border: 1px solid #aaa;
padding: 0.5em;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
</style>
</head>
<body>
<div id="header">
<strong id="title">Open Game Studio</strong>
<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 id="lang">
<a href="../../en/news/the-pros-and-cons-of-restarting-from-scratch.html">EN</a>
<a href="../../ru/news/the-pros-and-cons-of-restarting-from-scratch.html">RU</a>
</div>
</div>
<center>
<h1>В новостях...</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">Минусы и плюсы начинания с начала</a>
</h2>
<p class="news_item_date">
2020-01-01 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
<p>Любой, кто следит за нашим прогрессом достаточно долго, может сказать, что мы много раз перезапускали разработку с нуля.</p>
<p>Еще до выпуска <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a> мы несколько раз меняли технологии "под капотом". После релиза мы неоднократно делали это снова, отбрасывая уже готовые решения.
Может показаться, что сейчас у нас меньше готового, чем перед выходом <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>. Это правда, но не совсем.</p>
<p>Когда вышел <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, у нас была приятно выглядящая (на тот момент) игра с открытым исходным кодом, которая работала под Windows и Linux. С некоторой удачей и усилием в нее можно поиграть и сегодня, но уже не "из коробки".
С некоторыми использованными нами библиотеками время обошлось не очень хорошо. И решение этих проблем сегодня потребует от нас больше времени, чем мы можем себе позволить на них выделить.
Даже настройка среды сборки для игры сейчас оказывается долгим занятием, потому что у игры были очень специфические зависимости.</p>
<p>Итак, как ранее писал Михаил, мы пытаемся найти набор технологий, которые позволят решить две проблемы одновременно:</p>
<ul>
<li>значительно уменьшить количество усилий, необходимых для настройки среды здания;</li>
<li>оставаться надежными с течением времени.</li>
</ul>
<p>В течение этого года Михаил, имеющий некоторый опыт обучения детей программированию, добавил еще одну цель - сделать простую игру должно быть достаточно легко, чтобы ребенок мог в этом разобраться.</p>
<p>Для простоты, мы разделили все свои хотелки, на две части.</p>
<p>Первая часть - создание легкого в освоении инструмента, который ребенок может использовать для создания простой игры, а профессионал или любитель может быстро проверить с его помощью новые идеи. Этот инструмент не должен требовать времени для настройки рабочей среды, но все же должен быть сильно настраиваемым. После многочасовых споров, мы решили, что этот инструмент должен работать в браузере (self-hosted, по-возможности даже локально). Этот инструмент - <a href="http://opengamestudio.org/murom">MUROM</a> (названный в честь одного известного русского города). Сейчас это очень настраиваемый и работающий в браузере редактор, не требующий установки. <a href="http://opengamestudio.org/murom">MUROM</a> уже можно использовать для создания простых игр, но он далек от готовности. И третья цель пока впереди. Как показала практика - дети не очень хорошо понимают JavaScript.</p>
<p>Над второй частью мы начнем работать после завершения первой. Она будет включать в себя части движка, относящиеся к нативному коду. Мы попытаемся позволить веб-движку и нативному движку использовать один и тот же код для игровой логики, но мы не решили, как именно мы достигнем этого. Возможно, мы воспользуемся метаязыком, который можно будет перевести как на JavaScript, так и в C++. Разумеется, для чего-то, что невозможно в веб-версии (например, с использование определенного оборудования или доступа к локальной файловой системе) потребуется писать отдельные локальные плагины.</p>
<p>С учетом регулярной смены технологий, мы вообще когда-нибудь начнем работать над второй частью? Мы надеемся на это. Мы планируем использовать <a href="http://opengamestudio.org/murom">MUROM</a> чтобы воссоздать <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, поэтому некоторые вещи нам придется сделать только для того, чтобы это стало возможным.
И даже если мы закончим только первую часть, и <a href="http://opengamestudio.org/murom">MUROM</a> останется просто инструментом быстрого прототипирования, это будет инструмент, который мы сами используем, и мы постараемся сделать его полезным.</p>
<p>Когда вы выбрасываете весь код, остается одна вещь. Это опыт. Каждый перезапуск позволяет лучше понять куда вы двигаетесь. Но важно что-то доделывать время от времени. В противном случае вы можете оказаться в бесконечном цикле начинания с начала.</p>
<p>И нашей главной целью на 2020 год будет выйти из этого цикла и что-то завершить.</p>
<p>Всех с Новым годом! Следите за новостями!</p>
</div>
</div>
<div id="footer">
Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
Сайт размещён на <a href="https://pages.github.com">GitHub Pages</a>.
</div>
</center>
</body>
</html>

Loading…
取消
儲存