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

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

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

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

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

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

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

351
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 11
21.10.2009, 10:25
Студворк — интернет-сервис помощи студентам
Браузерная игры начинают писаться с концепции вначале надо продумать систему боя изложить это всё на бумажке. и потом начать ее писать на систему боя уходит основная настройка базы данных потом рекомендую заняться статами и опять их применить к системе боя потом инвентарём и вещами и опять это всё начать прикручивать к системе боя после того как написал основные модули тогда уже можешь начинать писать разные другие вещи модули к примеру как город и разные там системы многое зависит от того что ты хочешь начать делать в игре.
К примеру я начал делать игру у меня основная система началась с заработка я начал делать экономику потом начал это всё прикручивать к городской система и сейчас только у меня начинается разработка системы боя . Систему боя я начал делать в самом конце по стольку у меня основная наклонность в игре не битвы а экономике всё зависит от жанра но регистрация делается в самую последнюю очередь
0
Телепат
 Аватар для Милый Враг
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
21.10.2009, 14:03
Это чревато многими ошибками... Начинающи программист не имеющий опыт в разработки компьютерных игр не сможет все выложить на бумаге по той причине что он не сможет ее полностью продумать... это приведет к тому что он будет ее постоянно переделывать...
Я советую постувить так..
Создать миниверсию игры.. к примеру без регистрации и всех эти дел. приметивного персонажа, который не может менять комплект одежды. Просто это научит его (начинающег программиста) создать систему боя.. Затем сделать групповой бой, после добавить чат... и когда все будет прозрачно для программиста, можно переходить на создание полноценной, полнофункциональной онлайн игры с нуля.
Я сам по началу сто раз переделывал ее, в конечном счете начал опять таки с нуля.

Банзай браток а мы тебе поможем... по крайней мере я готов..
0
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
21.10.2009, 23:56
я так понял,что страничка из 2-х фреймов состоит,так? один-игра,другой-чат?
0
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 11
22.10.2009, 00:02
Да так идет по стандарту!
0
Телепат
 Аватар для Милый Враг
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
22.10.2009, 14:51
На самом деле фреймов больше чем их видно.. Один или два фрейма (невидимые, ширина которых равна 0 или высота равна 0) используются для того чтобы постоянно не перегружать страницу чата. Без них чат будет перегружаться (обновляться) и придется ждать когда он будет постоянно загружаться.. Чтоб этого небыло все это делает невидимый фрейм и средствами JavaScript добавляет в обычный чат сообщения...
0
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
22.10.2009, 20:26
можешь написать код чата такого?))
0
Телепат
 Аватар для Милый Враг
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
24.10.2009, 13:25
Код написать не смогу по причинам нехватки времени, так как много времени уходит на это да и готовых в просторах инета полно + ко всему цель данного форума не сделать работу за кого то а помочь в чем то. я лишь приблизительно опишу процедуру.
Пример чата. для простоты будем считать что фрейм "top" - отображающий сообщения а фрейм "bottom" для написания и отправки сообщений. (для простоты фрейм, в котором показываются количество пользователей я не показываю).
HTML код будет примерно таким
<FRAMESET ROWS="*,50,0" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
<FRAME SRC="" NAME="top" SCROLLING="auto" FRAMEBORDER="0" BORDER="0" NORESIZE>
<FRAME SRC="" NAME="bottom" BORDER="0">
<FRAME SRC="" NAME="hide" BORDER="0">
</FRAMESET>

значение ROWS="*,50,0" поясняю.. 0 - это нулевая высота, то есть его не видно, 50 это нижний фрейм, в котором пишут сообщения и кнопка отправить, его высота равна 50 пикселам, и * - вся оставшая часть свободной площади отводится для отображения сообщений.

База данных должна быть например с полями
id - идентификатор пользователя
from - от кого сообщение
to - кому
private - приватное сооюбение или нет (бдем отмечать 'y' если да и 'n' если нет)
message - само сообщение

Невидимый фрейм hide проверяет сообщения в БД и если есть то дописывает их во фрейм Top. Это сделано для того чтобы избежать постоянное обновление этого окна и не только..

при отправке сообщений (например: [motakuji] to [Милый Враг] привет...) в бд вносим запись
id - идентификатор обязательно
from - motakuji
to - Милый Враг
private - n
message - привет...

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

Это я примерно показал, на самом деле там больше работы.. Например добавить время отправки сообщений, смыйлы, еще один фрейм для того чтобы видеть пользователей онлайн, регистрация, банить и др....


вот глянь, написал всего ничего а полстраницы заняло.. а ты хотел чтоб я чат написал
2
Корорль
29.10.2009, 16:23
привет всем я хочу зделать браузерную игру
ктонить дайте ссылу на хороший самоучителт по пхп
 Аватар для --Rand--
1 / 1 / 0
Регистрация: 09.07.2009
Сообщений: 93
29.10.2009, 17:50
Без них чат будет перегружаться (обновляться) и придется ждать когда он будет постоянно загружаться.. Чтоб этого небыло все это делает невидимый фрейм и средствами JavaScript добавляет в обычный чат сообщения...
ну для такого случая можно аякс использовать, и никакой перезагрузки ! и не надо много фреймов Я сам писал такой чат.
0
 Аватар для --Rand--
1 / 1 / 0
Регистрация: 09.07.2009
Сообщений: 93
30.10.2009, 00:27
Как происходят бои.... С первого взгляда кажется трудно. Но немного подумав, окозалось все элементарно... Создается временная таблица (MyISAM, InnoDB или подобные не подойдут) , например у меня используется HEAP.

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

Узнаешь разницу в параметрах методом сравнения и расчитываешь удары.
Прочитал и все равно не понял. Вот ты мне скажи

1Игрок выбрал "Удар и блок" и нажал "Вперед!!!" ----
2Игрок тоже выбрал "Удар и блок" и нажал "Вперед!!!"

Что с этими данными делается потом??? Они заносятся в БД ??? (Насчет сравнения не надо, это понятно и в меру легко...я не могу понять как считывать ВЫБРАННЫЕ ЗНАЧЕНИЯ персонажей..для последующего сравнения !!!) Бой с ботом могу легко поставить точнее уже поставил(т.к получаю данные только от игрока1, далее извлекаю из Мускл данные бота сравниваю и получаю результат), а вот с другим человеком не получается...я принципов понять не могу. Если не сложно объясни
0
Телепат
 Аватар для Милый Враг
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
03.11.2009, 20:24
Вот ты сделал говоришь бота правильно? У бота те же парамерты что и человека, или другие это не важно.. так почему же не можите это органиховать.. получаем удары и блоки от пользователя, не важно сколько их (игроков), и поступаем так е как и с ботом (имею в виду по тем же расчетам).
или я вопрос не понял*?
0
 Аватар для --Rand--
1 / 1 / 0
Регистрация: 09.07.2009
Сообщений: 93
27.11.2009, 00:37
Вот ты сделал говоришь бота правильно? У бота те же парамерты что и человека, или другие это не важно.. так почему же не можите это органиховать.. получаем удары и блоки от пользователя, не важно сколько их (игроков), и поступаем так е как и с ботом (имею в виду по тем же расчетам).
или я вопрос не понял*?
Все понял уже пришлось пройти курс онлайн, но теперь многое знаю.
0
0 / 0 / 2
Регистрация: 13.01.2010
Сообщений: 129
17.01.2010, 12:42
А может ктото обьяснить сам принцип работы скрипта боя?Самого простого...
К примеру удары-блоки, как я понимаю, это простая форма(form.php), которая отправляет данные в какой-то файл(boi.php).
Причём игрок должен остаться на странице form.php после нанесения удара.Тоесть прнцип такой?Происходит удар/блок, они обрабатываются в boi.php, сравниваются, и тут же идёт перенаправление обратно на страницу form.php, только с обновлённым состоянием боя?
0
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 2
23.01.2010, 19:01
Очень интересная тема. Всем спасибо!
Что касается системы боя то я думаю что тут еще должна быть страница ожидания... или ее же можна использовать как страницу расчетов. Сделать на ней кнопку "обновить" если опонент не провел свой удар и так же сделать авто обновление...

Может кто привести примеры формул расчета урона... при бое.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 04:22
Всем доброй ночи. Решил и я всунуть свой нос
Что я имею Вам сказать, касательно системы боя вашей браузерной игрухи :
В моей теории, ИМХО, систему боя нужно прятать как можно дальше от пхп\браузера(джава скрипт)\пользователя.
я бы сделал так:
основной движок - база данных. к ней делаем механизм, генерирующий события с определенным интервалом времени. например секунда. Тогда, каждую секунду проверяем получил ли движок новые "задания", если да - то обрабатываем их.
Заданием может быть, к примеру:
- Начало боя между двумя соперниками. При этом формируем определенную строку в таблице с указанием соперников, времени начала итд.
- отдельный интервал боя (например кто то нанес удар). это задание записывается в историю и в дальнейшем учитывается при подсчете текущего состояния бойцов.
- много перечислять не буду, поздно и фантазия на нуле)

Вобщем, как то так.
Если в общих чертах....
Есть ядро, которое получает на входе определенные действия пользователей, собирает их в "кеш", и по определенному событию обрабатывает их.
Пользователь же получает в браузере ТОЛЬКО состояние базы данных игрового миря на определенный момент времени. Связь с базой данных - методом отправки "заданий" базе.
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 09:01
opensource, Все что ты описал - и есть работа ПХП скрипта, а не какого-то там Ядра базы данных.
Влиять на выполнения ПХП скрипта пользователь может исключительно в той степени, в какой ты ему это позволил и только косвенно. На то он и серверный скрипт а не браузерный.
База же служит исключительно для хранения данных.
Для этого и существует четкая схема пользователь-сервер-база.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 13:29
Цитата Сообщение от MarsNsk Посмотреть сообщение
Все что ты описал - и есть работа ПХП скрипта, а не какого-то там Ядра базы данных.
Я имел ввиду хранимые процедур СУБД, а не РНР.

Добавлено через 4 минуты
Цитата Сообщение от MarsNsk Посмотреть сообщение
Для этого и существует четкая схема пользователь-сервер-база.
Обработка информации базой данных не ломает вашу схему "пользователь-сервер-база"
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 13:34
opensource, То, что логи боя хранятся в БД - это и так понятно.

Цитата Сообщение от opensource Посмотреть сообщение
Я имел ввиду хранимые процедур СУБД, а не РНР.
Вот это вообще непонятная строка. Что за "хранимые процедур"?

В базе хранятся только основные данные, весь просчет боя ведется в скрипте, например в ходе сессии. А то, что данные отправляемые пользователем в ходе боя нужно хранить в БД - это само собой, так как у нас задействованы 2 пользователя (если система пвп очного, а не заочного), что требует координировать работу скрипта.

Добавлено через 1 минуту
opensource, но дает лишнюю нагрузку на БД, что не очень хорошо, особенно при больших объемах оной.
0
20 / 19 / 0
Регистрация: 16.10.2009
Сообщений: 135
26.01.2010, 13:36
Уважаемый, я не собираюсь вам объяснять что такое хранимая процедура. Возьмите и почитайте.
Хотя бы на википедии.
0
42 / 41 / 3
Регистрация: 04.01.2010
Сообщений: 205
26.01.2010, 13:40
opensource, ну так тогда хранимые процедурЫ, а не хранимые процедур.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2010, 13:40

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
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