Вторник, 26 Ноября 2024, 07:15

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Создание онлайн платформера (Action)
sanya_sprinterДата: Воскресенье, 26 Мая 2013, 10:12 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет! biggrin

Недавно такая идея проснулась, сделать онлайн платформер (стрелялку). Конечно она будет 2Д и это будет небольшая игра. Создавать планирую на ГМ 8 (Game Maker 8). Поэтому у меня такой вопрос, как возможно это реализовать? и как вообще возможно сделать сервер игры, если у меня серый ип?


Andrey_MДата: Воскресенье, 26 Мая 2013, 10:44 | Сообщение # 2
старожил
Сейчас нет на сайте
Используй 39dll для как раз работы с нитернетов.

Вообще, сначала разберись с обычным ГМ8, а потом уже лезь в онлайн.


ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
sanya_sprinterДата: Воскресенье, 26 Мая 2013, 11:40 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата (Andrey_M)
сначала разберись с обычным ГМ8, а потом уже лезь в онлайн.

с чего ты взял что я не разобрался с обычным ГМ? Ну вообще как бы, я игры уже делал)


Abel399Дата: Воскресенье, 26 Мая 2013, 16:02 | Сообщение # 4
Surpass your limits. Right now.
Сейчас нет на сайте
Я только этими *онлайн-платформерами* и занимаюсь) Говорю сразу - с оптимизацией будет сложно. Использовать желательно ТОЛЬКО 39dll. Она работает быстрее других библиотек. Сложность оптимизации в том, что нужно оптимизировать и обосновать каждый посылаемый байт с информацией. Нужно как можно меньше посылать информации, но и при этом полностью синхронизироваться. Говорю сразу - У тебя модем? Если да, то включай режим Bridge и будет тебе счастье пользоваться белым ip. Если тебе так важен wi-fi, то покупай дополнительно маршрутизатор. Иначе никак. Хотя есть одно схема подключения, но я её так и не понял.. с сетевой картой и модемом мутить.. Если у тебя прямое подключение через провод (хотя я не верю, что на таком подключении возможен серый ip), то это только к провайдеру, больше никак( . Думаю объяснил, если что-то хочешь спросить, то спрашивай) Я всегда отвечу happy

Ninja Slayer - 2D Physics Puzzle [cancelled]
krapДата: Воскресенье, 26 Мая 2013, 18:08 | Сообщение # 5
почетный гость
Сейчас нет на сайте
sanya_sprinter, могу написать серв если хочешь)

Добавлено (26.05.2013, 18:07)
---------------------------------------------
Константы:
SOCKET_CLOSE=0;

Create
Код

dllinit(0,1,1)
listen=tcplisten(port,stack_listen,2)
if (listen<0) {show_error("error listen sock",1)}
list_sock=ds_list_create()

Step
Код

var newsock;
globalvar action;
newsock=tcpaccept(listen,1)
if (newsock>0)
{
ds_list_add(list_sock)
}
receive_server();


receive_server():
Код

var c_sock,msize;
for(a=0;a<ds_list_size(list_sock);a+=1)
{
c_sock=ds_list_find_value(list_sock,a)
msize=receivemessage(c_sock)
if (msize>0)
{
action=readbyte()
switch(action)
{
case SOCKET_CLOSE:
closesocket(c_sock)
ds_list_delete(list_sock,ds_list_find_index(list_sock,c_sock))
break;
}
}
}

Game_end:
Код

closesocket(listen)
dllfree()

Draw:
Код

draw_text(5,5,"sockets:"+string(ds_list_size(list_sock)))


Это заготовка. Тут все просто:
создаем и слушаем порт(listen sock)
затем проверяем на подключение(tcpaccept)
если больше 0 то это значит что подключился новый сокет(клиент)
далее добавляем его в список сокетов
это для того чтобы читать и принимать от него сообщения
"прослушка" делается циклом
там мы достаем из списка индетификатор сокета который мы добавили
затем проверили на наличие содержимиго
если содержимиое есть тоесть больше 0
то смотрим первый байт
я привык первый байт делать "акшеном"
т.е. действие от клиента
далее действуем согласно "акшену"

Это основной принцип работы. Можно этот код использовать как шаблон для
своих проектов. Чтобы лишний раз не писать)

Добавлено (26.05.2013, 18:08)
---------------------------------------------
еще забыл написать что stack_listen и port должны быть заранее определены)


Сообщение отредактировал krap - Воскресенье, 26 Мая 2013, 18:08
sanya_sprinterДата: Понедельник, 27 Мая 2013, 15:14 | Сообщение # 6
был не раз
Сейчас нет на сайте
1. У меня Роутер, и в нём режим белого ип (проверял)
2. Если можете помочь добавьте скайп (sanek12123)
3. Я думаю что можно через ХАмачку, т.к. в инете есть инсталяторы скрытых программ хамачи.

Добавлено (27.05.2013, 15:14)
---------------------------------------------
+ Я в инете видел исходники, возможно ли с помощью них сделать игру? Ну там изменить всё, токо саму онлайн часть оставить?


KirKamiДата: Понедельник, 27 Мая 2013, 15:27 | Сообщение # 7
участник
Сейчас нет на сайте
епть... у меня была такая идея... вот так всегда, приходит крутая идея, а через неделю-месяц оказывается, что её кто-то реализует. надеюсь получится, удачи

sanya_sprinterДата: Понедельник, 27 Мая 2013, 15:32 | Сообщение # 8
был не раз
Сейчас нет на сайте
Ну давай вместе делать)

KirKamiДата: Понедельник, 27 Мая 2013, 16:29 | Сообщение # 9
участник
Сейчас нет на сайте
Цитата (sanya_sprinter)
Ну давай вместе делать)

Не могу. В Гамаке дуб-дубом, да и рисую средненько. Также обязан добить свой проект. Так что, просто, удачи!


nuixgroupДата: Понедельник, 27 Мая 2013, 18:22 | Сообщение # 10
Генерал галактики
Сейчас нет на сайте
http://dyn.com/dns/

http://gcup.ru/forum/69-29109-1
http://gcup.ru/forum/9-32330-1
http://gcup.ru/forum/28-29152-1
Abel399Дата: Среда, 29 Мая 2013, 04:07 | Сообщение # 11
Surpass your limits. Right now.
Сейчас нет на сайте
nuixgroup, чувак, зачем днс предлагаешь?) он не решит проблему серого ip таким образом. Это чисто так, если у тебя динамический ip и самому лень написать php скрипт на сайт, который будет твой ip обновлять... А по теме, обращайся в скайп: abel999, сейчас тоже пишу мультиплеер для игры Survival Alone. Может и тебе помогу (это все зависит от задачи и... кварплаты happy ). Удачи)

Ninja Slayer - 2D Physics Puzzle [cancelled]
  • Страница 1 из 1
  • 1
Поиск:

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