![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, как это реализуется?
*** вообще есть интересный доки где описывают написание игры? |
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Cron'ом это реализуется - запуск скриптов по расписанию, даже некоторые бесплатные хостинги Cron поддерживают. От себя добавлю, делали онлайн игруху командой 5 человек на 3-ем курсе, все из одной группы, застопарились именно на графике, сначало прокатывало из инета рисунки тырить, но потом нужно было карты рисовать, дизайн, полосочки, бутылочки (идея была противостояние двух миров магов и техников), так что у нас дальше регистрации и главного окна с картой и персонажем дело не двинулось, хотя времени много ушло. Делали на PHP+MySql. Первым делом после сюжета очень советую продумать структуры таблиц для mysql с инфой о персонаже, инвентаре и т.д. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
ressac, что реализуется? Увеличение силы? $sila+5;
Вот и все увеличение. Напали - увеличил. Не напали - не увеличил. Никаких проблем. mmvds, не нужен тут никакой крон. Крон служит для других целей. не надо ворошить базу каждые 5 секунд, чтобы прставить в нее циферки, которые никому не нужны. Это сообщение отредактировал(а) Feldmarschall - 30.3.2008, 16:11 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall,
я про то где данные будем хранить что добавить надо "5 " ? я просто не могу понят логику реализации добавления силы с PHP+Mysql и всё! и не в плане КОДА а в плане логики , в смысле логический дизайн игры, понимаешь? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Так бы сразу и писал.
А разве эти данные хранятся, а не высчитываются по определенному алгоритму? По какой причине у него в 13-00 сила повышается? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, ну это как возраст-сила, +1 каждый день. При этом не важно был юзер на сайте или нет, это должно записываться в базу.
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
да не должно оно записывается в базу. записывай время последнего изменения.
когда понадобится - посчитаешь. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Действительно, тут сложно с Feldmarschall не согласиться, зачем тебе лишние запросы к БД, которые никому не нужны? Вот зайдёт юзер в игру, тогда и добавишь ему силы, столько сколько причитается, а если оставлять персонажа в игре без юзера, то его забьют, если захотят, в любом случае, если на него можно нападать, никакая сила ему не поможет, он же сопротивляться не сможет...
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, ну в принципе уловил смысл где-то, не знаю ... я такого ещё кодил, при написании бы всё стало ясно. Но хоть одно радует что можно ограничатся только php+mysql
*** а в каких случаях тогда используют на сервере с++? (php+mysql+C)? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
source777, я только добавлю - не только когда персонаж заходит в игру, а вообще всегда, когда его информация потребовалась. просто при просмотре списка игроков, при любом взаимодействии с другими, и так далее.
понадобилась инфа - прочитали, посмотрели время, накинули всего сколько нужно - и обратно записали. И новые данные использовали. ressac, для чего угодно. на С написан РНР, mysql, веб-серверы. можно написать модуль расширения для PHP. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, тойсть когда кто-то решил посмотреть инфо одного из персонажей ты добавляешь в базу ?
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Сам себе противоречишь, одно дело жизнь/ману восстанавливать, тут согласен, что логично и легче вычислять и изменять, когда понадобится пользователю, другое дело землетрясения, завозы, увеличение статов на время у всех пользователей, тут без крона не обойтись. Возьмем тот же пример с изменением параметров некоторым игрокам после 13_00 и допустим до 21_00 Если делать через крон, то нужно всего два запуска скрипта, чтобы изменить необходимые параметры сразу во всех таблицах всем десяткам тысяч игроков. А если каждый раз во всех скриптах, где используются нужные параметры делать проверку, пришло нужно время или нет, то во-первых, можно где-нибудь о такой проверке и забыть, а во вторых, если пользователей будет не десяток, а несколько десятков тысяч, то тут как-раз и будет "ворошение базы каждые 5 секунд" и возрастет нагрузка на проц. |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Для таких игр, где надо в 13.00 что-то динамически менять нужен не хостинг, а сервер с постоянно работающей программой. Просто для динамических приложений протокол HTTP cовсем не подходит. Это с точки зрения логики. Так в принципе написать можно и на PHP.
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
По сути Cron и есть программа, постоянно работающая на сервере - планировщик задач - серверный демон, служба, названия разные, но суть не меняется. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
mmvds,
а как тогда поступать при просмотре профайла пользователя? тут волей не волей каждый раз нужно ворошить базу... или нет? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |