Воскресенье, 19 Мая 2024, 13:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » XDominator [389]
Результаты поиска
XDominatorДата: Понедельник, 21 Июля 2014, 19:36 | Сообщение # 161 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Если сбивают с толку скрипты, то можешь просто скопировать их код на место, где они должны стоять. Просто большие и страшные куски кода, в которых с наскока не разберешься, я предпочитаю выносить в отдельные скрипты с понятными названиями, чтобы блоки мне же удобнее было читать в будущем. А первый скрипт вообще нужен будет очень во многих местах, и каждый раз писать один и тот же код не очень то умное решение, особенно если есть вероятность что что-то придется менять. Насчет ии - все правильно. ИИ рождается на сервере, и данные о том что он создался, где и с какими доп параметрами передаются на клиенты. И точно так же все данные передаются, как и координаты игроков.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Понедельник, 21 Июля 2014, 19:37
XDominatorДата: Понедельник, 21 Июля 2014, 00:12 | Сообщение # 162 | Тема: Прилипание к блоку
постоянный участник
Сейчас нет на сайте
Убрать solid у всех объектов

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Воскресенье, 20 Июля 2014, 22:48 | Сообщение # 163 | Тема: Тайлы, вода, фпс.
постоянный участник
Сейчас нет на сайте
Ну если б ты скинул исходник, то я может и сказал бы в чем дело) А так, на основе одного куска кода врядли что то можно сказать.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Воскресенье, 20 Июля 2014, 22:29 | Сообщение # 164 | Тема: Тайлы, вода, фпс.
постоянный участник
Сейчас нет на сайте
Это значит что вместо кусков 32*32 и отрисовки каждого из них, лучше сделать один 3200*3200 и отрисовывать его. А зачем сурфейсу двигаться вместе с персонажем?

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Воскресенье, 20 Июля 2014, 20:48 | Сообщение # 165 | Тема: Тайлы, вода, фпс.
постоянный участник
Сейчас нет на сайте
Почему бы всю воду не развернуть в 1 спрайт, размером в 2-3 отрисовки? Или как вариант - отрисовывать не тайлы, а обычные спрайты, на сурфейс в нужном количестве, а потом уже рисовать нужный кусок этого сурфейса? А уже сверху на него что то накладывать, если там будут какие то другие объекты и рельеф.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Воскресенье, 20 Июля 2014, 16:32 | Сообщение # 166 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Ну так разработчику нужно предусматривать такие ситуации, в этом и смысл защиты.а от того что все сделано на студии вообще ничего не зависит

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Суббота, 19 Июля 2014, 15:00 | Сообщение # 167 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Ну как взломать. Если предположить что разработчик и держатель сервера не полное дно, то максимум что ты можешь попробовать сделать - это подмену пакетов. Но при правильной архитектуре сервера, даже это ничем не поможет юному хацкеру smile так что читы и хаки - 99% заслуга кривых рук разраба и только 1% - гения писателя чита.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Пятница, 18 Июля 2014, 13:10 | Сообщение # 168 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Потому что зачем нам отправлять данные о движениях пуль, если клиент их может рассчитывать сам? Пуля в клиенте - всего лишь необходимая визуализация, но никакого практического смысла она не несет, кроме сообщения юзеру того что "она где то тут есть". А какой смысл ломать визуализацию? А вот если таких пуль у нас скажем одновременно сотня - и постоянно отправлять их координаты - вот это действительно серьезная недоработка по оптимизации.

Добавлено (18.07.2014, 13:10)
---------------------------------------------
Хороший пример такого "взлома" - скажем взлом адены в lineage 2 с помощью artmoney. Ты можешь нарисовать любое число в инвентаре и ходить с ним, но как только количество адены изменится - то тебе с сервера придет новое, реальное число адены. А так да, ее можно нарисовать сколько угодно)))


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Пятница, 18 Июля 2014, 08:55 | Сообщение # 169 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Если она попала на сервере - отнимется. Тогда происходит рассылка всем клиентам о попадании пули в такую то цель. Но попадания на клиентах не должны учитываться в игре, тут ты прав.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Пятница, 18 Июля 2014, 08:53 | Сообщение # 170 | Тема: Помоги продумать логику...
постоянный участник
Сейчас нет на сайте
Собственно в данном случае ответ действительно прост - просто возьми и попробуй так написать) Дело в том что на самом деле, индексы спрайта разработчик и гамак видят по разному. Для гамака каждый спрайт обладает своим внутренним ID, который ничто иное как просто число. Собственно, обращаясь к спрайту по имени, ты просто задаешь гамаку указание найти спрайт с таким именем и забрать его ID, с которым уже и работают все функции, связанные со спрайтами. Поэтому строка draw_sprite(sprite_id, x, y) - корректна, если ты будешь действовать по предложенной мной схеме. А убедиться в том что спрайты - это цифры, можешь очень просто. Воткни нескольким объектам куда нибудь, например в left pressed, строку: show_message(sprite_index) и пощелкай на них в игре.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Четверг, 17 Июля 2014, 19:01 | Сообщение # 171 | Тема: Помоги продумать логику...
постоянный участник
Сейчас нет на сайте
У объектов есть встроенная переменное - sprite_index. Это идентификатор спрайта, изначально он ставится объекту когда ты выбираешь для него спрайт в окне редактирования. Таким образом, обращаясь к любому объекту, ты можешь брать его sprite_index и использовать где угодно. Вопрос в том как у тебя устроено пожирание. Если дпустить что оно происходит в destroy в объекте еды, тогда пишешь что то вроде:

