Пятница, 26 Апреля 2024, 10:22

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 20 из 20
  • «
  • 1
  • 2
  • 18
  • 19
  • 20
Форум игроделов » Записи участника » XDominator [389]
Результаты поиска
XDominatorДата: Среда, 29 Мая 2013, 09:12 | Сообщение # 381 | Тема: 39dylib
постоянный участник
Сейчас нет на сайте
Кстати о сетевых библиотеках, весьма интересно как в гмстудии будут реализованы сетевые технологии, и придется ли под каждый отдельный вид соединения(3g, wi-fi, bt) писать разный код...

Но судя по примеру на их сайте, различий в типе коннекта не будет. Вот только на мобильных устройствах, судя по всему, придется клиент и сервер объединять в одно приложение... Не больно то удобно конечно smile


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 29 Мая 2013, 09:07 | Сообщение # 382 | Тема: Game Maker Studio и Steam Вопрос
постоянный участник
Сейчас нет на сайте
У меня есть полная рабочая безстимовская версия angel

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 29 Мая 2013, 09:04 | Сообщение # 383 | Тема: Проблема при создании онлайн игры на 39dll
постоянный участник
Сейчас нет на сайте
Кстати для избавления проблем с динамическим IP можно поюзать сервис no-ip.org, или как то так он пишется... Суть в том что ставится софтина к тебе на ПК, которая твой внешний IP преобразует в DNS типа : vasia_pupkin.no-ip.org, который ты задаешь сам на сайте, и в дальнейшем вместо циферок IP можно просто юзать этот набор букв.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Среда, 29 Мая 2013, 09:01 | Сообщение # 384 | Тема: Головоломочка(Коллизии)
постоянный участник
Сейчас нет на сайте
if !(place_free(x-1,y))

Расчет в данной функции идет не от х игрока как координаты, а от объекта в целом? Хм...


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 28 Мая 2013, 14:35 | Сообщение # 385 | Тема: 39dylib
постоянный участник
Сейчас нет на сайте
Хм, а зачем ты пользуешь переменные player_x, player_y?Есть же встроенные x,y, их, вроде, для всего более чем достаточно...Или у тебя уже какая то система сглаживания?

Еще совет - отойди от объектов игроков, и сделай отдельный объект, который просто ничего не делающий спрайт будет. Тогда тебе будет более ясно, где у тебя ошибка. Судя по этому куску кода, ошибка у тебя именно в объекте игрока.

Дополнительно советую заменить а на instance_number(), которая возвращает кол-во инстанций объекта... В твоем случае условие бы выглядело так:
if instance_number(obj_player) < 1
{
}

Дополнительная рекомендация - создание объекта другого игрока и прием его координат должно храниться в разных кейсах. И дело даже не в том что так будет более оптимально, и что при таком подходе гораздо меньше неконтролируемого кода(в твоем случае это потенциальное зацикленное создание объектов при каждом приеме кейса) - дело даже в том, что в будущем, когда ты будешь усложнять игру, ты наверняка будешь вместе с созданием игрока присылать некоторые параметры для его создания - индекс спрайта, ники, еще какую нибудь сатану. Ты же не будешь их присылать в каждом пакете вместе с координатами, правда?

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


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 28 Мая 2013, 10:52 | Сообщение # 386 | Тема: Проблема при создании онлайн игры на 39dll
постоянный участник
Сейчас нет на сайте
1 проблема) самая частая - мешает роутер. Проверяется так - вместо ввода IP вводим 127.0.0.1. Если приконнектились - проблема наверняка в роутере\файрволле. Отключаем фаерволл - проблема остается - проблема в роутере. решается проброской портов - тут поможет только гугл, под каждый роутер индивидуально.

2 проблема - криво коннектишься. Опять же, если роутера нет - всегда сперва проводи тесты через 127.0.0.1, если все работает - значит проблема сети, если не работает даже так - криво закодил. Если остаются какие то сомнения - ищи пиратку, например, minecraft, ставь свой сервак(ставится за 5 минут), и пробуй к нему коннектиться через внешний IP и через 127.0.0.1. Если коннектится только последним - 100пудов проблема сети, тут уже или роутер или провайдер, если коннектится обоими способами - значит набыдлокодил. Удачи smile


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 28 Мая 2013, 09:53 | Сообщение # 387 | Тема: 39dylib
постоянный участник
Сейчас нет на сайте
Цитата (zzzzza)
1)спрайт игрока становится тусклым(почти прозрачным), 2)спрайт игрока(любого, то есть рандомно как-то выбирается) исчезает, потом может через некоторое время появится:D


Это как в медицине - глупо думать что 2 редких симптома, появившихся в 1 момент, могут относиться к 2-м разным редким заболеваниям... Я так думаю что проблема в обоих пунктах одна и та же - твой спрайт не становится прозрачным\тусклым, а начинает моргать(исчезать\появляться, каждый шаг) - в первом случае. Во втором случае, при выполнении ряда неких условий(приходит некий кейс, меняется некая переменная) - спрайт исчезает, и возвращается при возврате начального состояния системы. Скорее всего, ты где то намудрил со строками visible = true\false, возможно ты их ставишь как 1\0 при получении кейса с координатами, или что то в этом роде.

Вообще, тебе стоило начинать именно с системы движения массива игроков, потому что тут просто огромна куча подводных камней. Я в свое время тоже игрался с этой либой, и у меня тоже постоянно возникали подобные проблемы. рекомендую посетить сайт школы 39длл и скачать там пример basicmmorpg. Самой первой версии(0.7 вроде), тебе с головой хватит чтобы понять принципы построения кода в таких вещах. Лично я брал этот пример как основу, и уже к нему дописывал свой собственный код.

Кстати моя теория объясняет и то, почему фрапс не скринит твоего "призрака" wink Удачи)


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Вторник, 28 Мая 2013, 09:42 | Сообщение # 388 | Тема: Головоломочка(Коллизии)
постоянный участник
Сейчас нет на сайте
Цитата (XDominator)
вариант с тем чтобы запрещать поворот при коллизии с какой то стороны не катит.

Я имел ввиду, что объект не должен быть ограничен в поворотах в принципе. Он должен менять свою позицию в пространстве так, чтобы коллизий при повороте не было(в примере, он должен постепенно сдвигаться вверх...) Хотя конечно, можно попробовать поплясать и от такого варианта... Вот если бы научиться определять координаты точки столкновения... Но я не нашел ничего такого в справке по gml


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
XDominatorДата: Понедельник, 27 Мая 2013, 20:07 | Сообщение # 389 | Тема: Головоломочка(Коллизии)
постоянный участник
Сейчас нет на сайте
В общем, ситуация примерно такая - в картинках:

Состояние в 1 момент -



Состояние в некий n-ый момент:



суть вопроса - предложить некую систему, которая позволяла бы каким то образом стабильно избегать такой ситуации. Необходимо учитывать, что объект может поворачиваться с шагом <1 градуса/шаг, и точка поворта совсем необязательно стоит в центре(но при этом, точка статична, т.е. алгоритм должен учитывать лишь ее начальное состояние.). Стены могут находиться с любой стороны от объекта(слева, справа, сверху вотэвер), вариант с тем чтобы запрещать поворот при коллизии с какой то стороны не катит.


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Понедельник, 27 Мая 2013, 20:07
Форум игроделов » Записи участника » XDominator [389]
  • Страница 20 из 20
  • «
  • 1
  • 2
  • 18
  • 19
  • 20
Поиск:

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