Spear
почемучка
Делаю онлайн игру, Есть парочка вопросов, скорее теоритических
Всем привет. Может быть кто-то помнит, примерно пол года назад я создавал подобную темку, задавал несколько вопросов. С того момента было сделано: регистрация, авторизация, чат (со всеми нужными фичами), бои (подача заявок, бой, таблица опыта и прочее. вообщем основа(!) боевой системы), панель настроек персонажей и прочее прочее.
Пока что, правда, даже бета-тест не запускал на общее обозрение - как бы там нибыло, времени у меня было мало и сделана толкьо основа. Вот, это я написал чтобы не думали что все советы уходят в пустую и я зпбросил то, что начал.
И тем е менее огромное кол-во рабыт ещё не сделано, а как реализовать некоторые вещи я не представляю.
То есть представляю но смутно.
Вобщем, не буду тянуть, - вопрос:
как бы это смешно не звучало, в игре ещё не сделана навигация по игровому миру.
Структура которого таковая:
несколько городов (в начале - 2, по мере роста популярности их кол-во будет расти, конечно, думаю, в первый год появится максимум 1 новый город).
Каждый город поделен на районы (около 10 районов на крупный город, 2-3 на мелкий).
В каждом районе - улицы (около 10 на район, зависит от карты).
На каждой улице уже привичные магазины и почие строения.
Собсно вопрос такой - как, черт возьми, это сделать?
я довольно долго думал, но ничего хорошего не выдумал.
Теперь подробнее о навигации:
игрок сможет переходить с улицы на улицу - возможно 4 варианта перемещения - влево, вправо, вперед, назад. Перемещение будет занить некоторое время, до 5 секунд.
далее - районы. Нужно как-то хранить информация о центральной (дефолтной) улице района. Это нужно для того случая, когда игрок не хочет топать из района в район пешком (через десяток улиц) а воспользуется другими средствами передвижения. Например, нужно попасть из района 1 в район 3 - переместить игрока надо будет в какю-то конкрутную для каждого района улицу. Время передвижения уже будет варьароваться, тут надо будет что-то поинтереснее придумать.
ещё круче - перемещение между городами. Схема та же, + нужно хранить дефолтный (центральный) район города, куда будет попадать игрок (а уже в этом районе выбирать дефлтную улицу). Время - еще больше.
---
это все бя написал, чтобы вы имели представление о планируемой схеме передвижения. На самом деле спросить хотел соврешенное другое (блин, дибильная привычка - я всегда очень много пишу). Все, вот вопрос:
как хранить информацию об улицах, и их "содержимом" - имеется ввиду привычная во всех играх графическая карта, на которой расположены сылки на здания этой улицы.
вторая часть вопроса - как лучше хрантиь информацию о местоположении юзера?
---
теперь вот приблизительно что я надумал:
в бд есть таблица улиц, схема такая:
id (уник. номер улицы)
cid (номер города, в котором эта улица)
aid (area id - номер района, на котором эта улица)
name (имя, название улицы)
тут же ещё может быть несколько полей, например означающих какой уровень персонажа должен иметь игрок, чтобы попасть сюда.
вторая таблица - возможные варианты перемещений.
id (улицы, с которой мжно перейти)
id улицы, на которую можно перейти
сторона (влево, вправо, вперед, назад).
по этой таблице будет формироваться панелька навигации для каждой улицы. Пугает объем таблицы:
допустим, 3 города * 10 районов * 10 улиц в районе * 4 (колво вариантов перехода с каждой улици) - 1200 записей в таблице... не много, конечно, но в неё будут сотни тысяч запросов.. хотя да, зря волнуюсь, проехали.
Итак это было касательно БД. Теперь мне же нужно ещё для каждой улицы иметь свой (в большинстве члучаев - уникальный) ХТМЛ код - картинка улицы + ссылки на строения на этой улице.
Есть два варианта -
1. хранить хтмл в таблице улиц (скорее всего код будет вида
<IMG src="images/area/ХХХ.jpg" useMap=#mapХХХ border=0>
<MAP id=MAINMAP name=mapXXX>
<AREA shape=RECT alt=НАЗВАНИЕ ЗДАНИЯ coords=КООРДИНАТЫ ССЫЛКИ href="собсно ссылка">
</MAP>)
2. для каждой уилцы создавать свой файл, например 'sys/area/НОМЕР_УЛИЦЫ.php';
но я не знаю - делают ли так все? То есть добавить ккакое-то здание на улицу - придется возиться с ХТМЛ кодом или РНР... вообщем незнаю - просто
мне интересно, как это делается. Я знаю что на форуме есть несколько человек, разработавших онлайн игры, Я ОЧЕНЬ НАДЕЮСЬ что вас не затруднит раскрыть мне секрет, как же все-таки это делается.
Буду с нетерпением ждать ответа. Заранее благодарю всех, кто сможет помочь любыми советами!
Всем привет. Может быть кто-то помнит, примерно пол года назад я создавал подобную темку, задавал несколько вопросов. С того момента было сделано: регистрация, авторизация, чат (со всеми нужными фичами), бои (подача заявок, бой, таблица опыта и прочее. вообщем основа(!) боевой системы), панель настроек персонажей и прочее прочее.
Пока что, правда, даже бета-тест не запускал на общее обозрение - как бы там нибыло, времени у меня было мало и сделана толкьо основа. Вот, это я написал чтобы не думали что все советы уходят в пустую и я зпбросил то, что начал.
И тем е менее огромное кол-во рабыт ещё не сделано, а как реализовать некоторые вещи я не представляю.
То есть представляю но смутно.
Вобщем, не буду тянуть, - вопрос:
как бы это смешно не звучало, в игре ещё не сделана навигация по игровому миру.
Структура которого таковая:
несколько городов (в начале - 2, по мере роста популярности их кол-во будет расти, конечно, думаю, в первый год появится максимум 1 новый город).
Каждый город поделен на районы (около 10 районов на крупный город, 2-3 на мелкий).
В каждом районе - улицы (около 10 на район, зависит от карты).
На каждой улице уже привичные магазины и почие строения.
Собсно вопрос такой - как, черт возьми, это сделать?

Теперь подробнее о навигации:
игрок сможет переходить с улицы на улицу - возможно 4 варианта перемещения - влево, вправо, вперед, назад. Перемещение будет занить некоторое время, до 5 секунд.
далее - районы. Нужно как-то хранить информация о центральной (дефолтной) улице района. Это нужно для того случая, когда игрок не хочет топать из района в район пешком (через десяток улиц) а воспользуется другими средствами передвижения. Например, нужно попасть из района 1 в район 3 - переместить игрока надо будет в какю-то конкрутную для каждого района улицу. Время передвижения уже будет варьароваться, тут надо будет что-то поинтереснее придумать.
ещё круче - перемещение между городами. Схема та же, + нужно хранить дефолтный (центральный) район города, куда будет попадать игрок (а уже в этом районе выбирать дефлтную улицу). Время - еще больше.
---
это все бя написал, чтобы вы имели представление о планируемой схеме передвижения. На самом деле спросить хотел соврешенное другое (блин, дибильная привычка - я всегда очень много пишу). Все, вот вопрос:
как хранить информацию об улицах, и их "содержимом" - имеется ввиду привычная во всех играх графическая карта, на которой расположены сылки на здания этой улицы.
вторая часть вопроса - как лучше хрантиь информацию о местоположении юзера?
---
теперь вот приблизительно что я надумал:
в бд есть таблица улиц, схема такая:
id (уник. номер улицы)
cid (номер города, в котором эта улица)
aid (area id - номер района, на котором эта улица)
name (имя, название улицы)
тут же ещё может быть несколько полей, например означающих какой уровень персонажа должен иметь игрок, чтобы попасть сюда.
вторая таблица - возможные варианты перемещений.
id (улицы, с которой мжно перейти)
id улицы, на которую можно перейти
сторона (влево, вправо, вперед, назад).
по этой таблице будет формироваться панелька навигации для каждой улицы. Пугает объем таблицы:
допустим, 3 города * 10 районов * 10 улиц в районе * 4 (колво вариантов перехода с каждой улици) - 1200 записей в таблице... не много, конечно, но в неё будут сотни тысяч запросов.. хотя да, зря волнуюсь, проехали.
Итак это было касательно БД. Теперь мне же нужно ещё для каждой улицы иметь свой (в большинстве члучаев - уникальный) ХТМЛ код - картинка улицы + ссылки на строения на этой улице.
Есть два варианта -
1. хранить хтмл в таблице улиц (скорее всего код будет вида
<IMG src="images/area/ХХХ.jpg" useMap=#mapХХХ border=0>
<MAP id=MAINMAP name=mapXXX>
<AREA shape=RECT alt=НАЗВАНИЕ ЗДАНИЯ coords=КООРДИНАТЫ ССЫЛКИ href="собсно ссылка">
</MAP>)
2. для каждой уилцы создавать свой файл, например 'sys/area/НОМЕР_УЛИЦЫ.php';
но я не знаю - делают ли так все? То есть добавить ккакое-то здание на улицу - придется возиться с ХТМЛ кодом или РНР... вообщем незнаю - просто
мне интересно, как это делается. Я знаю что на форуме есть несколько человек, разработавших онлайн игры, Я ОЧЕНЬ НАДЕЮСЬ что вас не затруднит раскрыть мне секрет, как же все-таки это делается.
Буду с нетерпением ждать ответа. Заранее благодарю всех, кто сможет помочь любыми советами!