2025-03 Транслятор CLD генерит Контекст | CLD translator generates Context

This commit is contained in:
2025-03-11 22:31:24 +03:00
parent 3869d5b841
commit 4b667a6fa8
23 changed files with 1145 additions and 290 deletions

View File

@@ -0,0 +1,134 @@
Title: CLD: Context generation
Date: 2025-03-11 00:00
Category: News
Slug: cld_ctx-gen
Lang: en
![splash][splash]
# Context generation
In February I've updated the **C**ross-**l**anguage **d**ialect (CLD) translator to
generate Context out of YML. The generated Contexts have already been
used for the following projects:
* CLD (the CLD translator generated its own Context)
* LHA
* PSKOV
I never really took time to explain what Context is, so here's
a very short explanation: Context is very close to
[Store in Redux][store]. I'm afraid this is not yet the time
to explain Context in detail because I don't yet have a good
argument why you need Context. Once that time comes I do it.
Now let's get back to the Context generation. Here's how LHA's YML for Context looks like: ([entities.yml][entities]):
```
# Application state context
Context:
type: context
fields:
# Command line arguments
arguments: [String]
consoleOutput: String
defaultDir: String
didLaunch: Bool
dir: String
httpDefaultPort: Int
httpLaunch: Bool
httpPort: Int
httpReply: String
httpRequest: NetRequest
```
CLD translator converts it to the following code in Kotlin ([entities.kt][entities-result]):
```
// Application state context
data class Context(
// Command line arguments
var arguments: Array<String> = arrayOf(),
var consoleOutput: String = "",
var defaultDir: String = "",
var didLaunch: Boolean = false,
var dir: String = "",
var httpDefaultPort: Int = 0,
var httpLaunch: Boolean = false,
var httpPort: Int = 0,
var httpReply: String = "",
var httpRequest: NetRequest = NetRequest(),
override var recentField: String = "",
): CLDContext {
override fun <T> field(name: String): T {
if (name == "arguments") {
return arguments as T
} else if (name == "consoleOutput") {
return consoleOutput as T
} else if (name == "defaultDir") {
return defaultDir as T
} else if (name == "didLaunch") {
return didLaunch as T
} else if (name == "dir") {
return dir as T
} else if (name == "httpDefaultPort") {
return httpDefaultPort as T
} else if (name == "httpLaunch") {
return httpLaunch as T
} else if (name == "httpPort") {
return httpPort as T
} else if (name == "httpReply") {
return httpReply as T
} else if (name == "httpRequest") {
return httpRequest as T
}
return "unknown-field-name" as T
}
override fun selfCopy(): CLDContext {
return this.copy()
}
override fun setField(
name: String,
value: Any?
) {
if (name == "arguments") {
arguments = value as Array<String>
} else if (name == "consoleOutput") {
consoleOutput = value as String
} else if (name == "defaultDir") {
defaultDir = value as String
} else if (name == "didLaunch") {
didLaunch = value as Boolean
} else if (name == "dir") {
dir = value as String
} else if (name == "httpDefaultPort") {
httpDefaultPort = value as Int
} else if (name == "httpLaunch") {
httpLaunch = value as Boolean
} else if (name == "httpPort") {
httpPort = value as Int
} else if (name == "httpReply") {
httpReply = value as String
} else if (name == "httpRequest") {
httpRequest = value as NetRequest
}
}
}
```
# March
Kotlin is currently the anchor programming language of CLD. Thus, to use Kotlin,
one would have to install related Java tools (Gradle, Android Studio or JVM itself).
Such a requirement makes it impossible to have a web browser only development
tool. And being able to code in a web browser is something I consider the
key feature for code portability.
That's why in March I plan to create the draft of a tool running in a web browser.
[entities]: https://github.com/OGStudio/local-host-access/blob/main/cld/entities.yml
[entities-result]: https://github.com/OGStudio/local-host-access/blob/main/src/entities.kt#L3
[splash]: ../../images/2025-03_redux-data-flow.jpg
[store]: https://redux.js.org/introduction/getting-started#basic-example

168
en/news/cld_ctx-gen.html Normal file
View File

@@ -0,0 +1,168 @@
<!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 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>
<div id="lang">
<a href="../../en/news/cld_ctx-gen.html">EN</a>
<a href="../../ru/news/cld_ctx-gen.html">RU</a>
</div>
<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="cld_ctx-gen.html">CLD: Context generation</a>
</h2>
<p class="news_item_date">
2025-03-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2025-03_redux-data-flow.jpg" alt="splash" /></p>
<h1 id="contextgeneration">Context generation</h1>
<p>In February I've updated the <strong>C</strong>ross-<strong>l</strong>anguage <strong>d</strong>ialect (CLD) translator to
generate Context out of YML. The generated Contexts have already been
used for the following projects:</p>
<ul>
<li>CLD (the CLD translator generated its own Context)</li>
<li>LHA</li>
<li>PSKOV</li>
</ul>
<p>I never really took time to explain what Context is, so here's
a very short explanation: Context is very close to
<a href="https://redux.js.org/introduction/getting-started#basic-example">Store in Redux</a>. I'm afraid this is not yet the time
to explain Context in detail because I don't yet have a good
argument why you need Context. Once that time comes I do it.</p>
<p>Now let's get back to the Context generation. Here's how LHA's YML for Context looks like: (<a href="https://github.com/OGStudio/local-host-access/blob/main/cld/entities.yml">entities.yml</a>):</p>
<pre><code># Application state context
Context:
type: context
fields:
# Command line arguments
arguments: [String]
consoleOutput: String
defaultDir: String
didLaunch: Bool
dir: String
httpDefaultPort: Int
httpLaunch: Bool
httpPort: Int
httpReply: String
httpRequest: NetRequest
</code></pre>
<p>CLD translator converts it to the following code in Kotlin (<a href="https://github.com/OGStudio/local-host-access/blob/main/src/entities.kt#L3">entities.kt</a>):</p>
<pre><code>// Application state context
data class Context(
// Command line arguments
var arguments: Array&lt;String&gt; = arrayOf(),
var consoleOutput: String = "",
var defaultDir: String = "",
var didLaunch: Boolean = false,
var dir: String = "",
var httpDefaultPort: Int = 0,
var httpLaunch: Boolean = false,
var httpPort: Int = 0,
var httpReply: String = "",
var httpRequest: NetRequest = NetRequest(),
override var recentField: String = "",
): CLDContext {
override fun &lt;T&gt; field(name: String): T {
if (name == "arguments") {
return arguments as T
} else if (name == "consoleOutput") {
return consoleOutput as T
} else if (name == "defaultDir") {
return defaultDir as T
} else if (name == "didLaunch") {
return didLaunch as T
} else if (name == "dir") {
return dir as T
} else if (name == "httpDefaultPort") {
return httpDefaultPort as T
} else if (name == "httpLaunch") {
return httpLaunch as T
} else if (name == "httpPort") {
return httpPort as T
} else if (name == "httpReply") {
return httpReply as T
} else if (name == "httpRequest") {
return httpRequest as T
}
return "unknown-field-name" as T
}
override fun selfCopy(): CLDContext {
return this.copy()
}
override fun setField(
name: String,
value: Any?
) {
if (name == "arguments") {
arguments = value as Array&lt;String&gt;
} else if (name == "consoleOutput") {
consoleOutput = value as String
} else if (name == "defaultDir") {
defaultDir = value as String
} else if (name == "didLaunch") {
didLaunch = value as Boolean
} else if (name == "dir") {
dir = value as String
} else if (name == "httpDefaultPort") {
httpDefaultPort = value as Int
} else if (name == "httpLaunch") {
httpLaunch = value as Boolean
} else if (name == "httpPort") {
httpPort = value as Int
} else if (name == "httpReply") {
httpReply = value as String
} else if (name == "httpRequest") {
httpRequest = value as NetRequest
}
}
}
</code></pre>
<h1 id="march">March</h1>
<p>Kotlin is currently the anchor programming language of CLD. Thus, to use Kotlin,
one would have to install related Java tools (Gradle, Android Studio or JVM itself).
Such a requirement makes it impossible to have a web browser only development
tool. And being able to code in a web browser is something I consider the
key feature for code portability.</p>
<p>That's why in March I plan to create the draft of a tool running in a web browser.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/en/news/cld_ctx-gen.html";
this.page.identifier = "cld_ctx-gen.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

@@ -25,6 +25,32 @@
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="cld_ctx-gen.html">CLD: Context generation</a>
</h2>
<p class="news_item_date">
2025-03-11 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2025-03_redux-data-flow.jpg" alt="splash" /></p>
<h1 id="contextgeneration">Context generation</h1>
<p>In February I've updated the <strong>C</strong>ross-<strong>l</strong>anguage <strong>d</strong>ialect (CLD) translator to
generate Context out of YML. The generated Contexts have already been
used for the following projects:</p>
<ul>
<li>CLD (the CLD translator generated its own Context)</li>
<li>LHA</li>
<li>PSKOV</li>
</ul>
<p>I never really took time to explain what Context is, so here's
a very short explanation: Context is very close to
<a href="https://redux.js.org/introduction/getting-started#basic-example">Store in Redux</a>. I'm afraid this is not yet the time
to explain Context in detail because I don't yet have a good. . .</p>
</div>
<div class="news_item_more">
<a href="cld_ctx-gen.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="psk-jvm-item.html">PSKOV 2 for JVM</a>
</h2>
@@ -218,28 +244,8 @@ gamejam of <a href="https://dtf.ru/games/2783053-nachni-igru-ocenka-videorolikov
<div class="news_item_more">
<a href="memory-gui.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="memory-text-ui.html">"Memory" text UI</a>
</h2>
<p class="news_item_date">
2024-06-14 00:00
</p>
<div class="news_item_contents">
<h1 id="memorytextui">"Memory" text UI</h1>
<p>In May I implemented text UI for "Memory" game in Python. And converted it to C++
by the instrument under development.</p>
<p>Game logic cycle implementation lead to the creation of a controller that manages
context. Creating the controller in Python was straightforward. C++ version took
some time, because the controller needs <a href="https://en.cppreference.com/w/cpp/utility/any">std::any</a>, which is part of C++17.
The instrument under development is limited to C++11 in order to support OpenWrt.</p>
<p>Here's how much code I wrote (in lines):. . .</p>
</div>
<div class="news_item_more">
<a href="memory-text-ui.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 1 of 8</p>
<p class="pagination_title">Page 1 of 9</p>
<p>
<a href="index2.html">Older »</a>
</p>

View File

@@ -25,6 +25,26 @@
<h1>News</h1>
<div class="news_item">
<h2 class="news_item_title">
<a href="memory-text-ui.html">"Memory" text UI</a>
</h2>
<p class="news_item_date">
2024-06-14 00:00
</p>
<div class="news_item_contents">
<h1 id="memorytextui">"Memory" text UI</h1>
<p>In May I implemented text UI for "Memory" game in Python. And converted it to C++
by the instrument under development.</p>
<p>Game logic cycle implementation lead to the creation of a controller that manages
context. Creating the controller in Python was straightforward. C++ version took
some time, because the controller needs <a href="https://en.cppreference.com/w/cpp/utility/any">std::any</a>, which is part of C++17.
The instrument under development is limited to C++11 in order to support OpenWrt.</p>
<p>Here's how much code I wrote (in lines):. . .</p>
</div>
<div class="news_item_more">
<a href="memory-text-ui.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="memory-logic.html">"Memory" game logic</a>
</h2>
@@ -197,25 +217,8 @@ not the hardware one. Today I can confidently say I found the necessary. . .</p>
<div class="news_item_more">
<a href="teaching-to-program-2019.html">Continue reading</a>
</div>
</div><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.. . .</p>
</div>
<div class="news_item_more">
<a href="the-pros-and-cons-of-restarting-from-scratch.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 2 of 8</p>
<p class="pagination_title">Page 2 of 9</p>
<p>
<a href="index.html">« Newer</a>
<a href="index3.html">Older »</a>

View File

@@ -25,6 +25,23 @@
<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.
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.. . .</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>
</h2>
@@ -172,23 +189,8 @@
<div class="news_item_more">
<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 3 of 8</p>
<p class="pagination_title">Page 3 of 9</p>
<p>
<a href="index2.html">« Newer</a>
<a href="index4.html">Older »</a>

View File

@@ -25,6 +25,21 @@
<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>
</h2>
@@ -174,23 +189,8 @@
<div class="news_item_more">
<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 4 of 8</p>
<p class="pagination_title">Page 4 of 9</p>
<p>
<a href="index3.html">« Newer</a>
<a href="index5.html">Older »</a>

View File

@@ -25,6 +25,21 @@
<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>
</h2>
@@ -162,31 +177,8 @@
<div class="news_item_more">
<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>
<ol>
<li><p><strong>Draft.</strong> Game creation for the first time.</p>
<p>Purposes:</p>
<ul>
<li>test our technologies and fix major bugs;</li>
<li>discover usability issues to fix in the next development iteration;</li>
<li>list exact steps to reproduce the game later;. . .</li></ul></li>
</ol>
</div>
<div class="news_item_more">
<a href="2016-september-recap.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 5 of 8</p>
<p class="pagination_title">Page 5 of 9</p>
<p>
<a href="index4.html">« Newer</a>
<a href="index6.html">Older »</a>

View File

@@ -25,6 +25,29 @@
<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>
<ol>
<li><p><strong>Draft.</strong> Game creation for the first time.</p>
<p>Purposes:</p>
<ul>
<li>test our technologies and fix major bugs;</li>
<li>discover usability issues to fix in the next development iteration;</li>
<li>list exact steps to reproduce the game later;. . .</li></ul></li>
</ol>
</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>
</h2>
@@ -158,22 +181,8 @@ It's time to create simple Mahjong solitaire game.
<div class="news_item_more">
<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 6 of 8</p>
<p class="pagination_title">Page 6 of 9</p>
<p>
<a href="index5.html">« Newer</a>
<a href="index7.html">Older »</a>

View File

@@ -25,6 +25,20 @@
<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>
</h2>
@@ -151,26 +165,8 @@
<div class="news_item_more">
<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>
<li>it's inappropriate to be presented in the form of an article (too boring)</li>
</ol>
<p>Therefore we decided to hold a live session at <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> SOON to show you how to create a simple <a title="Whac-a-mole" href="http://google.com/search?q=whac+a+mole">whac-a-mole like game</a> from scratch.. . .</p>
</div>
<div class="news_item_more">
<a href="soon-game-creation-editor-07.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 7 of 8</p>
<p class="pagination_title">Page 7 of 9</p>
<p>
<a href="index6.html">« Newer</a>
<a href="index8.html">Older »</a>

View File

@@ -25,6 +25,24 @@
<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>
<li>it's inappropriate to be presented in the form of an article (too boring)</li>
</ol>
<p>Therefore we decided to hold a live session at <a title="LiveCoding" href="https://www.livecoding.tv/kornerr">LiveCoding</a> SOON to show you how to create a simple <a title="Whac-a-mole" href="http://google.com/search?q=whac+a+mole">whac-a-mole like game</a> from scratch.. . .</p>
</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>
</h2>
@@ -169,26 +187,11 @@
<div class="news_item_more">
<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>
<p>But our work continues. And you can find out some details in the new <a href="exaggerated-expectations.html">article from our programmer Michael Kapelko</a>.</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 8 of 8</p>
<p class="pagination_title">Page 8 of 9</p>
<p>
<a href="index7.html">« Newer</a>
<a href="index9.html">Older »</a>
</p>
<div id="footer">

55
en/news/index9.html Normal file
View File

@@ -0,0 +1,55 @@
<!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 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>
<div id="lang">
<a href="../../en/news/index9.html">EN</a>
<a href="../../ru/news/index9.html">RU</a>
</div>
<div class="clear"></div>
</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>
<p>But our work continues. And you can find out some details in the new <a href="exaggerated-expectations.html">article from our programmer Michael Kapelko</a>.</p>
<p>. . .</p>
</div>
<div class="news_item_more">
<a href="2014-another-year-passed.html">Continue reading</a>
</div>
</div>
<p class="pagination_title">Page 9 of 9</p>
<p>
<a href="index8.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>.
</div>
</center>
</body>
</html>