Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28

Игра-бродилка на js/html/css

25.01.2025, 08:39. Показов 3263. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Некоторое время назад я решил попробовать написать простую игру на js/html/css с помощью нейросетей. Понимаю, что ничего оригинального и прорывного я не создаю, подобное делалось до меня миллионы раз, но все же. С js я знаком буквально на уровне азов, с html и css ситуация чуть получше. Игра писалась (пишется) с нуля. Я бы может и подсмотрел бы где нибудь идеи, но решил, что если уж эксперимент, то "чистый" :}
Изначально писалось для ПК, потом пришла идея ее как-то под браузер телефона подогнать

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

Что реализовано:

есть игровое поле. есть управление с клавиатуры и кривоватое управление мышкой/пальцем
есть нечто вроде примитивной графики
есть зачатки баланса

Все это, надеюсь, со временем допилится до более-менее нормального вида, если не надоест этим заниматься :}

На данный момент есть проблема (ну или ошибка, если хотите), которую пока никак не удается устранить: так как все генерируется рандомно (кроме начальной позиции игрока), так или иначе игрок (или алмаз, или и то, и то вместе) может появиться в клетке, запертым с четырех сторон стенами. Как вариант - в некоем пространстве из нескольких клеток, из которого нет выхода (игрок) или в которое не попадешь (алмаз). Я пытаюсь это как-то решить таким образом, чтобы, например, у любой клетки на поле было не больше 3 стен с каждой стороны. Не выходит. Я пытался ограничить количество стен непосредственно вокруг алмаза - тоже не получается. Да, я учитываю и края поля (они тоже могут выступать как стена)

Вобщем, как-то так. Может у кого-то будут какие-то идеи или предложения - рад буду услышать. Конструктивная критика тоже принимается. Ссылка на codepen ниже. Также к посту прикрепляю архив, в нем 3 файла - страница, файл скрипта и картинка джойстика

https://codepen.io/whyxsrnb-th... en/qEWJRjp

Спасибо, что дочитали :}

P.S. На codepen нечто вроде "стабильной версии", в архиве как бы "ночная сборка". Все работает
Вложения
Тип файла: zip game.zip (57.6 Кб, 2 просмотров)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2025, 08:39
Ответы с готовыми решениями:

Браузерная игра: JS, html, css
Добрый день. Ко всему html, js и css коду, каждый пользователь имеет доступ. И сразу могут возникнуть проблемы: каждый сможет свободно эту...

Как лучше начинать изучать HTML и CSS с нуля? (И в ответ на теме: Что почитать по HTML, CSS )
Сначала думал ответить в в соседней теме от вчерашнего дня: "Что почитать по HTML, CSS, JS", но увидел, что тема закрыта для...

Что оптимальнее HTML + CSS + JS + С# или HTML + CSS + JS + Java и для каких задач?
Объясните, пожалуйста что оптимальнее и для каких задач HTML + CSS + JS + C# или HTML + CSS + JS + JAVA?

23
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
27.01.2025, 11:28  [ТС]
Всем привет!

Без излишних предисловий - сразу к сути

Мне частично удалось решить главных баг с "запиранием" героя или алмаза - я убрал генерацию вертикальных стен и раставил тыквы как препятствия. Вероятность коллизий существенно уменьшилась :)

Добавил динамики - есть ловушки, летают безвредные привидения, есть бонусные уровни. Переделал, с позволения сказать, графику - она стала "мягче", по крайней мере - для меня. Я верстаю в IE6 1024x768 Опере, у меня цветные текстовые иконки, а не смайлики (см. скрин)

Слева под джойстиком появилось информационное табло с событиями игры

Подогнал поле под ширину окна браузера - стало получше выглядеть :)

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

Актуальная версия: https://codepen.io/whyxsrnb-th... en/qEWJRjp

Во вложении архив. Там страница с игрой, изображение джойстика, скрин игры и техстраница для "отлова" ловушек через консоль (для читерства)

Буду рад отзывам. Спасибо, что дочитали :)
Миниатюры
Игра-бродилка на js/html/css  
Вложения
Тип файла: zip game.zip (166.5 Кб, 2 просмотров)
2
Just Do It!
 Аватар для XLAT
4202 / 2659 / 654
Регистрация: 23.09.2014
Сообщений: 9,003
Записей в блоге: 3
28.01.2025, 01:09
Цитата Сообщение от frogressive Посмотреть сообщение
Может у кого-то будут какие-то идеи или предложения
а в вашу команду меня возьмете?

но в html/js я нуб...
0
Software Engineer
 Аватар для Custos
