Publish 2017-09 article about the birth of MJIN world
This commit is contained in:
@@ -1,5 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/all.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-08-16T00:00:00+07:00</updated><entry><title>Scripting research</title><link href="https://ogstudio.github.io/scripting-research.html" rel="alternate"></link><updated>2017-08-16T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-08-16:scripting-research.html</id><summary type="html"><p><img alt="Scripting research" src="https://ogstudio.github.io/2017-08-scripting-research.png" /></p>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/all.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-09-10T00:00:00+07:00</updated><entry><title>The birth of MJIN world</title><link href="https://ogstudio.github.io/mjin-world-birth.html" rel="alternate"></link><updated>2017-09-10T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-09-10:mjin-world-birth.html</id><summary type="html"><p><img alt="The birth of MJIN world" src="https://ogstudio.github.io/2017-09-mjin-world-birth.png" /></p>
|
||||
<p>This article describes the birth of MJIN world in August 2017.</p>
|
||||
<p><strong>mjin-player</strong></p>
|
||||
<p>As you know, <a href="https://ogstudio.github.io/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p>
|
||||
<ol>
|
||||
<li>run unchanged on all supported platforms</li>
|
||||
<li>allow extending C++ code</li>
|
||||
</ol>
|
||||
<p>We have verified the second criterion by writing a sample application. The first criterion was taken for granted because it SHOULD be true.</p>
|
||||
<p>At the time, we saw two ways to verify the first criterion:</p>
|
||||
<ol>
|
||||
<li>create one sample application for each platform to verify scripting only</li>
|
||||
<li>create a single cross-platform application, which can run any code</li>
|
||||
</ol>
|
||||
<p>We chose the second approach because it is more beneficial in the long run. As you might have guessed, <a href="https://bitbucket.org/ogstudio/mjin-player">mjin-player</a> is that application.</p>
|
||||
<p>mjin-player serves as a base for the rest of MJIN projects to make them run on all supported platforms. However, there's no magic trick to hide the projects from the platform, and there was no such intention. Instead, mjin-player provides a consistent set of rules how other MJIN projects should be structured to be able to run on all supported platforms.</p>
|
||||
<p><strong>mjin-application</strong></p>
|
||||
<p>This set of rules for MJIN projects is packaged into <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application is a library that provides basic functionality every MJIN project would need and nothing more. For instance, mjin-application does not and will not contain scripting or any other specific functionality.</p>
|
||||
<p><strong>MJIN world</strong></p>
|
||||
<p>So what is <a href="https://bitbucket.org/ogstudio/mjin">MJIN world</a>? It's a set of projects that constitute our game development tools. mjin-player and mjin-application are the first bricks of the newly born MJIN world. A lot more to come. Stay tuned for the brighter MJIN future.</p>
|
||||
<p>That's it for describing the birth of MJIN world in August 2017.</p></summary></entry><entry><title>Рождение вселенной MJIN</title><link href="https://ogstudio.github.io/mjin-world-birth-ru.html" rel="alternate"></link><updated>2017-09-10T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-09-10:mjin-world-birth-ru.html</id><summary type="html"><p><img alt="Рождение вселенной MJIN" src="https://ogstudio.github.io/2017-09-mjin-world-birth.png" /></p>
|
||||
<p>Эта статья описывает рождение вселенной MJIN в августе 2017.</p>
|
||||
<p><strong>mjin-player</strong></p>
|
||||
<p>Как вы знаете, <a href="https://ogstudio.github.io/scripting-research-ru.html">в июле мы изучали скриптование</a>. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:</p>
|
||||
<ol>
|
||||
<li>исполняться в исходном виде без изменений на всех поддерживаемых платформах</li>
|
||||
<li>позволять расширять код C++</li>
|
||||
</ol>
|
||||
<p>Мы проверили второй критерий в рамках тестового приложения. В первый критерий мы просто поверили, т.к. он ДОЛЖЕН быть верен.</p>
|
||||
<p>В тот момент мы видели два варианта проверки первого критерия:</p>
|
||||
<ol>
|
||||
<li>создать по одному тестовому приложению под каждую платформу для проверки лишь этого критерия</li>
|
||||
<li>создать одно кросс-платформенное приложение, которому можно скормить практически любой код</li>
|
||||
</ol>
|
||||
<p>Мы выбрали второй подход, т.к. он выгоднее в долгосрочной перспективе. Как вы уже догадались, <a href="https://bitbucket.org/ogstudio/mjin-player">mjin-player</a> является тем самым кросс-платформенным приложением.</p>
|
||||
<p>mjin-player служит базой для остальных проектов MJIN, которая позволяет этим проектам работать на всех поддерживаемых платформах. Тем не менее, в mjin-player нет никакой магии, проекты никак не скрыты от деталей платформ, да и не было такой задачи. Вместо скрытия деталей платформы mjin-player предоставляет набор правил, которым должны удовлетворять проекты MJIN для работы на всех поддерживаемых платформах.</p>
|
||||
<p><strong>mjin-application</strong></p>
|
||||
<p>Этот набор правил представлен в виде <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application является библиотекой с базовым функционалом, необходимым для каждого проекта MJIN, но не более. Например, mjin-application не содержит и никогда не будет содержать скриптования или подобного специфического функционала.</p>
|
||||
<p><strong>Вселенная MJIN</strong></p>
|
||||
<p>Так что же такое <a href="https://bitbucket.org/ogstudio/mjin">вселенная MJIN</a>? Это множество проектов, которые являются нашими средствами для разработки игр. mjin-player и mjin-application - первые кирпичики недавно появившейся вселенной MJIN. А будет их намного больше. Оставайтесь на связи, нас ждёт светлое будущее с MJIN.</p>
|
||||
<p>На этом мы заканчиваем описание рождения вселенной MJIN в августе 2017.</p></summary></entry><entry><title>Scripting research</title><link href="https://ogstudio.github.io/scripting-research.html" rel="alternate"></link><updated>2017-08-16T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-08-16:scripting-research.html</id><summary type="html"><p><img alt="Scripting research" src="https://ogstudio.github.io/2017-08-scripting-research.png" /></p>
|
||||
<p>This article describes scripting research in July 2017.</p>
|
||||
<p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p>
|
||||
<p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.</p>
|
||||
@@ -171,10 +211,4 @@ We spent 120 hours in five months to produce ten tutorials of the guide.</p&g
|
||||
<li>main.h - содержит остальной код приложения</li>
|
||||
</ol>
|
||||
<p>Их содержимое несколько отличается для каждой из платформ, но наличие всего двух файлов позволяет увидеть общую картину.</p>
|
||||
<p>На этом мы заканчиваем описание проблем, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p></summary></entry><entry><title>Pelican review</title><link href="https://ogstudio.github.io/pelican-review.html" rel="alternate"></link><updated>2017-06-03T22:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-03:pelican-review.html</id><summary type="html"><p>So far so nice. Pelican is really cool, and provides a quick starting guided
|
||||
to get up and running real fast.</p>
|
||||
<p>Much more smooth than Jekyll.</p>
|
||||
<p>I &lt;3 Python and its ecosystem. Something is just EASIER in Python.</p></summary></entry><entry><title>Обзор Pelican</title><link href="https://ogstudio.github.io/pelican-review-ru.html" rel="alternate"></link><updated>2017-06-03T22:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-03:pelican-review-ru.html</id><summary type="html"><p>Пока что полёт нормальный. Pelican действительно крут, позволяет
|
||||
быстро всё настроить и запуститься.</p>
|
||||
<p>Намного легче, чем Jekyll.</p>
|
||||
<p>&lt;3 Python и его экосистему. Что-то просто ЛЕГЧЕ в Python.</p></summary></entry><entry><title>My first review</title><link href="https://ogstudio.github.io/keyboard-review.html" rel="alternate"></link><updated>2017-06-01T10:20:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-01:keyboard-review.html</id><summary type="html"><p>Here is a full review, guys.</p></summary></entry><entry><title>Моё первое ревью</title><link href="https://ogstudio.github.io/keyboard-review-ru.html" rel="alternate"></link><updated>2017-06-01T10:20:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-01:keyboard-review-ru.html</id><summary type="html"><p>Вот и моё первое ревью, чуввви.</p></summary></entry></feed>
|
||||
<p>На этом мы заканчиваем описание проблем, с которыми мы столкнулись во время создания самоучителя для iOS в мае 2017.</p></summary></entry><entry><title>Stub</title><link href="https://ogstudio.github.io/stub.html" rel="alternate"></link><updated>2017-06-03T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-03:stub.html</id><summary type="html"><p>TODO Import previous Opensource Game Studio articles from Wordpress.</p></summary></entry><entry><title>Заглушка</title><link href="https://ogstudio.github.io/stub-ru.html" rel="alternate"></link><updated>2017-06-03T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-03:stub-ru.html</id><summary type="html"><p>TODO Импортировать предыдущие статьи Opensource Game Studio с Wordpress.</p></summary></entry></feed>
|
||||
@@ -1,5 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/news.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-08-16T00:00:00+07:00</updated><entry><title>Scripting research</title><link href="https://ogstudio.github.io/scripting-research.html" rel="alternate"></link><updated>2017-08-16T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-08-16:scripting-research.html</id><summary type="html"><p><img alt="Scripting research" src="https://ogstudio.github.io/2017-08-scripting-research.png" /></p>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/news.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-09-10T00:00:00+07:00</updated><entry><title>The birth of MJIN world</title><link href="https://ogstudio.github.io/mjin-world-birth.html" rel="alternate"></link><updated>2017-09-10T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-09-10:mjin-world-birth.html</id><summary type="html"><p><img alt="The birth of MJIN world" src="https://ogstudio.github.io/2017-09-mjin-world-birth.png" /></p>
|
||||
<p>This article describes the birth of MJIN world in August 2017.</p>
|
||||
<p><strong>mjin-player</strong></p>
|
||||
<p>As you know, <a href="https://ogstudio.github.io/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p>
|
||||
<ol>
|
||||
<li>run unchanged on all supported platforms</li>
|
||||
<li>allow extending C++ code</li>
|
||||
</ol>
|
||||
<p>We have verified the second criterion by writing a sample application. The first criterion was taken for granted because it SHOULD be true.</p>
|
||||
<p>At the time, we saw two ways to verify the first criterion:</p>
|
||||
<ol>
|
||||
<li>create one sample application for each platform to verify scripting only</li>
|
||||
<li>create a single cross-platform application, which can run any code</li>
|
||||
</ol>
|
||||
<p>We chose the second approach because it is more beneficial in the long run. As you might have guessed, <a href="https://bitbucket.org/ogstudio/mjin-player">mjin-player</a> is that application.</p>
|
||||
<p>mjin-player serves as a base for the rest of MJIN projects to make them run on all supported platforms. However, there's no magic trick to hide the projects from the platform, and there was no such intention. Instead, mjin-player provides a consistent set of rules how other MJIN projects should be structured to be able to run on all supported platforms.</p>
|
||||
<p><strong>mjin-application</strong></p>
|
||||
<p>This set of rules for MJIN projects is packaged into <a href="https://bitbucket.org/ogstudio/mjin-application">mjin-application</a>. mjin-application is a library that provides basic functionality every MJIN project would need and nothing more. For instance, mjin-application does not and will not contain scripting or any other specific functionality.</p>
|
||||
<p><strong>MJIN world</strong></p>
|
||||
<p>So what is <a href="https://bitbucket.org/ogstudio/mjin">MJIN world</a>? It's a set of projects that constitute our game development tools. mjin-player and mjin-application are the first bricks of the newly born MJIN world. A lot more to come. Stay tuned for the brighter MJIN future.</p>
|
||||
<p>That's it for describing the birth of MJIN world in August 2017.</p></summary></entry><entry><title>Scripting research</title><link href="https://ogstudio.github.io/scripting-research.html" rel="alternate"></link><updated>2017-08-16T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-08-16:scripting-research.html</id><summary type="html"><p><img alt="Scripting research" src="https://ogstudio.github.io/2017-08-scripting-research.png" /></p>
|
||||
<p>This article describes scripting research in July 2017.</p>
|
||||
<p><strong>Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.</strong></p>
|
||||
<p>OGS Editor 0.10 supports Python for such a code thanks to <a href="http://swig.org/">SWIG</a>. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.</p>
|
||||
|
||||
2
feeds/stub.atom.xml
Normal file
2
feeds/stub.atom.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Opensource Game Studio</title><link href="https://ogstudio.github.io/" rel="alternate"></link><link href="https://ogstudio.github.io/feeds/stub.atom.xml" rel="self"></link><id>https://ogstudio.github.io/</id><updated>2017-06-03T00:00:00+07:00</updated><entry><title>Stub</title><link href="https://ogstudio.github.io/stub.html" rel="alternate"></link><updated>2017-06-03T00:00:00+07:00</updated><author><name>Opensource Game Studio</name></author><id>tag:ogstudio.github.io,2017-06-03:stub.html</id><summary type="html"><p>TODO Import previous Opensource Game Studio articles from Wordpress.</p></summary></entry></feed>
|
||||
Reference in New Issue
Block a user