Результаты поиска
| |
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 |
постоянный участник
Сейчас нет на сайте
| Ну как взломать. Если предположить что разработчик и держатель сервера не полное дно, то максимум что ты можешь попробовать сделать - это подмену пакетов. Но при правильной архитектуре сервера, даже это ничем не поможет юному хацкеру так что читы и хаки - 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 раз в другой объект, но это не будет иметь смысла, потому что столкновения просчитываются на сервере А так да, можно и взломать, только вот пользы от такого взлома...
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 |
постоянный участник
Сейчас нет на сайте
| посмотрим, пока общественный резонанс не особо активный
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
XDominator | Дата: Вторник, 15 Июля 2014, 20:03 | Сообщение # 178 | Тема: Проблема с APK файлом |
постоянный участник
Сейчас нет на сайте
| У меня наблюдалась подобная проблема именно из-за подгрузки и разжатии звуков при старте, после чего я переделал звуки и все стало нормально
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 |
постоянный участник
Сейчас нет на сайте
| Неохота заморачиваться с видео если честно) да и хуже оно все таки чем просто текстом, текст всегда можно поправить если что то забыл или не так сказал. насчет динамических объектов - с ними работа не отличается от того что я привел выше, с той лишь разницей что нам не нужно передавать их координаты, например. Если мы стреляем на клиенте, то мы на самом деле не стреляем, а посылаем пакет серверу, который как бы говорит - хочу стрелять. Если сервер разрешает(т.е. нет откатов или еще чего либо) - тогда всем игрокам рассылается пакет, что такой то клиент выстрелил. И все клиенты создают в указанной точке объект-пулю. А дальше эта пуля живет по одинаковым законам на клиенте и на сервере, с той лишь разницей что например попадания на клиентах учитываться не будут, а будут только на сервере, и если пуля попала - опять же сервер отсылает всем клиентам инфо что такая то пуля попала туда то и ее нужно уничтожить. Из-за времени отклика тут конечно очевидны сразу проблемы, связанные с пингом и всем таким, но в целом - вполне юзабельная схема
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
|