Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Грот
15 / 15 / 2
Регистрация: 08.02.2013
Сообщений: 198
1

Программирование квестов

10.12.2016, 21:32. Просмотров 770. Ответов 5
Метки нет (Все метки)

Хочу сделать игру-квест типа поинт-то-клик. примеры таких игр "машинариум", "братья пилоты" все части, алеша попович там добрыни никитичи всякие, сибирь(но она в 3д). короче где персонаж ходит по сцене, туда куда кликнет игрок, собирает предметы и применяет их на объекты на сцене.
интересует програмирование логики этих игр. конечно можно без проблем на "на чистом" actionscript или java написать, смотря под какую платформу, но хочется сделать кроссплатформенной.
однажды копаясь в ресурсах игры алеша попович, наткнулся там на xml файл в котором описывался весь процесс игры. в нем было описано расположение объектов на сцене, тип этих объектов, имя сцены, на которую игрок переходит кликнув по этому объекту, путь к файлу с анимацией этого объекта, фоновая мелодия и т.д. И самое главное там описывалась логика событий нажатия на объект и применение предмета на объекты.
Так вот... есть ли какой нибудь стандартный формат таких XML игр, и желательно редакторы для них или мне нужно придувывать его самому?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2016, 21:32
Ответы с готовыми решениями:

Cocos2d: нужны идеи по написанию квестов
Здравствуйте. Я собираюсь писать игу(2д платформер). Не подскажете где взять идей для создания...

Ищу игру, где есть меч, лук, магия, разнообразная система прокачки и квестов, всяческие возможности для лута
Скучно стало. Хочу поиграть в какую нибудь MMORPG. Что нибудь где есть меч, лук, магия,...

Программирование одномерных массивов. Программирование двумерных массивов. Программирование динамических массивов VBA
1. Написать процедуру по упорядочению элементов заданного массива В в следующем порядке: сначала...

Выбор кафедры в дальнейшей жизни: прикладное программирование VS системное программирование
Сразу извиняюсь что очень не по теме но всё же лучшего форума для этого вопроса я не нашел. Итак я...

5
8Observer8
3596 / 2014 / 349
Регистрация: 05.10.2013
Сообщений: 5,938
Записей в блоге: 152
11.12.2016, 16:28 2
Вы хотите чтобы она была браузерной? Например, запускалась как приложение для vk.com и других соц. сетей? Тогда можно предложить игровой фреймворк Phaser. Он поддерживает два языка: JavaScript и TypeScript. Сейчас TypeScript набирает популярность. А так же набирает популярность HTML5 взамен Flash. Phaser ориентирован на мобильные браузеры, поэтому на PC он будет работать, конечно, лучше. Так можно обеспечить кроссплатформенность, потому что ваша игра будет запускаться на всех мобильных устройствах. Phaser только для 2D игр. Для 3D браузерных игр можно взять Babylon.js. Не знаю насколько babylon.js производителен на мобильных. Для мобильных, на мой взгляд, лучше собирать клиенты для 3D, например, на Unity.

На Unity вы сможете легко в пару кликов собрать высокопроизводительных клиентов для множества платформ, но он плох для браузерных игр.

В целом, я считаю, что главной проблемой будет не программирование (оно в таких играх будет достаточно простое, даже если свой небольшой движок писать), а поиск таких гейм дизайнеров и художников, как в Машинариум.

Цитата Сообщение от Грот Посмотреть сообщение
однажды копаясь в ресурсах игры алеша попович, наткнулся там на xml файл
Эта игра сделана на Flash. Для создания игр там есть удобный редактор и свой скриптовый язык. Просто он хранит данные в формате XML. Я думаю, что не рекомендуется менять файлы НЕ из редактора. По Flash, Unity и Phaser очень много туториалов, например, на youtube. Но чтобы научиться уверенно писать скрипты нужно много изучать и практиковаться. Чтобы стать хорошим геймдизайнером, тоже нужно много читать, изучать, практиковаться. Так же как и художником. Я считаю, лучше выбрать что-то одно, а не пытаться сделать всё одному.
0
Грот
15 / 15 / 2
Регистрация: 08.02.2013
Сообщений: 198
13.12.2016, 10:18  [ТС] 3
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Вы хотите чтобы она была браузерной?
ios, wp, android, as3, exe... короче для всех платформ.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
В целом, я считаю, что главной проблемой будет не программирование
конечно. "Оболочка" игры(движок) должна просто парсить xml, раскидать спрайты на экране в соответствии с данными из xml и выполнять простейшие действия при клике на объект с определенными условиями, которые тоже в xml хранятся..
Думаю, что такой движок, без проблем напишу под любую платформу
Цитата Сообщение от 8Observer8 Посмотреть сообщение
поиск таких гейм дизайнеров и художников, как в Машинариум.
с этим проблем нет. друг проф. художник, причем получше рисует, чем в машинариуме и главное - быстро, а отец музыкант, сценарий бомбовый уже есть
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Эта игра сделана на Flash
не думаю
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Для создания игр там есть удобный редактор и свой скриптовый язык. Просто он хранит данные в формате XML
AdobeFlashCS? Опять же повторюсь, что в нем (и не только), будет создан движок, который открывает xml, и "выполняет" из него программу-игру, которая создана в специальном редакторе.

Добавлено через 18 минут
Вот пример:
XML
1
2
3
4
5
6
7
8
9
10
<GAME NAME="MyQuest" STARTSCENE="Hallway">
    <scene NAME="Living_room" BACKGROUND="Bg1.jpg" >
        <object TYPE="DOOR" SPRITE="Door1.png" X="100" Y="10">Hallway</object>
        <object TYPE="SUBJECT" NAME="Key" SPRITE="Key1.png"  X="35" Y="100">Take</object>
    </scene>
    <scene NAME="Hallway" BACKGROUND="Bg2.jpg" >
        <object TYPE="DOOR" SPRITE="Door2.png"  X="325" Y="0">Living_room</object>
        <object TYPE="SUBJECT" NAME="Phone" SPRITE="Phone1.png"  X="100" Y="35">Take</object>
    </scene>
</GAME>
STARTSCENE - имя стартовой сцены, игра начинается с нее
элемент scene - сцена игры, локация, комната. Их несколько
элемент object внутри сцены - это то, на что можно кликнуть
TYPE - тип объекта. Например DOOR это дверь, SUBJECT это предмет
внутри элемента object, записано действие, которое надо выполнить при нажатии на него. Например Take означает взять предмет по нажатию на него. Если тип объекта дверь, то там записано имя комнаты в которую переходишь

Думаю смысл понятен.
Может есть редактор для создания таких xml файлов? Ну или хотя бы стандарт какой нибудь, чтобы не изобретать велосипед, как я сделал это в примере
0
8Observer8
3596 / 2014 / 349
Регистрация: 05.10.2013
Сообщений: 5,938
Записей в блоге: 152
13.12.2016, 10:59 4
Цитата Сообщение от Грот Посмотреть сообщение
ios, wp, android, as3, exe... короче для всех платформ.
Цитата Сообщение от Грот Посмотреть сообщение
Думаю, что такой движок, без проблем напишу под любую платформу
У браузерной игры есть преимущество в том что вы один раз пишите игру и она будет запускаться там, где есть интернет и браузер, то есть на всех мобильных и PC. Тогда игру можно встроить в соц. сети. Так же если делать на Unity, то один раз написанный проект можно собрать в пару кликов под нужную платфоруму (всего их 24). Это экономит время, чем писать свою адаптацию под каждую платформу. А ещё у Unity есть бесплатный сервис Unity Cloud Build, который позволяет автоматически собирать под выбранные платформы простым git-push'ем на bitbucket или github.

Цитата Сообщение от Грот Посмотреть сообщение
Может есть редактор для создания таких xml файлов?
Может тут кто-нибудь и подскажет. Я не понимаю, что вы имеете ввиду. Если хотите игру браузерную игру на сайте, то можно взять Phaser (2D) или PlayCanvas (3D) или Babylon.js (3D). И лучше нанять программиста/специалиста, или найти энтузиаста-программиста, так как иначе вам придёться несколько лет усиленно заниматься изучением программирования, а ваш проект будет простаивать и может вообще заглохнуть.
0
Грот
15 / 15 / 2
Регистрация: 08.02.2013
Сообщений: 198
13.12.2016, 13:43  [ТС] 5


Добавлено через 1 минуту
Цитата Сообщение от 8Observer8 Посмотреть сообщение
несколько лет усиленно заниматься изучением программирования
Цитата Сообщение от 8Observer8 Посмотреть сообщение
движок, без проблем напишу
...

Добавлено через 1 минуту
Цитата Сообщение от 8Observer8 Посмотреть сообщение
она будет запускаться там, где есть интернет и браузер
браузерную игру в гугл плей и т.п. не зальешь

Добавлено через 1 минуту
лично я и все мои знакомые ни разу через смартфон не играли в веб игры.

Добавлено через 3 минуты
и еще смысл xml в том, чтобы при создании, например второй части игры или подобной не пришлось заново писать игру, а просто заменить ресурсы этой игры
0
8Observer8
3596 / 2014 / 349
Регистрация: 05.10.2013
Сообщений: 5,938
Записей в блоге: 152
13.12.2016, 14:58 6
Цитата Сообщение от Грот Посмотреть сообщение
браузерную игру в гугл плей и т.п. не зальешь
Тогда можно делать на Unity. Будет сборка для Android и iOS. Для Google Player, App Store и т.д.

Вот эти игры сделаны на браузерном фреймворке Phaser и их как-то собрали для Google Play и App Store:
https://play.google.com/store/apps/details?id=com.sbcgames.woodventure
https://itunes.apple.com/us/app/wood...010193843?mt=8
Я ещё не пробовал делать такие сборки.

Цитата Сообщение от Грот Посмотреть сообщение
лично я и все мои знакомые ни разу через смартфон не играли в веб игры.
Я не берусь утверждать, но возможно в соц. сетях играют на планшетах. Ладно это неважно.
0
13.12.2016, 14:58
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2016, 14:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Хочу изучать программирование какой язык программирование выбрать ?
Хочу изучать программирование какой язык (С, С++, С# или Delphi) программирование выбрать ? Цель...

Программирование функций, Программирование процедур, рекурсивную подпрограммa
1 (Программирование функций) Вычислить площадь правильного шестиугольника со стороной a, используя...

Криптография, многопоточное программирование, сетевое программирование
Не знаю, с чего начать, подскажите: В этом задании необходимо реализовать клиент-серверное...

Программирование ветвлений и программирование циклов
Разбираюсь в двух поставленных выше темах.Нужны примеры двух программ.Язык C#. 1)В первой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.