Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание онлайн игр

14K
13 августа 2008 года
_SNIPER_1
4 / / 11.12.2005
Здравствуйте.
У меня к вам такие вопросы:

Как вообще работают онлайн игры?
Как происходит нападение ботов?
Как происходит восстановление жизней?
Как происходят бои?
Как обновляются страницы, когда нападают боты или при ударе, когда ожидаешь хода противника?
Как сделать правильный чат? Если сделать рефреш каждые 10 секунд, потянет ли он?

Помогите чем сможете...

Заранее благодарен.
239
13 августа 2008 года
Dolonet
1.7K / / 20.05.2000
Если Вы скажете, зачем Вам эта информация, это может помочь нам ответить на Ваши вопросы.
13
13 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
И кстати онлайн игры бывают разные: на основе флеш, на основе java script, с отдельным клиентом и т.д.

Так что все что вы спросили можно ответить так
1) Так же как и все другие сетевые приложения
2) Автоматически
3) Автоматически
4) Автоматически
5) По сети
6) Взять в руки клавиатуру и написать
304
14 августа 2008 года
Fenyx
707 / / 26.01.2005
Цитата: RussianSpy
И кстати онлайн игры бывают разные: на основе флеш, на основе java script, с отдельным клиентом и т.д.

Так что все что вы спросили можно ответить так
1) Так же как и все другие сетевые приложения
2) Автоматически
3) Автоматически
4) Автоматически
5) По сети
6) Взять в руки клавиатуру и написать


согласен

14K
23 августа 2008 года
_SNIPER_1
4 / / 11.12.2005
Цитата: Dolonet
Если Вы скажете, зачем Вам эта информация, это может помочь нам ответить на Ваши вопросы.



Ну я в принципе в теме написал зачем мне это нужно.
Если знаете хоть что нибудь, расскажите по подробнее...

Заранее благодарен.

14K
23 августа 2008 года
_SNIPER_1
4 / / 11.12.2005
Цитата: RussianSpy
И кстати онлайн игры бывают разные: на основе флеш, на основе java script, с отдельным клиентом и т.д.

Так что все что вы спросили можно ответить так
1) Так же как и все другие сетевые приложения
2) Автоматически
3) Автоматически
4) Автоматически
5) По сети
6) Взять в руки клавиатуру и написать



Вы меня убили :eek:

А нельзя ли по подробнее рассказать про всё...

13
23 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Задавайте конкретные вопросы - на них будут конкретные ответы.

Или вы хотите чтобы вам пересказали все сотни методов и десятки тысяч алгоритмов которые люди разработали за последние 15 лет?
366
25 августа 2008 года
int
668 / / 30.03.2005
Я попробую :)
Цитата: _SNIPER_1
Как вообще работают онлайн игры?


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

Цитата:
Как происходит нападение ботов?

Нуууууу, допустим, так: "Если игрок подошёл ближе N условных метров, напасть на него".
что-то типа такого:
if (Distance < MinDistance) Attack(BotID,GamerID);

Цитата:
Как происходит восстановление жизней?

Допустим, информация о жизнях хранится в базе данных, тогда достаточно изменить значение соответствующей записи в базе. Примерно так:
UPDATE gamers SET HP = OldHP+12 WHERE ID = GamerID

Цитата:
Как происходят бои?

Так, как придумает программист. Простейший вариант - поочерёдные удары, то есть сперва бьёт один из дерущихся, потом другой, потом третий. Сохраняешь для каждого дерущегося ID цели и дальше Attack(GamerID,TargetID). Естественно, функция Attack чисто условная, для примера.

Цитата:
Как обновляются страницы, когда нападают боты или при ударе, когда ожидаешь хода противника?

Мы говорим о web-игре или посто о сетевой игре с отдельным клиентом типа кваки? Страницы обновляются, например, по таймеру, каждые 5 секунд. Это простейший вариант.

Цитата:
Как сделать правильный чат? Если сделать рефреш каждые 10 секунд, потянет ли он?

Правильный = православный? Предлагаю поставить IRC и не париться. И что он там должен потянуть при рефреше в 10 секунд? Пиши сюда размер отдаваемой старницы, ширину канала и количество клиентов, тебе скажут сколько будет грузиться страница на каждом клиенте. Если ты именно это имеешь в виду под "потянет"
__________________________
Имхо, перед нами пионер, который заполнил в каком-нибудь конструкторе сайтов пару форм, посмотрел на результат и теперь, как профессиональный web-девелопер решил писать мегапопулярную игру. А вот конструктор оригинальных мегапопулярных web-игр найти и не смог.

13
25 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Половина того что сказал выше коллега все верно. А за вторую половину его вполне можно расстрелять. Особенно за

Цитата:

Допустим, информация о жизнях хранится в базе данных, тогда достаточно изменить значение соответствующей записи в базе. Примерно так:
UPDATE gamers SET HP = OldHP+12 WHERE ID = GamerID

366
26 августа 2008 года
int
668 / / 30.03.2005
Цитата: RussianSpy
Половина того что сказал выше коллега все верно. А за вторую половину его вполне можно расстрелять. Особенно за

Да лааадно, мы ж рассматриваем не жутконагруженный сервер со стотыщмильённой аудиторией.

13
26 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Даже 100 человек онлайн убьет твой сервер с таким подходом к разработке. Ни одна нормальная игра не грузит базу по каждому мелкому поводу. Обычно есть некие узловые точки во время которых все сбрасывается в субд.

Сервер игры берет все расчеты на себя и хранит в памяти результаты вычислений.

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

Однако если мы говорим об игре, серверная часть которой написана на РНР - тут имеются очень серьезные ограничения обойти которые почти невозможно. Также для игр с онлайном больше 100 пользователей (хотя на самом деле мне кажется что их количество все же меньше), то тут уже хостинг не подойдет - нужен выделенный сервер. Потребуется очень тонкая настройка СУБД и веб-сервера. Хотя если речь идет об убогом шлаке вроде БК - тут все проще. Только бой, покупка барахла, чат да расчет показателей персонажей.

Хочется надеяться что подобные игры канули в прошлое.
366
26 августа 2008 года
int
668 / / 30.03.2005
Ну я-то пишу именно на php, да и то в свободное от работы время :) Так что альтернативный вариант сохранения был - в файл :)
366
26 августа 2008 года
int
668 / / 30.03.2005
Цитата: int
Ну я-то пишу именно на php, да и то в свободное от работы время :) Так что альтернативный вариант сохранения был - в файл :)



Ну давайте про восстановление жизней перепишем так: AddHP(GamerID,12) :D

13
26 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Ну тогда пишите как хотите потому что это не игра, а просто баловство
2
26 августа 2008 года
squirL
5.6K / / 13.08.2003
Цитата: int
Да лааадно, мы ж рассматриваем не жутконагруженный сервер со стотыщмильённой аудиторией.


либо разработчик проектирует приложение с масштабируемостью от двух задротов до статыщмильонов геймеров, либо он некомпетентый мудак. как то так ;) ничего личного, естественно

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог