Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
Здравствуйте!
Хоть и программированием занимаюсь недолго, но замахнулся на написание мини ойлайн игры (для себя) на php и mysql.
Первый вопрос: Я хочу создать серверное время, от которого мог бы отсчитывать все события в игре и поведение самой игры относительно игрока. В интернете поискал, подобного нет.
Может быть кто поделится как впринципе решаются подобного рода вопросы.
Второй вопрос: если я допустим отталкиваюсь не от некого гипотетического серверного времени, а от настоящего, каким образом реализовать, допустим, ежечасную добычу ресурсов, даже если приложение не запущено через браузер.
Маленькая пометочка: Явой я пользоваться не умею и не хотел бы заморачиваться. Возможно ли это осуществить средствами php.
Заранее спасибо за адекватные ответы!
ugin_root
Отправлено: 19 Февраля, 2012 - 20:03:07
Частый гость
Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011 Откуда: Киргизия
Помог: 5 раз(а)
Самвел
Здравствуйте!
1) Создавать его не нужно получить его можно вызвав функцию time()
2) CURL
3) Онлайн игру без явы? желаю удачи!
Tox
Отправлено: 19 Февраля, 2012 - 20:20:06
Посетитель
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
ugin_root пишет:
3) Онлайн игру без явы? желаю удачи!
популярная игрушка Travian написана без явы. Отлично работает
по сабжу.
в базу заносится текущее значение количества ресурсов, часовая выработка и время последнего обновления. При очередном обращении считываются эти значения, определяется текущее время time() и на основе разницы с сохраненным значением высчитывается прирост. Новые данные заносятся в базу. (Добавление)
для того чтобы значения обновлялись например в ситуации, когда первый игрок не заходит в игру, а второй его атакует, нужно создать таблицу с очередью событий, и смотреть при обращении к объекту, связано с ним какое-либо событие в очереди (строительство, возврат войск, и прочее) и если да, то делать пересчет.
----- Чем больше узнаю, тем больше я не знаю.
Самвел
Отправлено: 19 Февраля, 2012 - 22:49:18
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
ugin_root пишет:
1) Создавать его не нужно получить его можно вызвав функцию time()
2) CURL
3) Онлайн игру без явы? желаю удачи!
Почему без Ява не получится? Что такого умеет Ява чего не умеет php?
IllusionMH
Отправлено: 19 Февраля, 2012 - 22:54:35
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Самвел, под явой подразумевается Java или JavaScript?
Если второе - то он взаимодействует с пользователем, чего непосредственно не умеет php
Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
IllusionMH пишет:
Самвел, под явой подразумевается Java или JavaScript?
Если второе - то он взаимодействует с пользователем, чего непосредственно не умеет php
JavaScript.
Я посмню те славные времена, когда онлайн игры были на подобие "Травиан", т.е. лишь изредко менялась картинка, существовало несколько интерфейсов и всё происходило на словах и цифрах.
Как уже сказал DelphinPRO - без JavaScript можно писать игры, именно описанные мною выше.
DelphinPRO
Отправлено: 19 Февраля, 2012 - 23:53:45
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Самвел пишет:
JavaScript.
вообще-то я под Явой понимаю имена Java и именно без нее можно написать браузерную игру.
Самвел пишет:
Я посмню те славные времена, когда онлайн игры были на подобие "Травиан"
Те славные времена еще не прошли в травиан играют до сих пор
Самвел пишет:
без JavaScript можно писать игры, именно описанные мною выше.
можно. Собственно браузерки и пишутся без него. Javascript лишь прибавлят удобства для играющих, ядро системы все равно остается на php
----- Чем больше узнаю, тем больше я не знаю.
IllusionMH
Отправлено: 20 Февраля, 2012 - 00:00:09
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Самвел, в данном случае придется каждый раз перезагружать всю страницу, и передавать все параметры в get(при кликах на ссылки(при этом иногда придется создавать ооочень длинные ссылки)) либо в post (когда вечно нужно кликать на кнопку "Применить", "Начать")
что слабо согласуется с комфортной игрой.
Регаться в траве не хочется, а знакомые все спят. Почти уверен, что там все постоено на AJAX(т.е. JS)
DelphinPRO
Отправлено: 20 Февраля, 2012 - 00:07:34
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
в травиане самая длинная ссылка - 3-4 параметра
все построено именно на перезагрузках страницы. А если посмотреть в исходники, то там вообще чуть ли не полмира пересчитывается при каждом запросе
----- Чем больше узнаю, тем больше я не знаю.
IllusionMH
Отправлено: 20 Февраля, 2012 - 00:11:39
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Регнулся на 10 минутное мыло. Так и не смог ничего толкового сделать(построить и прочее) с выключенным JS.
Только переходы между различными частями деревни и страницами. там либо меняется файл, который обрабатывает эту страницу, либо параметр передается в id=XXX
Не спорю, что можно (уж точно без Java) и обладать изощренной изощренностью и сделать вообще без js передавая все в ссылках, но постоянные перезагрузки будут раздражать.
Еще придется каждый раз обновлять страницу в ручную, чтобы получить результаты труда сервера
etoYA
Отправлено: 20 Февраля, 2012 - 00:14:47
Участник
Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011 Откуда: Крым
Помог: 21 раз(а)
IllusionMH, без ява скрипт это офк извращение, но можно же и на фреймах
DelphinPRO
Отправлено: 20 Февраля, 2012 - 00:22:04
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
IllusionMH пишет:
Не спорю, что можно (уж точно без Java) и обладать изощренной изощренностью и сделать вообще без js передавая все в ссылках, но постоянные перезагрузки будут раздражать.
Еще придется каждый раз обновлять страницу в ручную, чтобы получить результаты труда сервера
ну с этим я соглашусь. В травиане , в частности, javascript`ом рассчитывается время наступления некоторого события, и страница рефрешится сама, что, несомненно, добавляет удобства в игре.
Однако, если задаться целью написать браузерку, начинать нужно, явно, не с клиентского программирования. Сначала написать двиг, который будет все просчитывать, а потом уже добавлять клиентские плюшки.
----- Чем больше узнаю, тем больше я не знаю.
IllusionMH
Отправлено: 20 Февраля, 2012 - 00:24:43
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
DelphinPRO, хм... оказывается предположение на счет AJAX в корне не верно.
Но там на все кнопки навешены скрипты, но можно заменить ссылками.
DelphinPRO
Отправлено: 20 Февраля, 2012 - 00:28:06
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
etoYA пишет:
но можно же и на фреймах
O_o фреймы исключили из спецификации в HTML5
забудьте о них
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.