![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
К черту базу. Используйте сессию, Вы же игрушку не для 30 человек пишите, а использование БД очень сильно притормаживает игровой процесс. Все триггеры и временные переменные держите в сессиях или файлах.
|
![]() |
![]() |
![]() |
#12 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Виталий Желтяков, а если юзер начнет строить мельницу и выйдет из игрушки, сессия же закончится? Как потом проверить, достроилась ли мельница или нет, и когда именно она достроилась? Или я не правильно понимаю?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]() Цитата:
Я вообще не понимаю проекты, где с пользователями "цацкаются". Если пользователь зарегистрировался, то значит он должен соблюдать определённые правила. А это потакание удобству пользователю выливается в дыры в безопасности и падении производительности. |
|
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]() Цитата:
Подобные проекты(браузерные игры) как раз и должны привлекать пользователей не только интересным геймплеем, но и удобством интерфейса, в том числе - постоянной поддержкой всех моментов игрового процесса. Именно забивание на юзабилити часто становится причиной того,что интересные и перспективные проекты очень быстро умирают - кому интересно играть в игру,где ты постоянно что-то кому-то "должен"...? ![]() А "это потакание удобству пользователя" ни во что не выливается - если разработчик имеет светлую голову и прямые руки. Да и нынешнее серверное "железо" и доступный "толстый" Интернет позволяют сделать многое ради удобства пользователей и максимально широкой функциональности самого проекта. Не будете "цацкаться" с пользователями - со временем у вашего проекта не будет пользователей вообще... ![]() |
|
![]() |
![]() |
![]() |
#15 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
Цитата:
но я просто хотел узнать есть ли иные способы. да и вообще по логике вашей надо все время комп держать включенным пока хочешь поиграть в игру, ИМХО бред. меня лично все еще коробит то что сервер начинает работать только по желанию клиента так сказать, то есть об офф уведомлениях можно забыть... получается нужен дедик с кронами.(помоему хостинги не дают такого) ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
![]() |
![]() |
![]() |
#16 |
взагрузке.рф
Форумчанин
Регистрация: 13.06.2010
Сообщений: 117
|
![]()
Пепел Феникса ты что собрался браузерную игру делать?
На каком уровне знаешь PHP, MySQL, Javascript, AJAX ?
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851 |
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
на достаточном, но команду не предлагать, это сейчас хобби пока.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#18 | ||||||||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
По поводу "цацканья" с пользователями:
- Рассмотрим простой пример. Дан средний игровой сервер с 3000 посетителями в день. Допустим "постройка мельницы" сводиться только к подключению к БД, т.е. на неё тратиться 0.02 сек. Наступил вечер. Пиковая нагрузка примерно будет для такого сервера равна 100 запросам в секунду. Если все пользователи обратились к БД, то задержка выполнения скриптов составит 100*0.02 = 2 секунды. Результат: + Игрок получает возможность сохранить прогресс, - Игрок ушел из игры так, как игра по вечерам, когда интересно играть, просто тормозит. Пример идеализирован, то есть для реального сервера с такой нагрузкой ситуация будет хуже. Это можно компенсировать оптимизацией в др.месте или арендой более дорогого сервера. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
||||||||
![]() |
![]() |
![]() |
#19 | ||||||
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Виталий Желтяков, хм... странное у вас отношение к пользователям... (Вам бы с моим шефом пообщаться
![]() Ну, скажем так... На чем держатся браузерки? На проплате юзерами реала хозяевам игры. Допустим, я юзер игры. Я проплатила сколько-то баксов, чтоб отстроить эту мельницу. Тут входит мой шеф, который не любит, что я играю на рабочем месте. Я, перепугавшись, вместо "Свернуть" щелкаю на кнопку "Закрыть". Браузер закрывается. Сессия убита. Мельницы нет. Я потратила реальные деньги. Больше я в эту игру не зайду. Или буду судиться(а такое бывает, как показывает практика). Или если же при покупке мельницы в БД записывается, что я таки построила мельницу, но не высчитывается время ее строительства, то: я щелкаю на кнопку "Построить мельницу", в БД записывается, что мельница у меня есть, я закрываю браузер, открываю - и вуаля - мельница построена, и 10 минут ждать не пришлось. (А ведь много бабла приходит из необходимости ускорять строительство). Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
||||||
![]() |
![]() |
![]() |
#20 | ||||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]() Цитата:
В моём варианте выглядит так: - У игрока, допустим 100 "рупий". Он решил построить мельницу и подал команду на строительство. Происходит инициализация процесса строительства (проверка возможности оного), т.е. первое обращение к БД. При инициализации в сессию добавляется переменная строительства мельницы. Идёт время. Пользователю показывается индикатор строительства, значения которого берётся из сессии. Нагрузки почти никакой. Пришло время завершения строительства. Происходит второе подключение к БД. Игроку добавляется мельница и списываются 100 "рупий". -- Как видите всё легко и просто. На практике перенос временных переменных в сессии даёт около 20% производительности. Цитата:
Цитата:
Цитата:
Вы недооцениваете влияние скорости игры на отношение людей к вашему продукту или Вы не представляете какое возмущение вызывают у заплативших игроков тормоза во время игры. По поводу переменых-тригерров и буфферных таблиц: - Тут всё просто. При правильной организации логики игры, т.е. при четком разграничении динамической части и статической, первое с чего начинается игра - это процедура инициализации. При этой процедуре идёт проверка кук, ip и пр. и при правильных данных идёт обращение в БД к мастер-таблице, где содержится настройки данного пользователя. Далее эти настройки благополучно переносятся в сессии. Среди этих настроек мы располагаем переменные-триггеры, которые мы можем задавать оффлайн. При наличии этих переменных во время инициализации запускаются соответствующие функции, которые производят необходимые нам построения. Например, построение локации. Буфферные таблицы - это таблицы memory содержащие два поля: идентификатор игрока и команду необходимую для выполнения. Такие таблицы удобно использовать для организации чата, т.к. они более надёжны чем файлы. |
||||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как написать БОТ для онлайн игры? | Roshan | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 22 | 30.03.2011 22:19 |
Как сделать бота для онлайн игры? | zotox | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 15 | 24.09.2009 17:34 |
из каких модулей создаются игры | alex(21) | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 14.08.2009 18:42 |