Можно ли на php писать игры

Вебсокеты на PHP. Часть 3. От чата до игры: Battle City

В предыдущих двух частях (Делаем вебсокеты на PHP с нуля и Межпроцессное взаимодействие) в качестве демонстрации я использовал чаты, но в этой статье на примере онлайн-игры я покажу, что сфера применения вебсокетов может быть гораздо шире.

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

Поддержка вебсокетов браузерами

Некоторые считают, что вебсокеты ещё рано использовать, потому что они поддерживаются ещё не всеми браузерами. Поэтому, если их использовать, то только совместно с альтернативными транспортами: Adobe® Flash® Socket, AJAX long polling, AJAX multipart streaming, Forever Iframe, JSONP Polling.

Википедия нам подсказывает, какие браузеры поддерживают вебсокеты:

Google Chrome (начиная с версии 4.0.249.0);
Apple Safari (начиная с версии 5.0.7533.16);
Mozilla Firefox (начиная с версии 4);
Opera (начиная с версии 10.70 9067);
Internet Explorer (начиная с версии 10);

Как мы видим, самым слабым звеном является Internet Explorer с версиями меньше десятой. Согласно статистике liveinternet, для России — Internet Explorer с версиями 9, 8, 7 и 6 имеет доли 1.4, 1.7, 0.5 и 0.1 процентов соответственно. Суммарно получается 3.7%. Если добавить к этой цифре ещё пользователей с устаревшими версиями других браузеров, то итоговая оценка может немного увеличиться, но, не думаю, что она станет больше 4%.
Основываясь на этом, каждый должен решить для себя сам — нужно ли поддерживать зоопарк альтернативных транспортов или забыть про этих пользователей и жить дальше.
Справедливости ради хочу сказать, что за рубежом доля Internet Explorer больше, и ситуация с поддержкой вебсокетов там соответствующая. Согласно статистике с сайта w3schools Internet Explorer с версиями 9, 8, 7 и 6 имеет доли 2.3, 3.1, 0.4 и 0.1 процентов соответственно, что в сумме составляет 5.9%

Разработка онлайн-игры

все игроки должны находиться на одной карте и иметь возможность взаимодействовать с любым другим игроком

Таким образом я реализовал танки двигающиеся по экрану.

Так как я рассчитывал где-то на 50 — 500 одновременных игроков, стало понятно, что все танки на один экран не влезут, поэтому я ограничил область видимости танка до размеров обычного поля Battle City, а также добавил миникарту. Из-за того что на оригинальном чёрном фоне непонятно, то ли движется танк, то ли всё остальное, мне пришлось использовать текстуру. Если вы можете предложить лучший вариант текстуры, оставьте пожалуйста ссылку на неё в комментарии.

Использовать функцию stream_select с таймаутом — плохая идея. Если вы всё же решились, то рекомендуем использовать таймауты больше хотя бы 200.000 микросекунд.

С моим таймаутом 100.000 микросекунд загрузка процессора составляла 100%.

На этом, вроде, можно было остановиться — цель «взаимодействие» была достигнута, но хотелось большего.

Умные люди пишут, что event_timer это по сути буфер, который имеет таймаут, и я решил поискать, можно ли сделать что-то похожее на stream_select, но, увы, безрезультатно. Если вы знаете, как это сделать, пожалуйста, напишите в комментариях.

В результате чего загрузка процессора около 0%.

Теперь ничего не мешало мне добавить возможность стрельбы, но, по просьбам друзей, я решил оставить возможность «столкновений».

Благодарности

Я хотел бы поблагодарить всех тех, кто обращал моё внимание на недочёты в моём коде в первых двух публикациях:
Skpd, pavlick, mayorovp, truezemez, Fesor, sovok_kpss, spein, seriyPS
Спасибо вам большое и, конечно же, +1 в карму.
Благодаря вам удалось добиться стабильности для получившейся библиотеки и более глубокого понимания для меня.

Источник

Можно ли на PHP написать игру-стрелялку

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

Можно ли написать игру однорукий бандит на PHP?
Добрый день, господа! У меня такой вопрос, можно ли с помощью PHP и java написать игру однорукий.

Скиньте простую игру-стрелялку
Скиньте кто обычную, простенькую игру стрелялку написанную на C# пожалуйста

Создать простую графическую игру-стрелялку
Задание:есть игрок,который преодолевает препятствия(можно сделать 2-3 штуки,к примеру перепрыгнуть.

Создать простую графическую игру-стрелялку
Нужно создать обычную вертикальную космическую стрелялку. Никак не получается этого сделать. не.

Нет не на чистом php html,css,java.

Самую простую помогите пожалуйста сделать.

Надо либо выучить основы PHP, JS и CSS(и сразу будет понятно, как делать), либо нанять программиста.
Других вариантов не дано.

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

Помогите новичку создать игру стрелялку
Здравствуйте, форумчане! С знакомлюсь actionscript только третий день. Мне необходимо сделать.

написать 2D Silverlight бродилку-стрелялку
Вообщем задался такой задачей. написать 2D Silverlight бродилку-стрелялку. подскажите с чего.

Можно ли создать online- игру на PHP?
Можно ли создать online- игру на PHP? Или без других технологий не обойтись?

Можно ли на C++ написать браузерную игру?
На чём лучше сделать простую игру браузерную? html5 или флеш?

Источник

H Игра на чистом PHP — миф или реальность? в черновиках

Какую же игру выбрать для реализации? Воображение сразу же подсунуло целую кучу срелялок-леталок (спасибо 8 битному детству), но разум подсказывал — начни с простого. Поэтому я выбрал старые добрые крестики-нолики.

Для себя решил, что игра должна быть обязательно консольной (PHP игра, которая исполняется в браузере — слишком простая задача, а я не ищу легких путей). Все готово, пора начинать наш квест.

Шаг 1: игровое поле

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

Шаг 2: ход игрока

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

При этом не забываем контролировать и проверять выбор игрока.

Шаг 3: ход компьютера

Самый простой вариант — что называется «пальцем в небо», простая случайная выборка.

Но давайте добавим нашем сопернику немного интеллекта.

Шаг 4: кто же выиграл

После каждого сделанного шага (как игрока так и компьютера) следует проверять не появился ли победитель.

Шаг 5: интерактивность

Перед тем, как рисовать обновленное игровое поле, надо стереть старое. Казалось бы, что может быть проще — просто очищаем весь экран.
Но тут меня ждал неприятный сюрприз. Конструкция

не работает, если консоль запущена из-под Windows. Панику в сторону. Подход «гугл в помощь» в конце концов принес таки долгожданный результат.

Шаг 6: идем дальше

Объединяем все кусочки пазла в один класс — и вот, желаемая вершина достигнута GitHub. Однако оглянувшись я увидел, что это вершина не горы, а только маленького бугорка, а глаза уже смотрят туда, где вдалеке маячат консольные PHP экшены и игры на чистом sql.

Источник

Как писать браузерные игры?

Текстовые браузерные игры
Здравствуйте. Подскажите пожалуйста, какие знания нужно иметь, или может есть какая cms для.

Как запретить браузерные игры?
Здравствуйте! Меня попросили сделать так, чтобы на компьютере, работающем на Windows 7.

Браузерные игры
Здравствуйте. Хотелось бы Вам задать такой вопрос, какой язык больше подходит для создания.

Вопрос какой-то очень общий, аля «Хочу построить самолет. Что делать»?

Для начала необходимо выбрать языки программирования и технологии, которые максимально подойдут для реализации проекта. Грубо говоря, необходимо определиться на чем будет «написана» игра. Прежде всего нужно выбрать серверный язык программирования (PHP, Perl и т.д.) и СУБД (MySQL, PostgreSQL и т.д.).

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

Чем это сделать? И игра морская.

Добавлено через 4 минуты
Из диздока:

Добавлено через 37 секунд
Из диздока:

Из того, что нет 3D контекста в теге canvas, этого не следует, DirectX сам тоже рисует на плоскости, но принимает трёхмерные координаты. Такой же посредник нужен и мне, только не между нативным приложением и плоскостью физического экрана, а между скриптом и 2D-контекстом тега canvas. Или рекомендации по разработке такого движка. Какую то ссылку на 3D-движок мне уже давали, но по той ссылке я запутался в английском и до движка не добрался, а с ослов спорить не буду, может его пока и нет. Если всё же и движок писать, то как лучше представить сцену и объекты? Как реализовать проецирование сцены на плоскость? Как сделать полноцветное рисование? Как анализировать видимость? Как отсекать?

Добавлено через 5 минут
Как сделать волны? Животных? Корабли? В игре должны быть средневековые пушки. Как сделать полёт ядра при выстреле и такой пушки? Как считать поражение корабля при попадании? Как учесть рельеф дна? И с точки зрения осадки кораблей (они не могут ходить по мелям) и с точки зрения цвета воды.

Добавлено через 2 минуты
Из диздока:

Источник

Сложно ли создать онлайн игру? [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.

Сложно ли создать онлайн игру, например, Гонки?

Можно ли на php писать игры. Смотреть фото Можно ли на php писать игры. Смотреть картинку Можно ли на php писать игры. Картинка про Можно ли на php писать игры. Фото Можно ли на php писать игры

3 ответа 3

Достаточно многое зависит от Ваших возможностей. Ведь на вопрос: «Сложно ли построить дом?» ответить однозначно нельзя. Вопрос оценивается от масштабов. Это может быть как будка, так и вила высшего класса.

Эта тема также относится к Вашему вопросу. Игры могут быть двухмерные, так и трехмерные с открытым миром и высококачественной графикой. А могут быть что-то вроде тетриса. Нельзя забывать о физике и режимах игры в «онлайн». Даже тот же онлайн, можно трактовать по разному. Можно сделать игры на время ( гонка по одному), а можно сделать режим реального времени (чтобы ездить на трассе с другими игроками). Но тут вопрос идет в сторону сети(пинг, проблемы с интернетом, все это нужно будет продумывать. )

В целом, основным фактором является уровень Ваших знаний или команды, наличия времени и желание

Можно ли на php писать игры. Смотреть фото Можно ли на php писать игры. Смотреть картинку Можно ли на php писать игры. Картинка про Можно ли на php писать игры. Фото Можно ли на php писать игры

Броузерные онлайн игры. Это обычно игры, типо текстовых, но есть и другие, стратегии там, и так далее. Тут преимущественно веб языки, плюс Flash, но можно и java-апплеты применить (хоть и технологии разные,возможно многие думают,что они умирают,но писать на них можно)

Плюс не забудьте, что в онлайне, чтобы играть нужны сервера, и подобие онлайн сервиса, у вас же будут игроки регистрироваться, значит база нужна, чтобы игра с ней соединялась, для выставления статистики и так даллее. Вот вам это на обдумывание, правильно многие советую, не пишите сразу 3D шутер, лучше напишите сначала текстовую игру консольную, а там дальше пойдет. Удачи)

Я свое время занимался созданием браузерной мобильной игры. Ушло у меня на нее полгода (было реализовано регистрация, авторизация, обучение, режим карьеры, покупка/продажа недвижимости, автомобилей, тюнинг, детали, был реализован открытый мир с возможностью встретить на дороге другого игрока (и это все в пределах wap браузерной игры), был режим драга даже, с переключением передач, но работал он откровенно плохо т.к. постоянно обновлять страницу что бы узнать когда переключать передачу, были персонажи и диалоги, гонки с ботами и чемпионаты, было достаточно много по тем меркам народу, но этим всем занимался я сам, было крайне трудно, да и это скорее хобби было, а не серьезный проект, но вот что хочу сказать, создавать легко, если у тебя есть идея, цель, знания и настрой, но в итоге это все канет в небытье в любом случае, ибо тебе надоест или ты увидишь, что это бесперспективно, по этому или работа командой или забей на это дело вообще. К слову, на проект я подзабил и с хостинга потом удалили, а исходники сгорели вместе с жестким диском, остались только воспоминания.. Вот такие дела

Можно ли на php писать игры. Смотреть фото Можно ли на php писать игры. Смотреть картинку Можно ли на php писать игры. Картинка про Можно ли на php писать игры. Фото Можно ли на php писать игры

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php html css разработка-игр или задайте свой вопрос.

Похожие

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *