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.

the-pros-and-cons-of-restarting-from-scratch.html 10KB

4 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <!DOCTYPE html>
  2. <html>
  3. <meta charset="utf-8">
  4. <head>
  5. <style>
  6. #header
  7. {
  8. background: #2BA6E3;
  9. padding: 0.7em;
  10. text-align: left;
  11. }
  12. #header a
  13. {
  14. color: white;
  15. text-decoration: none;
  16. padding: 0.5em 1em 0.5em 1em;
  17. }
  18. #lang
  19. {
  20. float: right;
  21. }
  22. .news_item
  23. {
  24. background: #FFFFFF;
  25. width: 720px;
  26. padding: 1em;
  27. margin-top: 2em;
  28. margin-bottom: 2em;
  29. border: 1px solid #E0E0E0;
  30. text-align: left;
  31. }
  32. .news_item_contents
  33. {
  34. color: #444;
  35. line-height: 1.5em;
  36. }
  37. .news_item_date
  38. {
  39. margin-bottom: 2em;
  40. color: #aaa;
  41. }
  42. html
  43. {
  44. font-family: sans-serif;
  45. }
  46. body
  47. {
  48. background: #FAFAFA;
  49. }
  50. code, pre
  51. {
  52. font-family: monospace, serif;
  53. font-size: 1em;
  54. color: #7f0a0c;
  55. }
  56. /*
  57. figure
  58. {
  59. margin: 0px;
  60. padding: 0px;
  61. }
  62. */
  63. img
  64. {
  65. width: 720px;
  66. }
  67. a
  68. {
  69. color: #3A91CB;
  70. }
  71. table
  72. {
  73. border-collapse: collapse;
  74. }
  75. table, th, td
  76. {
  77. border: 1px solid #aaa;
  78. padding: 0.5em;
  79. margin-top: 0.5em;
  80. margin-bottom: 0.5em;
  81. }
  82. </style>
  83. </head>
  84. <body>
  85. <div id="header">
  86. <strong id="title">Open Game Studio</strong>
  87. <a href="../../ru/news/index.html">Новости</a>
  88. <a href="../../ru/game/index.html">Игры</a>
  89. <a href="../../ru/tool/index.html">Инструменты</a>
  90. <a href="../../ru/page/about.html">О нас</a>
  91. <div id="lang">
  92. <a href="../../en/news/the-pros-and-cons-of-restarting-from-scratch.html">EN</a>
  93. <a href="../../ru/news/the-pros-and-cons-of-restarting-from-scratch.html">RU</a>
  94. </div>
  95. </div>
  96. <center>
  97. <h1>В новостях...</h1>
  98. <div class="news_item">
  99. <h2 class="news_item_title">
  100. <a href="the-pros-and-cons-of-restarting-from-scratch.html">Минусы и плюсы начинания с начала</a>
  101. </h2>
  102. <p class="news_item_date">
  103. 2020-01-01 00:00
  104. </p>
  105. <div class="news_item_contents">
  106. <p><img src="../../images/2020-01-01-ny.jpg" alt="Happy 2020" /></p>
  107. <p>Любой, кто следит за нашим прогрессом достаточно долго, может сказать, что мы много раз перезапускали разработку с нуля.</p>
  108. <p>Еще до выпуска <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a> мы несколько раз меняли технологии "под капотом". После релиза мы неоднократно делали это снова, отбрасывая уже готовые решения.
  109. Может показаться, что сейчас у нас меньше готового, чем перед выходом <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>. Это правда, но не совсем.</p>
  110. <p>Когда вышел <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, у нас была приятно выглядящая (на тот момент) игра с открытым исходным кодом, которая работала под Windows и Linux. С некоторой удачей и усилием в нее можно поиграть и сегодня, но уже не "из коробки".
  111. С некоторыми использованными нами библиотеками время обошлось не очень хорошо. И решение этих проблем сегодня потребует от нас больше времени, чем мы можем себе позволить на них выделить.
  112. Даже настройка среды сборки для игры сейчас оказывается долгим занятием, потому что у игры были очень специфические зависимости.</p>
  113. <p>Итак, как ранее писал Михаил, мы пытаемся найти набор технологий, которые позволят решить две проблемы одновременно:</p>
  114. <ul>
  115. <li>значительно уменьшить количество усилий, необходимых для настройки среды здания;</li>
  116. <li>оставаться надежными с течением времени.</li>
  117. </ul>
  118. <p>В течение этого года Михаил, имеющий некоторый опыт обучения детей программированию, добавил еще одну цель - сделать простую игру должно быть достаточно легко, чтобы ребенок мог в этом разобраться.</p>
  119. <p>Для простоты, мы разделили все свои хотелки, на две части.</p>
  120. <p>Первая часть - создание легкого в освоении инструмента, который ребенок может использовать для создания простой игры, а профессионал или любитель может быстро проверить с его помощью новые идеи. Этот инструмент не должен требовать времени для настройки рабочей среды, но все же должен быть сильно настраиваемым. После многочасовых споров, мы решили, что этот инструмент должен работать в браузере (self-hosted, по-возможности даже локально). Этот инструмент - <a href="http://opengamestudio.org/murom">MUROM</a> (названный в честь одного известного русского города). Сейчас это очень настраиваемый и работающий в браузере редактор, не требующий установки. <a href="http://opengamestudio.org/murom">MUROM</a> уже можно использовать для создания простых игр, но он далек от готовности. И третья цель пока впереди. Как показала практика - дети не очень хорошо понимают JavaScript.</p>
  121. <p>Над второй частью мы начнем работать после завершения первой. Она будет включать в себя части движка, относящиеся к нативному коду. Мы попытаемся позволить веб-движку и нативному движку использовать один и тот же код для игровой логики, но мы не решили, как именно мы достигнем этого. Возможно, мы воспользуемся метаязыком, который можно будет перевести как на JavaScript, так и в C++. Разумеется, для чего-то, что невозможно в веб-версии (например, с использование определенного оборудования или доступа к локальной файловой системе) потребуется писать отдельные локальные плагины.</p>
  122. <p>С учетом регулярной смены технологий, мы вообще когда-нибудь начнем работать над второй частью? Мы надеемся на это. Мы планируем использовать <a href="http://opengamestudio.org/murom">MUROM</a> чтобы воссоздать <a href="../game/ogs-mahjong-1.html">"OGS Mahjong"</a>, поэтому некоторые вещи нам придется сделать только для того, чтобы это стало возможным.
  123. И даже если мы закончим только первую часть, и <a href="http://opengamestudio.org/murom">MUROM</a> останется просто инструментом быстрого прототипирования, это будет инструмент, который мы сами используем, и мы постараемся сделать его полезным.</p>
  124. <p>Когда вы выбрасываете весь код, остается одна вещь. Это опыт. Каждый перезапуск позволяет лучше понять куда вы двигаетесь. Но важно что-то доделывать время от времени. В противном случае вы можете оказаться в бесконечном цикле начинания с начала.</p>
  125. <p>И нашей главной целью на 2020 год будет выйти из этого цикла и что-то завершить.</p>
  126. <p>Всех с Новым годом! Следите за новостями!</p>
  127. </div>
  128. </div>
  129. <div id="footer">
  130. Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
  131. из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
  132. Сайт размещён на <a href="https://pages.github.com">GitHub Pages</a>.
  133. </div>
  134. </center>
  135. </body>
  136. </html>