Результаты поиска
| |
Quieteroks | Дата: Вторник, 30 Апреля 2013, 13:33 | Сообщение # 21 | Тема: Реализация инветнаря |
частый гость
Сейчас нет на сайте
| lvovand, в том то и дело, что не определяют. Не буду же я запрещать игрокам иметь одинаковые предметы в инвентаре. На каждый слот сумки будет конкретное количество одинаковых предметов, при превышении, открывается еще один слот.
Я думал что guid (userid) и bagslot могут как то это гарантировать для сумки, а у экипировки этот показатель слота нужно будет отслеживать и удалять ячейку с слотом. А для экипировки возможно будут гарантировать guid (userid) и slot, и контролировать, что бы не было одинаковых слотов в экипировке.
Но тогда я не совсем понимаю, как реализовать индексы. Нужно тогда два составных индекса, которые будут иметь отношение к одному и тому же полю одновременно. Хотя может я недопонимаю некоторые аспекты работы базы данных...
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Вторник, 30 Апреля 2013, 11:33 | Сообщение # 22 | Тема: Реализация инветнаря |
частый гость
Сейчас нет на сайте
| Tiendil, обновлять строку. Ведь предмет могут перемещать по сумке, могут использовать его (все в слоте или только один из), могут одеть, что повлечет перенос из сумки в экипировку, хоть и в одной таблице.
Цитата (Tiendil) Почему? Если в вопросе без объяснения встречается «не предлагайте это», значит в нём перечислены не все аспекты проблемы. Bigint этот тот же инт, только больше вмешает значений, а проблема остается. Проблема в ограниченности количества строк (пускай даже через пару лет или больше). Поскольку игрок будет собирать лут и после продавать его, то вероятно достаточно быстро лимит может быть исчерпан.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Вторник, 30 Апреля 2013, 00:17 | Сообщение # 23 | Тема: Чат на PHP |
частый гость
Сейчас нет на сайте
| А что именно не понятно?
Вы не можете найти новые сообщения в чат для конкретного пользователя? Тут все просто, выборку делать по дате. Таймштамп шлите дополнительным параметром в ajax ответе и посылайте его при новом запросе, переписывая его в переменной после получения положительного ответа.
Не знаете как системные сообщения реализовать? Так же как и пользовательские, только при формировании шаблона в данном случае обрабатывайте иначе. К примеру системные сообщения всегда от ID равному 1. Обычное условное выражение.
Если же Вам нужен код на js, то тут сложнее, нужно писать учитывая Вашу систему и шаблон.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Понедельник, 29 Апреля 2013, 23:46 | Сообщение # 24 | Тема: Реализация инветнаря |
частый гость
Сейчас нет на сайте
| Здравствуйте.
Имеется таблица Инвентаря (item) и поскольку инвентарь штука капризная, то таблица с автоинкриментом может быстро закончиться, т.е. превысить свой лимит по int полю. В связи с чем, хочу от него отказаться. И тогда будет новая проблема, в запросе будет по 3-4 ключевых поля, которые смогут как либо гарантировать нахождение конкретного предмета в базе.
Структура такая: guid | itemid | slot | baglot | icount
guid - ID пользователя itemid - ID премета slot - место в инвентаре (0 - сумка, 1 - штаны и т.д.) baglot - слот в сумке icount - количество предметов
Для чего слот в сумке? Дабы позволить игрокам сортировать предметы и разбивать/собирать пачки. Соответственно имеется ограничение на количество предметов в одном слоте.
Выборка всей сумки достаточно простая, нужны только guid и slot = 0.
А вот как тогда обновлять? Нужны как минимум 3-4 поля для опознания строки... Подскажите, может какие то индексы составные прикрутить? Какие есть варианты с такой реализацией структуры?
З.Ы. bigint не предлагать...
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Среда, 09 Мая 2012, 20:44 | Сообщение # 25 | Тема: Хранение локации в БД |
частый гость
Сейчас нет на сайте
| Йакуд, если планируется только одна карта, то да. А когда таких карт будет свыше 100? 100 * 10 000 = 10 000 000 Запуск будет весьма длителен для такого запроса. Ладно еще что это всего то запуск и инициализация карт, может не так часто. Но мы же не знаем, что там планируется. Может при запуске командной игры это будет. Один запуск один запрос. И выборка из более чем трех миллиона записей уже проблематично может быть для некоторых систем. И опять таки, смотря как реализуется получение данных из БД. По опыту php знаю, что цикл по обработке 1000 записей уже не приятная штука для быстродействия. С++ конечно с этим в десятки раз быстрее справится. Мне кажется обработать уже полученные данные из строки будет работать быстрее чем построчный из БД.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Среда, 09 Мая 2012, 16:55 | Сообщение # 26 | Тема: Чат в MMORPG |
частый гость
Сейчас нет на сайте
| KVinS, а Вы хотите игроку выдать коды для таких сообщений? Или вы спрашиваете про системное хранение их в той же базе? Я бы сделал так: [private:Игрок] Текст сообщения. И вообще, если это ваша разработка, использовать какие то стандарты в чате не стоит. Разрабатывайте их для себя. Смайлы определенно можно и список выпадающий и дать игроку коды автозамены. Кто то полезет в список, кто то по привычке наберет =) и будет ему смайл. Визуальное оформление конечно можно заимствовать в других играх, там уже устоявшиеся форматы, но и тут опять таки, цветовая гамма должна соответствовать вашей гаме игры. Так же и с форматом. Определитесь, нужно ли вам что-то лишнее. Можете ли сделать настройку "Выводить время сообщения [x]". И вот вам при выборе данной настройки: [16:54] Кот шепчет вам: Привет
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Среда, 09 Мая 2012, 16:43 | Сообщение # 27 | Тема: Хранение локации в БД |
частый гость
Сейчас нет на сайте
| TimKruz, в php есть более хороший способ хранения. base64_encode(serialize(array)) Размер конечно больше получится, но качество восстановления массива гораздо выше. Да и если не ошибаюсь, то implode не обрабатывает многомерные вложенные массивы и не сохраняет ключи, если они нужны. А так же вряд ли в php это реализуется. Если при загрузке сервера карта открывается. А вариант с цифровым преобразованием чисел методом chr/ord интересно. Но ограничение на размер карты повышается. Тогда могу предложить еще цифровые значения преобразовывать в шестнадцатеричные, что их значительно в объеме уменьшит. Конечно не 1 символ, но из 3 уже будет 2.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Среда, 09 Мая 2012, 02:23 | Сообщение # 28 | Тема: Хранение локации в БД |
частый гость
Сейчас нет на сайте
| KVinS, вы можете какую нибудь функцию написать для преобразования массива в строку и функцию распаковки обратно в массив? Это наиболее часто встречающийся вариант хранения таких данных в БД. Просто пакуете массив в строку к примеру 145|25|33;10|26|33;10|27|33 и спокойно записываем в одну ячейку базы. Если же вы хотите иметь возможность менять каждую клеточку, и использовать для этого обновление одной ячейки в базе, то конечно можно и каждую клетку хранить отдельно. Но проще все в одном, а при каком нибудь изменении просто вновь шифруется и обновляется опять таки одно поле. Тем более у Вас загрузка идет в момент запуска, оперативно не получится менять поля. И в итоге на каждую карту у вас одна строчка (локация, карта, тип).
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Вторник, 08 Мая 2012, 21:15 | Сообщение # 29 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| Demeron, хоть один человек в теме. Спасибо, интересные предложения. Подчеркнул для себя еще одну идею. Только тогда в моем примере я вес изначально буду делить на 100, что приведет 6100 к 61, тогда можно будет примерно ориентироваться на Ваш пример.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Вторник, 08 Мая 2012, 20:22 | Сообщение # 30 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| Aquadruos, весьма оригинальное воплощение влияния веса. Ни разу еще о таком не слышал. Но суть вопроса другая. У меня не инвентарь, а экипировка, и влияние не на передвижение, что чаще всего воплощается, в играх. Вопрос именно про ЭКИПИРОВКУ (Куртка/Мантия/Платье, Штаны, Сапоги/Кросовки, Шапка/Шлем, Меч/Пистолет/Копье). И влияние на БОЕВУЮ ХАРАКТЕРИСТИКУ (Скорость, Сила удара, Крит), которые порой рассчитываются из имеющихся характеристик персонажа.
Данный вопрос когда нибудь поднимался в играх кем нибудь? Или может кто то еще предложит какой нибудь вариант расчета какого то коэффициента. Который будет на что то влиять.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Понедельник, 07 Мая 2012, 10:19 | Сообщение # 31 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| Stalker_Shooter, Теперь бы как то учесть повышение силы и выносливости... (mass * (3000 / mass)) / (sila + stamina)
Ладно, завтра потестирую на табличке. Возможно еще предел в виде 7000 / mass добавлю. Результат интересует кого нибудь?Добавлено (07.05.2012, 10:19) --------------------------------------------- После экспериментов пришел к выводу, что данное отношение имеет один переломный момент. Примерно в центре лимитов положительного влияния (у меня это от 3000 до 6000). Для двух переломов, требуется построение параболы. Функция обрела вид:
y = - sqrt(x/27 - 168) + 3000
С такими настройками функции, она выдает примерно два перелома в нужных местах. От 3000 до 6000 у нас положительное число. И тут же сразу недостаток такого подхода, идеальный вес существует. Можно просто одеть меньше экипировки, что приведет к необходимому весу.
Что можно с этим сделать? Что еще можно добавить во влияние?
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Воскресенье, 06 Мая 2012, 22:06 | Сообщение # 32 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| Stalker_Shooter, кстати интересная формула получиться, чуть поколдовать еще с ней... Но нужно опять таки как учесть минимум веса, который будет еще положительно влиять и границу относительно которой уже отрицательно. Может что то типа sila - mass * (3000/mass)...
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Воскресенье, 06 Мая 2012, 21:47 | Сообщение # 33 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| WolfWex, спортзал или обильное питание и отсутствие спорта. Вот тебе и реальный пример увеличения/уменьшения силы и выносливости. В 5 лет ты мог поднять 5кг. В возрасте от 18 ты уже носишь минимум по 20 кг. в руке. Вот тебе пример возрастного роста силы и выносливости. Аналог в игре примерно такой же. Поднял уровень, сила и выносливость тебе в плюс.Так что статические показатели не для игр жанра РПГ. Хотя тут же смотря какой подход к игре...
Подход понятен. Спасибо за предложение. Тогда нужно будет поставить несколько пределов, относительно которых уменьшать/увеличивать показатели. Но тут гибкость низкая. При уменьшении веса на 100г. Вряд ли что то изменится. Если конечно не попадет на промежуток двух пределов. Можно пробовать вес на что нибудь делить и тогда получим % уменьшения/увеличения к примеру.Добавлено (06.05.2012, 21:47) --------------------------------------------- Stalker_Shooter, относительно чего то же нужно смотреть уменьшился/увеличился вес. Я такого показателя не могу вывести. Шмотка не одна и вес совершенно разный. Можешь формулу примерную привести, как можно такую пропорцию построить?
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Воскресенье, 06 Мая 2012, 20:59 | Сообщение # 34 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| romgerman, в Сталкере как я понял вес используется как ограничение на количество переносимого. Тут у меня все же более демократический подход. В Фабл, ту вес игрока и влияет на столь же экзотически показатели. В частности от которых я так понимаю зависят взаимоотношения с НПС. Да и расчетов никаких я не нашел...
Может свои наработки у кого есть, удачно реализованные, которыми не жалко поделиться с народом. Или это только меня подобный вопрос интересует?
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
Quieteroks | Дата: Воскресенье, 06 Мая 2012, 19:25 | Сообщение # 35 | Тема: Влияние веса экипировки на боевые показатели |
частый гость
Сейчас нет на сайте
| Здравствуйте. Начинать с фразы, что я делаю игру как то стремно, все тут кажись что нить делают. Так вот собственно сразу к теме.
У меня в игре для Персонажа используется 6 характеристик: Сила, Защита, Ловкость, Выносливость, Интеллект и Дух. У Экипировки задуман вес. И как его привлечь к моим расчетам, пока не очень могу сформулировать формулу. На боевку характеристики преобразуются в другие показатели, на которые я бы хотел повлиять весом экипировки. Хочу сформулировать формулу, которая бы предоставила мне достаточно динамический показатель от -1 до 1 к примеру. Так же примерно так если прикинуть, то на вес должны влиять показатели силы и выносливости. Чего и пытаюсь добиться.
Начальные значения на 1 уровне: Вес: 6100 Сила: 10 Выносливость: 10
Во всех моих расчетах всегда попадается какой нибудь недочет. В частности, игрок может не одеть экипировку, тогда у него не будет веса, но если экипировка есть, вес должен положительно или отрицательно влиять. И вот я никак не могу высчитать как подобное можно учесть. Как бы и отсутствие веса хорошо по идее, но при этом отсутствие экипировки влияет отрицательно. В пользу использования экипировки добавили ей параметр защищенности, что определенно будет уменьшать полученный урон. А так же увеличение характеристик должно уменьшать данный показатель.
Поделитесь своими наработками, если кто уже делал какое либо влияние веса экипировки. Или помогите что нибудь сформулировать. У меня есть полная табличка средних характеристик на каждый уровень, формулу буду тестировать на ней.Добавлено (06.05.2012, 19:25) --------------------------------------------- Может я чего не так сформулировал... Давайте так. Возможно я взял не верный подход к весу.
Кто нибудь же разрабатывал РПГ со шмотом у которого есть вес? Какой подход в его влиянии на игру был взят? Как реализовывали? Поделитесь опытом. Может у кого есть советы к реализации. Любая информация на тему веса в игре интересует.
Если вам все равно где вы находитесь, значит вы еще не заблудились.
|
|
| |
|