332 / 335 / 55
Регистрация: 23.09.2014
Сообщений: 987
28.01.2025, 16:59
frogressive, лучше заливайте на github
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
31.01.2025, 18:11  [ТС]
XLAT, как таковой "команды" нет - есть я и вечно тупящие нейросети, вот и вся команда :) а что касается "я нуб" - так я такой же нуб-аматор. с js я знаком (я уже писал об этом) на уровне азов - не то, что бы он прям "лунные руны", но где-то близко. да, я примерно понимаю, что такое функции-константы... и всё. все "исходники" есть, вы можете сами что-то попробовать в них добавить/изменить. могу подсказать, с чего можно было бы начать. ну вот как-то так ¯\_(ツ)_/¯

Custos, согласен, но пока там для меня разобраться очень сложно, да и лень, если честно. хотя проект разрастается, и придется таки этим заняться
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
31.01.2025, 19:29  [ТС]
И опять всем привет!

Решил таки почаще вылаживать "обновления". Да, оно еще все очень сырое, но, тем не менее, игра работает, поэтому вот свежий релиз :) Ну и ближе к сути

Реализован многопользовательский режим - есть авторизация и запись результатов в общую таблицу. Авторизация через js, запись в таблицу через php. Позже сделаю авторизацию (с предварительной регистрацией) через php. Пока что все аскетично, но это не главное, допилится

Переделал дизайн левой колонки - все стало аккуратнее и компактнее. Доделал джойстик. Добавил кнопки - при game over теперь можно либо начать игру заново, либо сохранить результаты в общую таблицу

Переиграл параметры - теперь есть жизнь (враги), энергия (движение) и деньги (достижение). Ну плюс лвл, само собой

Перебалансировал баланс (^:^), теперь у собираемых предметов есть рандом

На поле теперь есть, помимо ловушек, башни - пуляют в героя ядра - могут попасть, могут нет. Бродят враги - могут напасть, придется отбиваться (кнопка "атака" в наличии). Телепорты телепортируют, безобидные приведения по прежнему безобидны :)

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

По прежнему коллизии игры на месте

Вобщем, кому интересно - тестируйте, как всегда буду рад замечаниям. Все файлы игры в архиве во вложении. Чтобы протестировать прям все - надо будет запускать через локальный сервер (XAMPP, OpenServer и т.д.), таблица результатов генерируется через php

На этом пока всё. Всем спасибо за внимание!
Миниатюры
Игра-бродилка на js/html/css  
Вложения
Тип файла: zip roomdoom.zip (222.9 Кб, 5 просмотров)
1
Модератор
Эксперт Java
 Аватар для alecss131
2852 / 1360 / 405
Регистрация: 11.08.2017
Сообщений: 4,342
Записей в блоге: 2
31.01.2025, 21:13
А зачем кнопки от сони пада? Думаю в это будут играть на компе с виндой, а к ним пады от пс подключаются с гемороем. Для них родные пады от коробки, а там XYAB, не говоря о том что большинство играют на клавосышке
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
31.01.2025, 21:30  [ТС]
alecss131, нет никакой привязки к физическим джойстикам, "крестик" реализован для управления мышью/пальцами (если, допустим, с телефона). все управление по умолчанию через клавиатуру, это просто как доп'опция
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
07.02.2025, 22:08  [ТС]
...
Миниатюры
Игра-бродилка на js/html/css  
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
08.02.2025, 11:24  [ТС]
Всем привет!

Жаль, что тема не вызывает особого интереса. Но, так или иначе, разработка продолжается. Я выложил игру на свой "домашний" хостинг, все новости теперь будут там. Доступна простая регистрация и занесение результатов игры в общую таблицу

Вобщем, сюда: wicca.pp.ua/roomdoom
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
08.02.2025, 12:38
Цитата Сообщение от frogressive Посмотреть сообщение
Жаль, что тема не вызывает особого интереса.
Ну, тут форум "тыжпрограммистов", больше по коду подскажут чем игру оценят. По гемплею наверное есть смысл пытаться на itch.io выложить бету, но учитывая её вид -- не уверен что наберёться много желающих опробовать.
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
08.02.2025, 20:35  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
но учитывая её вид -- не уверен что наберёться много желающих опробовать
Согласен, но на js норм дизайн и не сделаешь. Да и цели такой не стояло
0
Just Do It!
 Аватар для XLAT
4202 / 2659 / 654
Регистрация: 23.09.2014
Сообщений: 9,003
Записей в блоге: 3
08.02.2025, 21:29
Цитата Сообщение от frogressive Посмотреть сообщение
но на js норм дизайн и не сделаешь
на чем делать норм дизайн
Library 2024
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
08.02.2025, 22:41  [ТС]
XLAT, а у меня нет библиотек
0
Just Do It!
 Аватар для XLAT
4202 / 2659 / 654
Регистрация: 23.09.2014
Сообщений: 9,003
Записей в блоге: 3
08.02.2025, 23:19
Цитата Сообщение от frogressive Посмотреть сообщение
а у меня нет библиотек
если хотите чтобы ваша картинка была достойного образца,
то вам придется их написать в ручную.

но только нафика, если можно использовать готовые?

иначе результат будет, что-то типа студенческой лабы, максимум курсовика...
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
09.02.2025, 06:39
Цитата Сообщение от frogressive Посмотреть сообщение
но на js норм дизайн и не сделаешь
Спорно, но и не обязательно. Индюшатина, тем более в изометрии с примитивным графонеем -- обычное дело, и люди не редко играю и в такое. Всякие Ib или Ведьмин домик не то чтобы сильно графонистые, но люди с удовольствие их проходили. На js 100% можно набрать похожее, особенно если шарить за движки или хотя бы работу с canvas.

Я немного потыкал вашу поделку на сайте -- через время игра повисла, а CPU несколько засуетился. Ещё со старта не работали клавиши "влево-вправо" которые на вашем скрине (с клавиатуры стрелочки работали). Игра 100% сырая даже для беты.
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
09.02.2025, 08:03  [ТС]
XLAT, в ТС я уже писал, что проект - чистый эксперимент. JS я не знаю, все пишут нейросети. К библиотекам я даже не знаю, с какой стороны подходить. Графон максимально примитивный, но так и задумывалось - я, к примеру, так и не добился, чтобы вместо графических смайликов показывались текстовые ☺ В хроме и опере все более-менее нормально, в мозилле и с телефона все максимально вырвиглазно

Wolfdp, тема называется "бета-тестирование", так что вопросы не ко мне 8) То, что все сыро и убого - так я и не спорю. С кнопками вправо-влево действительно бида (вверх-вниз работает нормально) - как их не корректируй, все равно все постоянно сползает. Надо просто их заменить на простые кнопки (это которые button), это да. Странно, что у вас что-то "виснет", в коде нет ошибок, можете посмотреть через консоль. Коллизии на месте, я пока не знаю, как от них избавиться
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
09.02.2025, 09:22  [ТС]
Убрал джойстик, добавил кнопки. Так действительно проще и функциональней
Миниатюры
Игра-бродилка на js/html/css  
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
09.02.2025, 12:08
Цитата Сообщение от frogressive Посмотреть сообщение
Так действительно проще и функциональней
С точки зрения юзера функциональнее было бы иметь возможность кликать прям по клетке, куда ожидается перемещение. Реализовать это очень просто.

Цитата Сообщение от frogressive Посмотреть сообщение
JS я не знаю, все пишут нейросети.
Пока я не видел примера, чтобы от нейросети можно было добиться вменяемого конечного результата. Если будете строго через них писать -- думаю с текущими ИИ далеко не уедете.
0
 Аватар для frogressive
26 / 8 / 0
Регистрация: 02.11.2022
Сообщений: 28
09.02.2025, 13:18  [ТС]
Wolfdp, если писать мобильную игру - согласен, можно (нужно) переходить по 'тапу' пальцем (сам в такую играю). Сделать "мобилку" пока цель не стоит - тут хотя бы довести до ума, чтобы в браузере нормально все отображалось (да и какая "мобилка" на js, ну в самом деле?). Реализовать 'тапы' я тоже, наверное, смогу - но тут ломается логика игры, "у меня все ходы просчитаны"

По второму пункту пока не готов что-то обсуждать - все пока очень скользко. Но то, что ИИ тупые (не глупые, а именно тупые) - однозначно. Всякие эти ваши (их) "курсы" и прочий шлак по теме КАК ПРАВИЛЬНО ДАВАТЬ ЗАПРОСЫ ПРОМПТЫ НЕЙРОСЕТЯМ - мусор полнейший, это не работает. Но пока что я как-то справляюсь :Ъ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.02.2025, 13:18
Помогаю со студенческими работами здесь

Старые добрые HTML и CSS или новые HTML 5 и CSS 3?
Здравствуйте ) Дело собственно вот в чем. Я хочу на лето заняться изучением создания сайтов. Посоветуйте с чего мне лучше начинать...

Задача по HTML и CSS: работа с абсолютным и относительным позиционированием в CSS
Добрый день или вечер, у меня возникла проблема, почему-то в html не отображается css, хотя ссылка на него есть. И даже пробовал писать...

Зацените/покритикуйте видео по html/css (тема - пример создания анимации в css)
Всем привет. Сделал свой первый видеоролик по сайтостроению и вёрстке. Не уверен, насколько хорошо получилось, так что обращаюсь к...

Как сделать вот такой макет через html и css (div и css)
Доброго времени суток.Подскажите как сделать по скрину ?* что бы было Лого на весь экран вот тот серый цвет и меню тоже на весь экран.По...

Css добавление блока в низ страницы html css
Как сделать так, чтобы при добавлении блока вниз страницы остальные блоки(добавленные до этого блока) сьезжали вверх


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru