Войти
ПрограммированиеФорумВеб

PHP / MUD / Построение карты

#0
11:45, 20 мар 2021

del

#1
13:55, 20 мар 2021

Сейчас надаю советов не по теме:

- Бери готовый движок MUD, их много, они хорошо проработанные и продуманные. Хотя бы просто попробуй на готовом сделать что-то элементарное, а потом уже делай своё.
- Не загоняйся по оптимизации, совсем не загоняйся, на этом этапе разработки главное получить рабочий прототип. Его потом и будешь по частям оптимизировать.
- Делать MUD (если ты именно его имеешь в виду) на HTTP протоколе — не лучшая идея. Нужно realtime взаимодействие, а HTTP в этом плане не очень хорош.
- Как хранить комнаты в базе не принципиально. Делай сервис, который постоянно крутится и обрабатывает команды игроков. Карту храни в локальной памяти сервиса, так, чтобы она загружалась только при его запуске или при обновлении данных карты админами. Она же у тебя статическая.

>придется делать запрос к БД для начала узнав текущее местоположение, и посмотреть пути, куда можно идти и соответственно сделать активные ссылки.
И это правильно. Просто не надо к БД постоянно лазать, для этого кэш и придумали. Хотя и в БД можно — это мизерная награзука будет скрее всего.

>может есть какие то наработки на php?
На GitHub есть поиск: https://github.com/search?l=PHP&o=desc&q=MUD&s=stars&type=Repositories

#2
2:32, 24 мар 2021

egoros7
> var Player.prototype.goto = function (direction) // не помню как в js прототипы делаются
уже можно просто классы писать. ES6 всеми кем надо поддерживается

#3
21:39, 2 апр 2021

Любой кто знает как написать сайт, знает как написать игру MMO. Соответственно изучайте как делать сайт и как работать с базой данных из PHP.

JanCarlo
> Долго искал наработки но ничего толкового не нашел
достаточно вбить в гугл:
php mmorpg

#4
23:09, 2 апр 2021

Salamandr
> Любой кто знает как написать сайт, знает как написать игру MMO.
Сильное утверждение)

JanCarlo
Для описанной задачи не нужны никакие движки. Дольше разбираться в них будете, чем сами сделаете. Если прямо брезгуете JS, то просто берете html, php, субд (mongodb или mysql сгодятся) и дело в шляпе.

Почему у вас жесткая привязка к php, если не секрет?

#5
1:06, 3 апр 2021

JanCarlo
> То есть если не задать правильную основу, то почти со 100% вероятностью придется всё переписывать в перспективе
вы 100% будете переписывать то, что пишете сейчас. много раз переписывать. это нормально. лучше делайте так, как сейчас удобно. быстрее сделаете - быстрее получите опыт и быстрее научитесь делать лучше.

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

#6
15:48, 10 июня 2021

JanCarlo
> так, что бы можно было добавлять стены с любой стороны у самой локации?
сам спросил
> и доступные направления типа - south - allowed, west - disallowed, up -
> allowed, down - disallowed ну и тд
сам ответил.


Table MAP
ID,
coord (можно как число, можно как три числа), coord_x, coord_y, coord_z
location_id (принадлежность к той или иной карте)

Table LOCATION
ID,
location_name,
location_neighbor (можно через json список. Ну то есть сделать это полем строкой и указать и куда мы можем переходить и координаты ячеек)

ПрограммированиеФорумВеб

Тема в архиве.