o_player.sprite_id = sprite_index

и у тебя запишется в объект игрока в переменную sprite_id идентификатор спрайта вызывающего объекта, который ты уже можешь пользовать в draw_sprite. Но вообще, я конечно не знаю механики всей твоей, но более чем уверен что для еды было бы правильней использовать единый объект, а его свойства разделять на разные виды еды с помощью дополнительной переменной, отвечающей за тип.


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Четверг, 17 Июля 2014, 12:44 | Сообщение # 172 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Так коллизии мы учитываем только на сервере, какая разница что ты взломаешь на клиенте? ну подвинешь пулю к цели, но условием отъема хп цели является пришедший пакет об этом с сервера, клиент не отправляет данных о попаданиях. В этом и суть.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 16 Июля 2014, 21:44 | Сообщение # 173 | Тема: Твердость тел и вопрос на проверку
постоянный участник
Сейчас нет на сайте
Вообще советую взять за правило, никогда не пользоваться галкой solid вообще. С ней страшно глючат коллизии)

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 16 Июля 2014, 21:39 | Сообщение # 174 | Тема: Создание ККИ
постоянный участник
Сейчас нет на сайте
Сложно сказать, как именно реализовать такую игру, поскольку я лично сам в жизни в такие игры не играл и даже не видел, и не представляю их механик, но думаю что тебе стоит отталкиваться от флага persistent, который есть у объектов и комнат.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 16 Июля 2014, 21:37 | Сообщение # 175 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
нельзя, будь внимательней) Смысл взлома в том чтобы обеспечить попадание, в нашем случае. Ты можешь взломать клиент и послать ее хоть в какую сторону, и попать ей хоть 100 раз в другой объект, но это не будет иметь смысла, потому что столкновения просчитываются на сервере smile А так да, можно и взломать, только вот пользы от такого взлома...

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 16 Июля 2014, 18:33 | Сообщение # 176 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Все в принципе так как описал aFriend, только вот последний пункт не нужен, пуля двигается в клиентах, а сервер сообщает клиентам только о случаях столкновения пуль с чем-либо:)

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 15 Июля 2014, 22:46 | Сообщение # 177 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
посмотрим, пока общественный резонанс не особо активный smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 15 Июля 2014, 20:03 | Сообщение # 178 | Тема: Проблема с APK файлом
постоянный участник
Сейчас нет на сайте
У меня наблюдалась подобная проблема именно из-за подгрузки и разжатии звуков при старте, после чего я переделал звуки и все стало нормально smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 15 Июля 2014, 19:19 | Сообщение # 179 | Тема: Проблема с APK файлом
постоянный участник
Сейчас нет на сайте
а под виндой нормально запускается? Звуки есть?

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 15 Июля 2014, 16:25 | Сообщение # 180 | Тема: GMS Networking: Tutorial
постоянный участник
Сейчас нет на сайте
Неохота заморачиваться с видео если честно) да и хуже оно все таки чем просто текстом, текст всегда можно поправить если что то забыл или не так сказал. насчет динамических объектов - с ними работа не отличается от того что я привел выше, с той лишь разницей что нам не нужно передавать их координаты, например. Если мы стреляем на клиенте, то мы на самом деле не стреляем, а посылаем пакет серверу, который как бы говорит - хочу стрелять. Если сервер разрешает(т.е. нет откатов или еще чего либо) - тогда всем игрокам рассылается пакет, что такой то клиент выстрелил. И все клиенты создают в указанной точке объект-пулю. А дальше эта пуля живет по одинаковым законам на клиенте и на сервере, с той лишь разницей что например попадания на клиентах учитываться не будут, а будут только на сервере, и если пуля попала - опять же сервер отсылает всем клиентам инфо что такая то пуля попала туда то и ее нужно уничтожить. Из-за времени отклика тут конечно очевидны сразу проблемы, связанные с пингом и всем таким, но в целом - вполне юзабельная схема smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
Форум игроделов » Записи участника » XDominator [389]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг