Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поделитесь опытом [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: Серверное время.
IllusionMH
Отправлено: 20 Февраля, 2012 - 00:31:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




DelphinPRO пишет:
Однако, если задаться целью написать браузерку, начинать нужно, явно, не с клиентского программирования. Сначала написать двиг, который будет все просчитывать, а потом уже добавлять клиентские плюшки.

Согласен.
Но зависит от игры. В некоторых случаях(когда время наступления следующего события однозначно не определено) придется продумывать и часть клиентского приложения.

Серверную часть тоже не плохо бы продумывать с возможностью создания удобного клиентского приложения, а не рассматривать клиентскую часть только как надстройку. Но опять таки, зависит от конкретных желаний в плане того, как должна выглядеть и действовать игра.
 
 Top
DelphinPRO
Отправлено: 20 Февраля, 2012 - 00:35:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
etoYA
Отправлено: 20 Февраля, 2012 - 00:44:16
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DelphinPRO, я как бы и не вспоминал, даже если честно незнаю как их использовать)))
 
 Top
OrmaJever Модератор
Отправлено: 20 Февраля, 2012 - 01:47:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ugin_root пишет:
3) Онлайн игру без явы? желаю удачи!

в своё время убивал время играя http://barbars[dot]ru/ Никапельки js (игра расчитана для мобильных браузеров). Игра работает очень быстро и она очень большая. Поэтому не надо быть таким увереным.
Самвел пишет:
Второй вопрос: если я допустим отталкиваюсь не от некого гипотетического серверного времени, а от настоящего, каким образом реализовать, допустим, ежечасную добычу ресурсов, даже если приложение не запущено через браузер.

Вот это самый главный вопрос, имено это можно зделать через крон, но когда начнёте писать саму игру поймёте что эта проблема больше чем кажется, и возможно здесь одним php не обойтись. Если бы я писал подобную игру то зделал бы серверное приложение на Си для прощёта вот таких действий и и другой автоматизации. Например в игре Варвары (сылку на которую я дал) есть боты, убивая которых получаешь опыт, и вот я долго думал как реализировать таких ботов на php, они должны постояно воскрешатся и снова ити в бой, и вот крон уже не поможет. Тут как минимум нужен демон на php или серверное приложение.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DelphinPRO
Отправлено: 20 Февраля, 2012 - 01:56:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




OrmaJever пишет:
Вот это самый главный вопрос, имено это можно зделать через крон

Чем крон отличается от запроса пользователя в данном случае? ничем. те же расчеты нужно производить. так же нужно делать вычисления изменений игрового мира с момента последнего обращения.

Когда мы писали браузерку, то реализовали расчеты на основе очереди событий. Т.е. есть игровые объекты и есть очередь соытий. При каком либо действии, проверяется какой объект в мире затрагивает это действие и проверяется наличие событий в очереди, относящееся к этому объекту\объектам. Если события находятся, то они поочередно рассчитываются и выдается результат. Тут же в очередь пишутся новые события, затрагивающие эти объекты.

Проблема, действительно, больше, чем кажется Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Самвел
Отправлено: 27 Февраля, 2012 - 22:57:26
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Походу, вопрос, да и сама тема, намного обширнее, чем не кажется. Не понял

Что касается удобства, я не спорю, ява и ява скрипт сделают игру намного удобней. Но как я уже говорил, игра не для широких масс, а лишь для отработки собстенных знаний на php.

По поводу очереди событий, описанную DelphinPRO... Я так понимаю, что это из области ОПП, которую я ещё только начал осваивать... Для меня всё это тёмный лес Ниндзя

Не знаю насколько это сработает, эта идея пришла мне в голову, пока читал форум. Смысл такой:
использовать одну общую базу данных, в которую будут записывать как раз те самые очереди. Т.е. когда игрок на меня нападает, производится расчёт потерь с обоих сторон и это записывается в базу. Когда я спустя какое-то время вхожу в игру, то информация обо мне считывается и происходит полный перерасчёт не только постоянно добываемых ресурсов, но и скажем, прочности зданий и потери войск.

Что скажете? Достойный выход из ситуации?

(Отредактировано автором: 27 Февраля, 2012 - 23:00:20)

 
 Top
ugin_root
Отправлено: 28 Февраля, 2012 - 05:43:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


Помог: 5 раз(а)




DelphinPRO
ну я JavaScript имел ввиду. А игрушка Travian пропитана javascrip-ами и без них просто не заработает. Да можно извратиться, поэтому и пожелал удачи Улыбка
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB