Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/951: Рейтинг темы: голосов - 951, средняя оценка - 4.62
7 / 7 / 0
Регистрация: 20.04.2009
Сообщений: 45

Принцип создания браузерной игры

22.04.2009, 23:47. Показов 181846. Ответов 351
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С чего начинаются писаться браузерные игры? С регистрации игрока?
6
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2009, 23:47
Ответы с готовыми решениями:

Создание браузерной игры...
Я хочу создать браузерную игру, какие типы программирования мне нужно знать? Добавлено через 36 секунд что бы создать движок игры?

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

Написать бота для браузерной игры
Здрасте. я ничего не знаю про web програмирование. Однако поставил цель написать бота для браузерной игры. суть такова что нужно...

351
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 13:44
Студворк — интернет-сервис помощи студентам
Может ответишь что-нибудь по существу, и не будешь придираться к буквам?
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 13:54
Из-за букв возникает непонимание. Почитай некоторые темы, в которых вопрос то понять невозможно, потому что не то что запятых не (к этому уже привыкли), но и времена/падежы/роды исковерканы до невозможности.

По существу я ответил двумя постами ранее.

Еще раз вкратце мой вариант на примере:
Бой расчитываем только по силе удара/защите и только по 2ум точкам (голова/тело например). При необходимости просто увеличивается число параметров.
Итак. Есть два пользователя. id 1 и id 2. У первого свои сила-защита, у второго свои. Данные о пользователях хранятся в соответствующей таблице.
Есть таблицы бой и бои.
Когда оба пользователя вступают в бой, заносим в таблицу бои запись о том, что бой начался и id участников боя.
После того, как пользователь выбирает, куда будет бить заносим в базу бой запись, что в бое с таким-то id такой-то участник с такой то силой (сила берется из соответствующей таблицы) ударил в такую-то точку. Далее ждем, пока не появится запись о ходе второго участника. Ожидание реализуется путем, к примеру, запросов AJAX каждые 30 секунд.
После появления соответствующей записи производим обсчет данных, предварительно проверив, не появилась ли уже запись об этом (если обсчет произведен на стороне другого пользователя) и заносим ее в таблицу. После этого все повторяется до тех пор, пока ХП не сливается в 0 у одного из участников (подсчет хп можно вести внутри сессии у клиента + иногда запись в базу на случай вылета клиента).
По окончании боя заносим в базу бои запись о времени окончания боя и победителе.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 14:12
Цитата Сообщение от MarsNsk Посмотреть сообщение
В базе хранятся только основные данные, весь просчет боя ведется в скрипте, например в ходе сессии
Где хранятся неосновные данные?
Если игрока(ов) нету онлайн, что тогда?
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 14:16
opensource, Что подразумевается под неосновными данными?


opensource, Ставишь метку в записи игрока онлайн/офлайн. В список возможных противников выводятся только игроки с меткой онлайн. Отправляется запрос на бой, после подтверждения начинается процедура описанная выше. Если в ходе боя проходит более n секунд от последнего просчета хода (время которого также заносится в соответствующую запись), то засчитываем поражение (ничью - на выбор оставшегося) и заносим соответствующую запись.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 14:49
Цитата Сообщение от MarsNsk Посмотреть сообщение
opensource, Что подразумевается под неосновными данными?
Это я и хочу понять. Основные данные у вас хранятся в БД....
В базе хранятся только основные данные, весь просчет боя ведется в скрипте, например в ходе сессии
Цитата Сообщение от MarsNsk Посмотреть сообщение
Ставишь метку в записи игрока онлайн/офлайн. В список возможных противников выводятся только игроки с меткой онлайн. Отправляется запрос на бой, после подтверждения начинается процедура описанная выше. Если в ходе боя проходит более n секунд от последнего просчета хода (время которого также заносится в соответствующую запись), то засчитываем поражение (ничью - на выбор оставшегося) и заносим соответствующую запись.
Подобная веб-игра видимо будет очень популярна.
Спасибо за сообщения.
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 14:54
opensource, подобная система реализована в большинстве боевых игр а ля "Бойцовский клуб".
Естественно, что онлайн/офлайн метка ставится в зависимости от присутствия/отсутствия пользователя в системе.

Основные - характеристики игрока, результаты боев, действия игрока в ходе текущего боя, результаты действий.

- именно этот процесс напоминает общение с вами.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 15:05
Как вам будет угодно

Добавлено через 2 минуты
п.с.
Цитата Сообщение от MarsNsk Посмотреть сообщение
Основные - характеристики игрока, результаты боев, действия игрока в ходе текущего боя, результаты действий.
Какие характеристики игрока - неосновные?
Ведь у вас есть основные характеристики, какие в таком случае _неосновные_ ?
1
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 15:35
Читайте внимательнее, не основные и неосновные характеристики игрока, а данные.

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

Также, после окончания боя можно удалять и информацию о ходе боя.
Ну или делать это по прошествии определенного срока/числа боев.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 15:50
Я читаю внимательно.
Там где вы говорили про данные, я писал в цитате - про данные.
Там где вы сказали про характеристики(в предпоследнем вашем посте) - я тоже цитировал как о характеристиках.
Цитата Сообщение от MarsNsk Посмотреть сообщение
Основные - характеристики игрока, результаты боев, действия игрока в ходе текущего боя, результаты действий.

Далее...

Цитата Сообщение от MarsNsk Посмотреть сообщение
Неосновные данные - промежуточная информация, образующаяся в ходе расчетов. Сюда относится нанесенный урон, коэффициент попадания, коэффициент урона и многое другое, что зависит от соотношения характеристик игроков, а также другая побочная информация.
Наконец то я дождался ответа.
Теперь, когда мы выяснили что такое неосновные данные, может быть, вы сможете ответить на вопрос который был задан ранее?
Цитата Сообщение от opensource Посмотреть сообщение
Где хранятся неосновные данные?
0
Inferst
28.01.2010, 23:22
Я так думаю, что неосновные данные, которые зависят от характеристик игрока, конечно хрянятся в таблице игрока, а урон высчитывается из этих данных и уже записывается в таблицу боя - кто сколько нанес урона и т. д.

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

Это мое мнение
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
26.03.2010, 14:49
я может не по теме - но каким образом обрабатываются данные в БД экономического типа
например поставил исследование на 10 часов
каким образом это в БД преобразуется - от серверного времени берется значение ?
1
NikitozMc
15.07.2010, 20:43
всем привет я хочу зделать свою браузерную игру кто имеет опыт этому делу помогите.
 Комментарий модератора 
2.12. Не стоит просить выслать ответ в icq или e-mail. Эта просьба все равно не будет выполнена, а сообщение скорее всего будет отредактировано модератором.
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
15.07.2010, 22:29
Перед тем как начать писать игру надо провести четкую грань между ХОЧУ и МОГУ!
0
2 / 2 / 0
Регистрация: 14.08.2010
Сообщений: 6
14.08.2010, 13:14
Доброго времени суток, создаю свою игру на php + css.
JS не изучал, знаю немнго, но вопрос не об этом.

Как мне реализовать игру двух игроков ?
Вот, например, есть БД server.
В ней есть примерно такие поля :
S_id tinyint NOT NULL auto_incremet,
U_id1 tinyint,
U_id2 tinyint

Занесу я сюда данные, но а если подключатся сразу 3 игрока, то что?
И как запретить вход на B_id (n) , если там уже 2 человека, но разрешить, если один вышел?

Чем дополнить таблицу ещё? Стоит ли добавить колонки результатов, что бы игроки видели состояние друг друга ?
P.S. Игра не похожа на ВСЕ, которые обсуждались.
0
 Аватар для acupation
67 / 67 / 6
Регистрация: 26.03.2010
Сообщений: 546
14.08.2010, 19:21
Цитата Сообщение от Nebiros Посмотреть сообщение
я может не по теме - но каким образом обрабатываются данные в БД экономического типа
например поставил исследование на 10 часов
каким образом это в БД преобразуется - от серверного времени берется значение ?
самый простой вариант писать в БД в unix времени. К примеру поставил на исследование - плюсанул время, записал в бд. А дальше уже простой проверкой) если время прошло - то..., если нет - то...

Добавлено через 4 минуты
Цитата Сообщение от Nioni Посмотреть сообщение
Доброго времени суток, создаю свою игру на php + css.
JS не изучал, знаю немнго, но вопрос не об этом.

Как мне реализовать игру двух игроков ?
Вот, например, есть БД server.
В ней есть примерно такие поля :
S_id tinyint NOT NULL auto_incremet,
U_id1 tinyint,
U_id2 tinyint

Занесу я сюда данные, но а если подключатся сразу 3 игрока, то что?
И как запретить вход на B_id (n) , если там уже 2 человека, но разрешить, если один вышел?

Чем дополнить таблицу ещё? Стоит ли добавить колонки результатов, что бы игроки видели состояние друг друга ?
P.S. Игра не похожа на ВСЕ, которые обсуждались.
Смотри, в таблице с юзерами создаешь строку к примеру "battle" и туда вписываешь сгенерированный номер боя. Он пишется всем кто в бою. Когда он заканчивается - просто null делаешь. А при входе игрока проверяешь - если там что-то есть, то закидывает в этот номер боя. А когда генерируется бой - то пишется этот бой в отдельную таблицу, в ней уже все данные, кто нанес, сколько, могут ли вломиться в бой и т.д.

Добавлено через 3 минуты
Цитата Сообщение от MarsNsk Посмотреть сообщение
Читайте внимательнее, не основные и неосновные характеристики игрока, а данные.

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

Также, после окончания боя можно удалять и информацию о ходе боя.
Ну или делать это по прошествии определенного срока/числа боев.
Не проще рассчетки делать в отдельном файле? XDD и просто заносить в базу А если удаил к примеру и отнял хп, то минусуешь сразу из таблицы с юзерами
1
2 / 2 / 0
Регистрация: 14.08.2010
Сообщений: 6
14.08.2010, 19:33
Дайте, пожалуйста, код JS ( чисто JavaScript, без библиотек ) чтобы пользователю выводилась информация во фрейм типа такого :
___________________
Соперник сделал ход? : Нет ( Или Да ).
До вашего хода : N секунд ( Тут таймер ).
___________________

Я не изучал JS, но немного знаю. Но такое не сделаю, точно.
AJAX не подходит по причине веса : мне необходимо сделать как можно меньший размер игры ( поскольку она будет обновляться, а не подгружаться через сценарии ).
0
 Аватар для acupation
67 / 67 / 6
Регистрация: 26.03.2010
Сообщений: 546
14.08.2010, 19:38
обновляемая игра - не красива. Да и кушает траф. Не забывай о людях которые живут далеко и у них нет по трафику. JS сделать не могу, ушь простите)

Добавлено через 2 минуты
Тем более скажи, зачем тебе это в JS если у тебя она перезагружается? обновляй фрейм автоматом каждые 5 сек к примеру и все)
0
2 / 2 / 0
Регистрация: 14.08.2010
Сообщений: 6
14.08.2010, 19:43
Очень жаль, что есть такие проблемы с трафиком.
Ведь я всю основную часть уже постоил на обновлении : все цвета меняются, выключаются доступы и т.п.

Я думаю без JS можно обойтись : сделаю игру больше на CSS, чем на графике. Максимум впихну 5-10 картинок маленьких.

P.S. Я хочю сделать лёгкую по весу игру, но интересную.

Кстати : Я подумал о организации таблицы : интересное решение, а ведь можно сделать подобие сервера :
Делаем таблицу : server :
А в ней поля :
S_id | U_id1 | U_id2 | Map | Stated | Time | Step | Win & Loose | И что-то ещё
1 | 1 | 3 | Claasic | 10.20.2010 21:10 | U_id2 | 11 v 2 | Что-то ещё

Цитата Сообщение от acupation Посмотреть сообщение
обновляемая игра - не красива. Да и кушает траф. Не забывай о людях которые живут далеко и у них нет по трафику. JS сделать не могу, ушь простите)

Добавлено через 2 минуты
Тем более скажи, зачем тебе это в JS если у тебя она перезагружается? обновляй фрейм автоматом каждые 5 сек к примеру и все)
Это не красиво : меня раздражает это мигание, а игроков точно будет.
0
 Аватар для acupation
67 / 67 / 6
Регистрация: 26.03.2010
Сообщений: 546
14.08.2010, 19:49
ага, а U_id1 и U_id2 - два игрока. Остальных ID куда писать будешь? )

Добавлено через 2 минуты
Цитата Сообщение от Nioni Посмотреть сообщение
Это не красиво : меня раздражает это мигание, а игроков точно будет.
Ты же сам пишешь что она обновляться будет) она значит и так мигать будет)
0
2 / 2 / 0
Регистрация: 14.08.2010
Сообщений: 6
14.08.2010, 20:00
Так я писал, что мне скрипт нужен как раз только для таймера, но не просто таймера, а чтобы следил : сделал игрок ход или нет. ( Это не шахматы )

U_id1 и U_id2 - это столбцы.
А внизу будут записи :
Battle_id | U_id1 | U_id2|
1 | 5 | 45 |
1 | 13 | 9 |
1 | 67 | 452 |
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2010, 20:00

Упрощенный принцип создания поисковой системы на PHP
- Доброго времени суток. Сперва объясню ситуацию: выбрал тему на курсовой проект "Поисковая система". Только сначала совсем не...

Принцип работы онлайн игры
Здравствуйте. Меня интересует такой вопрос. Для примера возьмем браузерную игру "Дурак". Каким образом в этой игре происходит...

Как правильно создать систему уведомлений для браузерной игры\сайта?
Всем привет! Недавно начал заниматься веб программированием, есть некие начальные знания в PHP/JS/HTML/CSS, для более интересного...

Программисты для браузерной игры
Привет всем. И так начнём, меня зовут Виталий, являюсь по интернет маркетингу . Являюсь активным игроком в онлайн игры, работаю в интернете...

Сервер для многопользовательской браузерной игры
Доброго времени суток,товарищи!В общем хочется сделать многопльзовательскую игру.Возник вопрос - как сделать игру таким образом чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru