Topic: [Предложение] Загрузка/обновление игр из Интернета

Можно реализовать в меню выбора игр пункт «Загрузить игру из Интернета» и «Обновить игры». Когда юзер нажимает загрузку игры, клиент скачивает список всех доступных игр с какого-нибудь доверенного сервера и показывает список юзеру. Дальше при клике на название игры она скачивается и в неё уже можно поиграть  big_smile

Я думаю, что с появлением этой фичи, возрастёт скорость разработки игр для движка, т.к. больше людей захотят протестировать новые игры, если они будут автоматически загружаться и обновляться.

P.S. у меня есть небольшой опыт разработки на си и я мог бы сам попробовать реализовать эту фичу, если она покажется полезной  smile

Re: [Предложение] Загрузка/обновление игр из Интернета

Не так просто написать универсальный код, который будет работать одинаково на Unix и Windows. smile

У нас была идея написать отдельный launcher, с этим функционалом. Но сейчас главное -- игры. Их и так слишком мало.

Еще одна задача. Для пользователей, незнакомых с программированием, неплохо написать визуальный редактор квестов...

Любая помощь приветствуется, но я думаю, что игры сейчас наиболее востребованы.

Re: [Предложение] Загрузка/обновление игр из Интернета

неплохо написать визуальный редактор квестов

А работа над этим уже ведётся? И если нет, есть ли какие-то идеи как его реализовать??

Re: [Предложение] Загрузка/обновление игр из Интернета

Нет, не ведется. Это перспектива. Идеи есть, но для этого нужно понимать что такое игры для INSTEAD. Идея сделать хотя бы простую реализацию, для книг игр или квестов в стиле рэйнджеров/urq. Это посильная задача.

Re: [Предложение] Загрузка/обновление игр из Интернета

На счёт редактора всё понятно.

Но про загрузку игр из интернета не совсем:

Не так просто написать универсальный код, который будет работать одинаково на Unix и Windows.

Да, на си это будет сложновато, но есть же QT!  big_smile  Там есть модуль network, который работает одинаково и в линуксе и в винде. Можно это оформить в виде отдельного приложения, чтобы не плодить зависимости...

Re: [Предложение] Загрузка/обновление игр из Интернета

morkow wrote:

Да, на си это будет сложновато, но есть же QT!  big_smile  Там есть модуль network, который работает одинаково и в линуксе и в винде. Можно это оформить в виде отдельного приложения, чтобы не плодить зависимости...

Да, именно так эта идея сейчас и существует. big_smile У Ильи есть мысли на эту тему. Я на qt не программировал, так что пока не в теме. Вроде бы лаунчер может быть не сложный... Ilja, ты тут?

Re: [Предложение] Загрузка/обновление игр из Интернета

Конечно. smile
qt штука хорошая, полностью поддерживаю.
А есть представление как этот launcher/updater должен работать/выглядеть?

8 (edited by rec 2010-01-17 00:45:11)

Re: [Предложение] Загрузка/обновление игр из Интернета

Как вам вот такой вариант:

В главном окне ланчера список игр, кнопка "Проверить обновления", в низу под списком кнопки - установить/удалить/обновить (по контексту) и кнопка "играть", запускающая интерпретатор с параметром -game. В списке показаны название и версия + иконка показывающая состояние - установлена или нет, и если да, то есть ли доступные обновления. Переключатель - показывать все игры доступные на сайте, или только установленные локально.

Сами данные об играх можно хранить на сервере в текстовом файле, например в формате

cat|Возвращение квантового кота|1.2.0|http://instead-games.googlecode.com/files/instead-cat-1.2.zip
quarantine|Карантин|0.3.1|http://instead-games.googlecode.com/files/instead-quarantine-0.3.1.zip

или в XML.

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

P.S. лучше наверное не переключатель, а отдельные кнопки Проверить обновления и Скачать игру, как и предлагал топикстартер.

Re: [Предложение] Загрузка/обновление игр из Интернета

А есть представление как этот launcher/updater должен работать/выглядеть?

Быстренько накидал вариант интерфейса:
http://img109.imageshack.us/img109/1908/mockupj.png
Ах да, в контекстное меню можно добавить пункт "играть!"

Если юзер жмёт на Загрузить/Обновить, то скачивается список игр и отображается в таком же окне, только рядом с каждой игрой можно будет поставить галочку smile Внизу будет кнопка "Загрузить".

@rec может как-то объединить усилия? smile

Re: [Предложение] Загрузка/обновление игр из Интернета

Собственно так и было задумано и отчасти реализовано. smile
И данные так же хранятся...
Но предлагаю не заморачиваться с "обновить".
Только "установить" и "удалить". Каждая новая версия игры - отдельная запись.
Так будет просто и достаточно. smile

Re: [Предложение] Загрузка/обновление игр из Интернета

Круто! Видимо еще Settings - в settings'ах каталог куда скачивать игры.

Запускать -- с опциями -gamespaths <bla bla> -game <bla bla> -nostdgames

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

А реализация zip есть в qt?

Предлагаю, когда появится первый черновик -- залить его в svn (наверное новый?) и дальше уже шлифовать по мере улучшения видимости того, что происходит.

Вообще, если доведем до конца -- будет здорово. smile

Re: [Предложение] Загрузка/обновление игр из Интернета

Ilja wrote:

Но предлагаю не заморачиваться с "обновить".
Только "установить" и "удалить". Каждая новая версия игры - отдельная запись.
Так будет просто и достаточно. smile

Но если игра будет ставиться в тот же каталог, как этот случай будет у нас проходить? Теоретически, обновить полезная штука. Правда юзер может нарваться на несовместимость save... Надо подумать...

Re: [Предложение] Загрузка/обновление игр из Интернета

Несовместимость save апдейт стопит, конечно.
Но первоначально хорошо бы сделать без заморочек...

Re: [Предложение] Загрузка/обновление игр из Интернета

А реализация zip есть в qt?

К сожалению, нет (по крайней мере я не нашёл легальной реализации) sad

Но в поставку можно включить http://www.info-zip.org/ — эта утилита по умолчанию поставляется в большинство линукс дистрибутивов (команда zip). Есть windows, mac версии

Re: [Предложение] Загрузка/обновление игр из Интернета

morkow wrote:

А реализация zip есть в qt?

К сожалению, нет (по крайней мере я не нашёл легальной реализации) sad

Это вроде недокументировано:
http://vingrad.ru/blogs/sabrog/2009/03/ … -arhivami/

Re: [Предложение] Загрузка/обновление игр из Интернета

Peter wrote:
morkow wrote:

А реализация zip есть в qt?

К сожалению, нет (по крайней мере я не нашёл легальной реализации) sad

Это вроде недокументировано:
http://vingrad.ru/blogs/sabrog/2009/03/ … -arhivami/

#include <Qt/private/qzipreader_p.h>

Страшновато как-то  hmm но конечно можно попробовать. Спасибо за ссылку smile

Re: [Предложение] Загрузка/обновление игр из Интернета

Ilja wrote:

Конечно. smile
qt штука хорошая, полностью поддерживаю.
А есть представление как этот launcher/updater должен работать/выглядеть?

Есть проэктик один. Плагин для psi+ человек разрабатывает. Так до конца и не поняли почему он на qt4:4.5.2 не идет, а идет строго на qt4:4.5.3. Из-за этого плагин на убунте не пошел, выяснилось что убунта на этот счет полна костылей и как такового qt4:4.5.3 там совершенно нет. Думаю ни в одной только убунте так. Может не qt?

Re: [Предложение] Загрузка/обновление игр из Интернета

Fangel wrote:
Ilja wrote:

Конечно. smile
qt штука хорошая, полностью поддерживаю.
А есть представление как этот launcher/updater должен работать/выглядеть?

