Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

147 řádky
6.3KB

  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>The birth of MJIN world</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. <header>
  38. <h3 class="article-title"><a href="http://opengamestudio.org/mjin-world-birth.html" rel="bookmark"
  39. title="Permalink to The birth of MJIN world">The birth of MJIN world</a></h3>
  40. </header>
  41. <h6 class="subheader" title="2017-09-10T00:00:00+03:00">Sun 10 September 2017
  42. <a class="button secondary small translation-button" href="http://opengamestudio.org/mjin-world-birth-ru.html">ru</a>
  43. </h6> <p><img alt="The birth of MJIN world" src="http://opengamestudio.org/2017-09-mjin-world-birth.png"></p>
  44. <p>This article describes the birth of MJIN world in August 2017.</p>
  45. <p><strong>mjin-player</strong></p>
  46. <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>
  47. <ol>
  48. <li>run unchanged on all supported platforms</li>
  49. <li>allow extending C++ code</li>
  50. </ol>
  51. <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>
  52. <p>At the time, we saw two ways to verify the first criterion:</p>
  53. <ol>
  54. <li>create one sample application for each platform to verify scripting only</li>
  55. <li>create a single cross-platform application, which can run any code</li>
  56. </ol>
  57. <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>
  58. <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>
  59. <p><strong>mjin-application</strong></p>
  60. <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>
  61. <p><strong>MJIN world</strong></p>
  62. <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>
  63. <p>That's it for describing the birth of MJIN world in August 2017.</p>
  64. <p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  65. </p>
  66. </article>
  67. </div>
  68. <!-- End Main Content -->
  69. <!-- Sidebar -->
  70. <aside class="large-3 columns">
  71. <!--k
  72. <h5 class="sidebar-title">Site</h5>
  73. <ul class="side-nav">
  74. <li><a href="http://opengamestudio.org/archives.html">Archives</a>
  75. <li><a href="http://opengamestudio.org/tags.html">Tags</a>
  76. <li><a href="http://opengamestudio.org/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
  77. </ul>
  78. <h5 class="sidebar-title">Categories</h5>
  79. <ul class="side-nav">
  80. <li><a href="http://opengamestudio.org/category/news.html">News</a></li>
  81. <li><a href="http://opengamestudio.org/category/stub.html">Stub</a></li>
  82. </ul>
  83. -->
  84. <h5 class="sidebar-title">Ads</h5>
  85. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  86. <!-- ogs -->
  87. <ins class="adsbygoogle"
  88. style="display:inline-block;width:120px;height:240px"
  89. data-ad-client="ca-pub-4473792248813084"
  90. data-ad-slot="4132845695"></ins>
  91. <script>
  92. (adsbygoogle = window.adsbygoogle || []).push({});
  93. </script>
  94. </aside> <!-- End Sidebar -->
  95. </div> <!-- End Main Content and Sidebar -->
  96. <!-- Footer -->
  97. <footer class="row">
  98. <div class="large-12 columns">
  99. <hr />
  100. <div class="row">
  101. <div class="large-7 columns">
  102. <p>Proudly powered by <a href="http://getpelican.com">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.</p>
  103. </div>
  104. </div>
  105. </div>
  106. <script type="text/javascript">
  107. var _gaq = _gaq || [];
  108. _gaq.push(['_setAccount', 'UA-3773114-1']);
  109. _gaq.push(['_trackPageview']);
  110. (function() {
  111. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  112. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  113. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  114. })();
  115. </script>
  116. </footer>