You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

377 lines
18KB

  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8" />
  4. <!-- Set the viewport width to device width for mobile -->
  5. <meta name="viewport" content="width=device-width" />
  6. <title>Opensource Game Studio</title>
  7. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/normalize.css" />
  8. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/foundation.min.css" />
  9. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/style.css" />
  10. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/pygments.css" />
  11. <script src="http://opengamestudio.org/theme/js/custom.modernizr.js"></script>
  12. <!-- So Firefox can bookmark->"abo this site" -->
  13. <link href="feeds/all.atom.xml" rel="alternate" title="Opensource Game Studio" type="application/atom+xml">
  14. </head>
  15. <body>
  16. <!-- Nav Bar -->
  17. <nav>
  18. <!-- Show menu items and pages -->
  19. <div class="row">
  20. <div class="large-12 columns top-bar">
  21. <h1><a href="http://opengamestudio.org">Opensource Game Studio</a></h1>
  22. </div>
  23. </div>
  24. <div class="row top-menu">
  25. <div class="large-12 columns">
  26. <a href="/pages/projects.html" class="menu-button secondary">Projects</a>
  27. <a href="/pages/about.html" class="menu-button secondary">About</a>
  28. </div>
  29. </div>
  30. </nav>
  31. <!-- End Nav -->
  32. <!-- Main Page Content and Sidebar -->
  33. <div class="row">
  34. <!-- Main Blog Content -->
  35. <div class="large-9 columns">
  36. <article>
  37. <a href="http://opengamestudio.org/mahjong-demo2.html"><h3 class="article-title">OGS Mahjong 2: Demo 2</h3></a>
  38. <h6 class="subheader" title="2018-10-02T00:00:00+03:00">Вт 02 октября 2018
  39. <a class="button secondary small translation-button" href="http://opengamestudio.org/mahjong-demo2-ru.html">ru</a>
  40. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-10-02-mahjong-demo2.png"></p>
  41. <p>We are glad to announce the release of the second demonstration of OGS Mahjong 2.
  42. The purposes of this release were to refine our development techniques and
  43. build a solid cross-platform foundation.</p>
  44. <p><strong>Release</strong></p>
  45. <p>Run the latest version of OGS Mahjong 2 in your web browser:
  46. <a href="http://ogstudio.github.io/ogs-mahjong">http://ogstudio.github.io/ogs-mahjong</a></p>
  47. <p>You are encouraged to run the game with <code>seed</code> parameter like this:
  48. <a href="http://ogstudio.github.io/ogs-mahjong?seed=0">http://ogstudio.github.io/ogs-mahjong?seed=0</a></p>
  49. <p>This allows you to play the same layout each time you launch the game.</p>
  50. <p>Each seed uniquely identifies the placement of tiles. Thus, different seeds
  51. give you a different experience.</p>
  52. <p><strong>Development techniques and foundation</strong></p>
  53. <p>During the second demonstration development, we switched from standard
  54. development to <a href="http://opengamestudio.org/example-driven-development.html">example-driven one</a>. This resulted in the
  55. creation of three distinct repositories to back the development of OGS Mahjong 2:</p>
  56. <ul>
  57. <li><a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples">OpenSceneGraph cross-platform examples</a> repository provides cross-platform foundation like resource handling, render window setup, etc.</li>
  58. <li><a href="https://github.com/OGStudio/ogs-mahjong-components">OGS Mahjong components</a> repository provides Mahjong specific functionality like parsing layout, matching tiles, etc.</li>
  59. <li><a href="https://bitbucket.org/ogstudio-games/ogs-mahjong">OGS Mahjong</a> repository contains snapshots of <code>OGS Mahjong components</code> features that comprise specific game version. E.g., <code>Demo 2</code> version is almost identical to <a href="https://github.com/OGStudio/ogs-mahjong-components/tree/master/05.ColorfulStatus">05.ColorfulStatus</a> example of <code>OGS Mahjong components</code>.</li>
  60. </ul>
  61. <p><strong>Beyond Mahjong solitaire</strong></p>
  62. <p>In addition to <code>seed</code> parameter, you can let the game use remote layout hosted at GitHub:
  63. <a href="http://ogstudio.github.io/ogs-mahjong?seed=0&amp;layout=github://OGStudio/ogs-mahjong-components/data/cat.layout">http://ogstudio.github.io/ogs-mahjong?seed=0&amp;layout=github://OGStudio/ogs-mahjong-components/data/cat.layout</a></p>
  64. <p>Utilizing remote resources is an extremely powerful approach allowing anyone
  65. to create a layout of his/her choice and see the layout in action instantly.</p>
  66. <p>Our next step is to turn game logic into a resource, too.</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  67. </p>
  68. </article>
  69. <hr class="gradient"/>
  70. <article>
  71. <a href="http://opengamestudio.org/examples-and-dependencies.html"><h3 class="article-title">Examples and dependencies</h3></a>
  72. <h6 class="subheader" title="2018-08-21T00:00:00+03:00">Вт 21 августа 2018
  73. <a class="button secondary small translation-button" href="http://opengamestudio.org/examples-and-dependencies-ru.html">ru</a>
  74. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-08-21-examples-and-dependencies.png"></p>
  75. <p>This article describes two new OpenSceneGraph cross-platform examples and the
  76. change in handling dependencies.</p>
  77. <p><strong>Examples of HTTP client and node selection</strong></p>
  78. <p>Once we finished working on <a href="https://github.com/OGStudio/openscenegraph-cross-platform-examples/tree/master/04.RemoteDebugging">the remote debugging example</a> and
  79. <a href="http://opengamestudio.org/example-driven-development.html">reported its completion</a>, we were surprised by the fact
  80. that secure HTTP connection between a debugged application and debug …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  81. </p>
  82. <a class="button radius secondary small right" href="http://opengamestudio.org/examples-and-dependencies.html">Read More</a>
  83. <hr class="gradient"/>
  84. </article>
  85. <article>
  86. <a href="http://opengamestudio.org/example-driven-development.html"><h3 class="article-title">Example-driven development</h3></a>
  87. <h6 class="subheader" title="2018-06-27T00:00:00+03:00">Ср 27 июня 2018
  88. <a class="button secondary small translation-button" href="http://opengamestudio.org/example-driven-development-ru.html">ru</a>
  89. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-06-27-example-driven-development.png"></p>
  90. <p>This article explains how the third OpenSceneGraph cross-platform example
  91. opened our eyes to example-driven development.</p>
  92. <p><strong>2018-08 EDIT</strong>: the third example has been renamed to the fourth one due to
  93. the reasons described in the <a href="http://opengamestudio.org/examples-and-dependencies.html">next article</a>.</p>
  94. <p><strong>The third OpenSceneGraph cross-platform example</strong></p>
  95. <p>The third OpenSceneGraph cross-platform example explains how to implement …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  96. </p>
  97. <a class="button radius secondary small right" href="http://opengamestudio.org/example-driven-development.html">Read More</a>
  98. <hr class="gradient"/>
  99. </article>
  100. <article>
  101. <a href="http://opengamestudio.org/openscenegraph-examples.html"><h3 class="article-title">OpenSceneGraph cross-platform examples</h3></a>
  102. <h6 class="subheader" title="2018-04-20T00:00:00+03:00">Пт 20 апреля 2018
  103. <a class="button secondary small translation-button" href="http://opengamestudio.org/openscenegraph-examples-ru.html">ru</a>
  104. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-04-20-openscenegraph-examples.png"></p>
  105. <p>This article summarizes the work we did to produce the first two
  106. cross-platform OpenSceneGraph examples.</p>
  107. <p>By the time <a href="http://opengamestudio.org/mahjong-techdemo1-gameplay.html">the first technology demonstration of OGS Mahjong 2</a>
  108. has been released, we've already had <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/issues/4">issue request</a>
  109. (to explain how to load images with OpenSceneGraph on Android) hanging for some
  110. time. We considered …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  111. </p>
  112. <a class="button radius secondary small right" href="http://opengamestudio.org/openscenegraph-examples.html">Read More</a>
  113. <hr class="gradient"/>
  114. </article>
  115. <article>
  116. <a href="http://opengamestudio.org/mahjong-techdemo1-gameplay.html"><h3 class="article-title">First techdemo of OGS Mahjong 2: Gameplay</h3></a>
  117. <h6 class="subheader" title="2018-02-16T00:00:00+03:00">Пт 16 февраля 2018
  118. <a class="button secondary small translation-button" href="http://opengamestudio.org/mahjong-techdemo1-gameplay-ru.html">ru</a>
  119. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-02-16-mahjong-techdemo1-gameplay.png"></p>
  120. <p>We are glad to announce the release of the first technical demonstration of
  121. OGS Mahjong 2. The purpose of this release was to verify gameplay across
  122. supported platforms.</p>
  123. <p>Get techdemo for your platform:</p>
  124. <ul>
  125. <li>Run <a href="https://ogstudio.github.io/game-mahjong/versions/013/mjin-player.html">Web version</a> in your browser</li>
  126. <li>Get <a href="https://drive.google.com/open?id=1KW8IEN8Dpz8ODeg8BctVSJyzj9-AL9hR">Android version</a></li>
  127. <li>Get <a href="https://drive.google.com/open?id=1oj0-OXSmEatttzn86u2vgP9SRAIC0ozB">Windows version</a></li>
  128. <li>Get <a href="https://drive.google.com/open?id=1EX7kLIThLiMz9_W7VmBPySms3mlrF-i6">Linux version</a></li>
  129. <li>Get <a href="https://drive.google.com/open?id=1KWnvbHzan8MpMcZPG2QC-7KWoEYbqrM2">macOS …</a></li></ul><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  130. </p>
  131. <a class="button radius secondary small right" href="http://opengamestudio.org/mahjong-techdemo1-gameplay.html">Read More</a>
  132. <hr class="gradient"/>
  133. </article>
  134. <article>
  135. <a href="http://opengamestudio.org/mahjong-recreation-start.html"><h3 class="article-title">Mahjong recreation start</h3></a>
  136. <h6 class="subheader" title="2018-01-26T00:00:00+03:00">Пт 26 января 2018
  137. <a class="button secondary small translation-button" href="http://opengamestudio.org/mahjong-recreation-start-ru.html">ru</a>
  138. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2018-01-26-mahjong-recreation-start.png"></p>
  139. <p>This article describes the start of Mahjong game recreation.</p>
  140. <p><strong>Plan</strong></p>
  141. <p>We started Mahjong recreation endeavour by composing a brief plan to get gameplay with minimal graphics:</p>
  142. <ul>
  143. <li>Load single layout</li>
  144. <li>Place tiles in layout positions</li>
  145. <li>Distinguish tiles</li>
  146. <li>Implement selection</li>
  147. <li>Implement matching</li>
  148. </ul>
  149. <p>Just like any other plan, this one looked fine at …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  150. </p>
  151. <a class="button radius secondary small right" href="http://opengamestudio.org/mahjong-recreation-start.html">Read More</a>
  152. <hr class="gradient"/>
  153. </article>
  154. <article>
  155. <a href="http://opengamestudio.org/the-year-of-lessons.html"><h3 class="article-title">The year of lessons</h3></a>
  156. <h6 class="subheader" title="2017-12-31T22:00:00+03:00">Вс 31 декабря 2017
  157. <a class="button secondary small translation-button" href="http://opengamestudio.org/the-year-of-lessons-ru.html">ru</a>
  158. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2017-12-31-celebration.jpg"></p>
  159. <p>So, the year 2017 is approaching its finale, the year's results have already
  160. been summed up. We're going to take a break from igniting the fireworks or
  161. preparation of the champagne so that we can designate our goal for the
  162. following year.</p>
  163. <p>As it may be clear from other articles …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  164. </p>
  165. <a class="button radius secondary small right" href="http://opengamestudio.org/the-year-of-lessons.html">Read More</a>
  166. <hr class="gradient"/>
  167. </article>
  168. <article>
  169. <a href="http://opengamestudio.org/2017-summary.html"><h3 class="article-title">2017 summary</h3></a>
  170. <h6 class="subheader" title="2017-11-22T00:00:00+03:00">Ср 22 ноября 2017
  171. <a class="button secondary small translation-button" href="http://opengamestudio.org/2017-summary-ru.html">ru</a>
  172. </h6><p><img alt="Screenshot" src="http://opengamestudio.org/2017-11-22-2017-summary.png"></p>
  173. <p>It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.</p>
  174. <p><strong>Brief history</strong></p>
  175. <p>Opensource Game Studio project is 12 years old now.</p>
  176. <p><strong>2005.</strong> We started the project with a <a href="https://www.linuxquestions.org/questions/general-10/the-creation-of-the-best-rpg-355858/">fanatic call</a> to create the best game ever …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  177. </p>
  178. <a class="button radius secondary small right" href="http://opengamestudio.org/2017-summary.html">Read More</a>
  179. <hr class="gradient"/>
  180. </article>
  181. <article>
  182. <a href="http://opengamestudio.org/back-to-the-static.html"><h3 class="article-title">Back to the Static</h3></a>
  183. <h6 class="subheader" title="2017-10-16T00:00:00+03:00">Пн 16 октября 2017
  184. <a class="button secondary small translation-button" href="http://opengamestudio.org/back-to-the-static-ru.html">ru</a>
  185. </h6><p><img alt="Back to the Static" src="http://opengamestudio.org/2017-10-16-back-to-the-static.png"></p>
  186. <p>We have been using Wordpress as our website engine for more than seven years. And now it's time to move forward. Or backward.
  187. For some time we've been tracking the development of the new breed of website engines - static site generators.
  188. It seems that this is the technology capable of …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  189. </p>
  190. <a class="button radius secondary small right" href="http://opengamestudio.org/back-to-the-static.html">Read More</a>
  191. <hr class="gradient"/>
  192. </article>
  193. <article>
  194. <a href="http://opengamestudio.org/mjin-world-birth.html"><h3 class="article-title">The birth of MJIN world</h3></a>
  195. <h6 class="subheader" title="2017-09-10T00:00:00+03:00">Вс 10 сентября 2017
  196. <a class="button secondary small translation-button" href="http://opengamestudio.org/mjin-world-birth-ru.html">ru</a>
  197. </h6><p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p>
  198. <p>This article describes the birth of MJIN world in August 2017.</p>
  199. <p><strong>mjin-player</strong></p>
  200. <p>As you know, <a href="http://opengamestudio.org/scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p>
  201. <ol>
  202. <li>run unchanged on all supported platforms</li>
  203. <li>allow extending C++ code</li>
  204. </ol>
  205. <p>We have verified the second criterion by writing …</p><p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  206. </p>
  207. <a class="button radius secondary small right" href="http://opengamestudio.org/mjin-world-birth.html">Read More</a>
  208. <hr class="gradient"/>
  209. </article>
  210. <!-- /#posts-list -->
  211. <div class="pagination-centered">
  212. <h6 class="subheader">Page 1 of 5</h6>
  213. <p>
  214. <a href="http://opengamestudio.org/index2.html">Next &raquo;</a>
  215. </p>
  216. </div>
  217. </div>
  218. <!-- End Main Content -->
  219. <!-- Sidebar -->
  220. <aside class="large-3 columns">
  221. <!--k
  222. <h5 class="sidebar-title">Site</h5>
  223. <ul class="side-nav">
  224. <li><a href="http://opengamestudio.org/archives.html">Archives</a>
  225. <li><a href="http://opengamestudio.org/tags.html">Tags</a>
  226. <li><a href="http://opengamestudio.org/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
  227. </ul>
  228. <h5 class="sidebar-title">Categories</h5>
  229. <ul class="side-nav">
  230. <li><a href="http://opengamestudio.org/category/news.html">News</a></li>
  231. </ul>
  232. -->
  233. <h5 class="sidebar-title">Ads</h5>
  234. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  235. <!-- ogs2 -->
  236. <ins class="adsbygoogle"
  237. style="display:block"
  238. data-ad-client="ca-pub-4473792248813084"
  239. data-ad-slot="9024247127"
  240. data-ad-format="auto"></ins>
  241. <script>
  242. (adsbygoogle = window.adsbygoogle || []).push({});
  243. </script>
  244. </aside> <!-- End Sidebar -->
  245. </div> <!-- End Main Content and Sidebar -->
  246. <!-- Footer -->
  247. <footer class="row">
  248. <div class="large-12 columns">
  249. <hr />
  250. <div class="row">
  251. <div class="large-7 columns">
  252. <p>Proudly powered by <a href="http://getpelican.com">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.</p>
  253. </div>
  254. </div>
  255. </div>
  256. <script type="text/javascript">
  257. var _gaq = _gaq || [];
  258. _gaq.push(['_setAccount', 'UA-3773114-1']);
  259. _gaq.push(['_trackPageview']);
  260. (function() {
  261. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  262. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  263. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  264. })();
  265. </script>
  266. </footer>