Есть проэктик один. Плагин для psi+ человек разрабатывает. Так до конца и не поняли почему он на qt4:4.5.2 не идет, а идет строго на qt4:4.5.3. Из-за этого плагин на убунте не пошел, выяснилось что убунта на этот счет полна костылей и как такового qt4:4.5.3 там совершенно нет. Думаю ни в одной только убунте так. Может не qt?

У самого убунта. Версия: 4.5.3really4.5.2-0ubuntu1  (прямо так и написано smile

В любом случае от этого кутэ потребуется только сетевой модуль + gui, которые точно есть во всех версиях qt4.

Re: [Предложение] Загрузка/обновление игр из Интернета

Fangel wrote:
Ilja wrote:

Конечно. smile
qt штука хорошая, полностью поддерживаю.
А есть представление как этот launcher/updater должен работать/выглядеть?

Есть проэктик один. Плагин для psi+ человек разрабатывает. Так до конца и не поняли почему он на qt4:4.5.2 не идет, а идет строго на qt4:4.5.3. Из-за этого плагин на убунте не пошел, выяснилось что убунта на этот счет полна костылей и как такового qt4:4.5.3 там совершенно нет. Думаю ни в одной только убунте так. Может не qt?

Все может быть. smile Но в данном случае подобная проблема скорее всего не актуальна.

Re: [Предложение] Загрузка/обновление игр из Интернета

Ilja, может и пронесет, но в плагине то ничего даже сверх естественного небыло. он не работал даже когда в нем лиш сбор статистики был. Я к тому что у qt4 много подводных камней.
З.Ы. Самые стабильные q 4.5.3 именно.

Re: [Предложение] Загрузка/обновление игр из Интернета

Если разобраться, "подводные камни" есть во всем. Qt весьма мощный fw, и решения, заложенные в нем, значительно облегчают жизнь разработчика. Думаю, для венчура это вполне адекватный и нормальный выбор.

22

Re: [Предложение] Загрузка/обновление игр из Интернета

Есть проэктик один. Плагин для psi+ человек разрабатывает. Так до конца и не поняли почему он на qt4:4.5.2 не идет, а идет строго на qt4:4.5.3.

Скорей всего разработчик использовал какой то новый класс или метод, появившийся в 4.5.3. А так у Qt совместимость между версиями очень хорошая, по крайней мере на уровне исходников. С Ильей полностью согласен.

Да кстати, а на старый проект апдейтера можно где-то взглянуть?

Re: [Предложение] Загрузка/обновление игр из Интернета

Да, забыл написать... Кнопки, конечно, нужны отдельно (как написано у rec). Контекстное меню не должно быть единственным способом добавлять удалять игры. smile Но это мелочи -- и вы без меня это знаете. smile Давайте какой-нибудь скелет для начал, имхо, уже можно начинать программировать. smile

+ возможно, придется разбивать игры по языкам....

24 (edited by rec 2010-01-17 11:17:45)

Re: [Предложение] Загрузка/обновление игр из Интернета

Вот такой quick & dirty вариант.

Игры можно по языкам не разбивать, можно просто несколько списков с играми хранить - русский, английский, испанский и.т.п. А в ланчере на вкладке настроек можно ввести URL нужного списка.

@rec может как-то объединить усилия?

Давай! Кстати как там дела с зипом под Qt, к какому варианту склоняешься ?

Post's attachments

Attachment icon instead-launcher-0.0.1.tgz 7.01 kb, 112 downloads since 2010-01-17 

25

Re: [Предложение] Загрузка/обновление игр из Интернета

Хотя да, кривоватый способ, лучше в списке подписать язык, для которого создана игра. И добавить в списке игр комбик с выбором языка (обязательно пункт "Все", по дефолту выбран тот который в системе). Тогда URL будет единый, что удобно как для юзера так и для того кто будет поддерживать список.