Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
ru:guide:first-steps [2016/12/09 11:42] – Alexander Yakovlev | ru:guide:first-steps [2021/01/24 10:42] (текущий) – внешнее изменение 127.0.0.1 |
---|
====== Заготовка ====== | ====== Заготовка ====== |
| |
Самый простой способ - взять заготовку для игры. Проще всего открыть исходный код какой-нибудь существующей игры, например, [[http://git.oreolek.ru/oreolek/salet|демо Salet.]] | Самый простой способ - взять заготовку для игры. Проще всего открыть исходный код какой-нибудь существующей игры, например, [[https://gitlab.com/Oreolek/salet/|демо Salet.]] |
| |
- [[https://nodejs.org/en/download/|Установите node.js]], если их у вас его нет. | - [[https://nodejs.org/en/download/|Установите node.js]], если его у вас его нет. [[https://www.youtube.com/watch?v=EtbZQ6qWuJ4|(См. видеоинструкцию)]] |
- Сделайте копию проекта через ''git clone'' куда-нибудь или скачайте **[[https://git.oreolek.ru/oreolek/salet/repository/archive.zip?ref=master|архив]]** с кодом. | - Сделайте копию проекта через ''git clone'' куда-нибудь или скачайте **[[https://gitlab.com/Oreolek/salet/repository/archive.zip?ref=master|архив]]** с кодом. |
- Выполните ''npm install'' и подождите, пока не установится каждая зависимость. Не должно занять много времени. | - Выполните ''npm install'' и подождите, пока не установится каждая зависимость. Не должно занять много времени. |
| |
- Откройте ''game/begin.coffee'' и измените свойство ''salet.game_id'' на что-то другое. UUID будет хорошим выбором. Это должна быть уникальная строка, чтобы сохранения этой игры не мешали сохранениям других (если вы работает над несколькими проектами сразу), см. главу [[ru:guide:saving|«Сохранения»]] | - Откройте ''game/begin.coffee'' и измените свойство ''salet.game_id'' на что-то другое. UUID будет хорошим выбором. Это должна быть уникальная строка, чтобы сохранения этой игры не мешали сохранениям других (если вы работает над несколькими проектами сразу), см. главу [[ru:guide:saving|«Сохранения»]] |
- Сам Salet и игры на нём пишутся на [[https://coffeescript2ru.github.io/|CoffeeScript]]. Вам необязательно разбираться в CoffeeScript - просто поиграйте с исходным кодом и посмотрите, какой код на что влияет. В этом руководстве есть конкретные куски кода для копирования и вставки. | - Сам Salet и игры на нём пишутся на [[https://coffeescript2ru.github.io/|CoffeeScript]]. Вам необязательно разбираться в CoffeeScript - просто поиграйте с исходным кодом и посмотрите, какой код на что влияет. В этом руководстве есть конкретные куски кода для копирования и вставки. |
- Команда ''gulp serve'' показывает живой просмотр вашей игры. Вы можете отредактировать файлы, и ваш браузер загрузит новую версию как только вы сохраните изменения. | - Команда ''gulp'' запускает сборщик проекта. Обычно ''gulp'' означает ''./node_modules/gulp/bin/gulp.js'', просто оно может быть установлено глобально. |
| - Команда ''gulp serve'' показывает живой просмотр вашей игры. Вы можете отредактировать файлы, и ваш браузер загрузит новую версию как только вы сохраните изменения. Пока держится окно консоли (там где написано ''serving files from build'', страница в браузере автообновляется. |
| |
На этом сама подготовка закончена. Собирать игру из исходников нужно командой: | На этом сама подготовка закончена. Собирать игру из исходников нужно командой: |
| |
И начинайте писать! | И начинайте писать! |
| |
| <WRAP center round info 80%> |
| Вы можете использовать такие сервисы, как [[http://codepen.io/|codepen.io]] или [[https://jsfiddle.net/|jsfiddle.net]] для того, чтобы создавать, редактировать и делиться ИЛ-играми. |
| |
| Просто сделайте новый документ и включите в нём JS-библиотеки Marked, jQuery и ядро Salet. Последняя версия Salet доступна на [[ru:guide:using-cdn|CDN пакетов NPM.]] |
| </WRAP> |
| |
| ==== Кратко о CoffeeScript ==== |
| |
| Эта вики использует интерпретатор CoffeeScript, чтобы упростить синтаксис JavaScript. |
| |
| Чтобы лучше понять, как устроен код, вы можете прочитать эти статьи: |
| |
| * [[https://coffeescript2ru.github.io|Сообщество CoffeeScript на русском]] |
| * [[https://habrahabr.ru/post/179031|Знакомство с CoffeeScript]] |
| |
| Короткий текст обозначается кавычками: ''"текст"'', но также есть и длинный многострочный текст, который обозначается тройными кавычками: ''""" текст """''. |
| |
| Текст может содержать логику и переменные, если они вставлены через ''#{}'': ''"привет #{name}"''. Для хитрой логики лучше использовать функции, которые описываются через ''() -> '' |
| |
| А ещё отступ кода определяет логику игры. |
| |
| Вы **не обязаны** писать на CoffeeScript. Можно писать на Javascript, TypeScript или других языках, которые транслируются в Javascript. Но он проще чистого Javascript и поэтому все примеры в этой вики даются на нём. |
| |
==== Кратко о Markdown ==== | ==== Кратко о Markdown ==== |
* [[http://rukeba.com/by-the-way/markdown-sintaksis-po-russki/|Краткое описание Markdown]] | * [[http://rukeba.com/by-the-way/markdown-sintaksis-po-russki/|Краткое описание Markdown]] |
| |
Salet автоматически отрезает пробелы в началах строк, чтобы вы могли писать Markdown в коде игры с отступами. | === Markdown и отступы === |
| В Markdown пробелы имеют большое значение. Если в начале строки он видит много отступов, то думает, что это — программный код. |
| |
==== Кратко о CoffeeScript ==== | Но в CoffeeScript пробелы **тоже** имеют большое значение. Язык использует пробелы для того, чтобы понять, когда заканчиваются блоки описания объектов и ветвлений. |
| |
Salet использует интерпретатор CoffeeScript, чтобы упростить синтаксис JavaScript. Чтобы лучше понять, как устроен код, вы можете прочитать эти статьи: | CoffeeScript позволяет писать текст без отступов, но некоторым людям так очень трудно понять, к какому коду относится текст, потому что отступы всё время "прыгают". |
| |
* [[https://coffeescript2ru.github.io|Сообщество CoffeeScript на русском]] | Salet автоматически обрезает отступы в тексте до минимального количества отступов в этом тексте, поэтому вы можете писать так: |
* [[https://habrahabr.ru/post/179031|Знакомство с CoffeeScript]] | |
| <code> |
| room "prelude", |
| dsc: """ |
| # Капуцин |
| |
| [Читать](./_writer_read) |
| """, |
| writers: |
| read: """ |
| Меня называют капyцином. |
| Я за это, комy следyет, yши обоpвy, а пока что не дает мне покоя слава Жан Жака Рyссо. |
| Почемy он все знал? |
| И как детей пеленать и как девиц замyж выдавать! |
| Я бы тоже хотел так все знать. |
| |
Короткий текст обозначается кавычками: ''"текст"'', но также есть и длинный многострочный текст, который обозначается тройными кавычками: ''""" текст """''. Внутри многострочного текста вам не надо волноваться об отступах. | **(Д. Хармс)** |
| """ |
| </code> |
| |
| В примере выше первый блок текста записан с пробелами так, чтобы визуально быть "внутри" блока кода, а второй блок текста — так, чтобы быть на том же уровне. |
====== Начать игру с нуля ====== | ====== Начать игру с нуля ====== |
Если вы начинаете игру с нуля, то вы уже знаете, что такое веб-разработка и пакеты NPM. В этом случае вы просто выполняете в консоли: | Если вы начинаете игру с нуля, то вы уже знаете, что такое веб-разработка и пакеты NPM. В этом случае вы просто выполняете в консоли: |