Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2011, 09:15   #21
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Что вы подразумеваете над игрой на одного? На данный момент у меня есть работающее "действие" в наш ход (не знаю как назвать), а также система передачи хода туда-обратно. [ то есть поле, движение юнитов, способности, итд- все есть и работает] Мне либо нужно внедрять аи (а эта идея по приоритетам за мультиплеером), либо внедрять мультиплеер- в ход противника кто-то должен совершать ходы! поэтому я хочу хотя бы сделать как в старых играх - Direct connect...

Конечно же с чата и нужно начать. Пока мои поиски привели меня на несколько исходников(там я узнал про сокеты), но я все-таки решил спросить живых людей тут. В ссылках не вижу тем про мультиплеер или его аналоги.

Последний раз редактировалось korand; 16.03.2011 в 09:21.
korand вне форума Ответить с цитированием
Старый 16.03.2011, 10:35   #22
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

http://programmersforum.ru/showthread.php?t=137080

вот в этой теме мой 13 пост , мог бы и сразу ссыль на пост дать, но думаю темку читануть тоже не повредит (там 2 страницы, <20 постов)

ну и, конечно, там просто чат, а для отсылки "игровых" команд надо что-то самому продумать, либо использовать sendtext с какими-то своими "игро-командными" строками, либо использовать socket.sendbuf и socket.ReceiveLength+socket.receive buf , где socket - составная часть Tclientsocket и Tserversocket;

Маленький хинт - в дельфи7 (ну и мб ещё каких) по умолчанию не включен пакет dclsockets его надо подключить из component-install packages-add и найти путь к нему в (дельфи)\bin , как-то так, вроде не напутал; после этого появится закладка Internet с 2 компонентами, о которых говорил выше

Последний раз редактировалось phomm; 16.03.2011 в 10:37.
phomm вне форума Ответить с цитированием
Старый 16.03.2011, 10:38   #23
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

ну вот например...
>>>>
dampirik вне форума Ответить с цитированием
Старый 16.03.2011, 18:09   #24
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Спасибо за ссылочки, будем разбираться)))

Парочка глупых вопросов.
1) Каким образом сервер определяет свой порт для того, чтобы сообщить клиенту? - можно без этого обойтись? просто по ай-пи и все?
2) Я правильно понимаю, что это система позволяет иметь много пар клиент-сервер, хотя программы у них одинаковые?
3) Для тестирования обязательны 2 человека/компа в разных местах? ^_^

п.с. пакет с сокетами итд уже устанавливал, спасибо)

Последний раз редактировалось korand; 16.03.2011 в 18:19.
korand вне форума Ответить с цитированием
Старый 16.03.2011, 18:59   #25
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

1) задается айпи адресс и порт. (в "классическом" понимании)
>можно без этого обойтись?
обойтись можно.. но не стоит!
2) это как вы организуете структуру... для одного или многого кол-ва игроков...
Да может быть много пар... меняется как правило только айпи адресс.. а порт остается неизменым...
3) Ну человека может заменять ии
А про места, нет.. 127.0.0.1 - он же локалхост ;-)
dampirik вне форума Ответить с цитированием
Старый 17.03.2011, 02:15   #26
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Я почему с тестированием и портами спросил:
1) не хочу привлекать тестеров для начального тестирования (чат туда-обратно)
2) не хочу заморачивать игроков с поиском номеров своих портов, потому что какой-нибудь www.ip-adress.com не дает ответа, а игра должна быть friendly с игроком. Пока я хочу оставить эту систему "самопоиска" игроков (когда разберусь) на продолжительное время.
korand вне форума Ответить с цитированием
Старый 17.03.2011, 18:02   #27
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

используйте локалхост 127.0.0.1
и какойнить свободный порт скажем 6666 ;-)
Порт остается стабильный и не меняется ... задаете же только айпиадресс...
dampirik вне форума Ответить с цитированием
Старый 23.03.2011, 04:17   #28
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Процесс движется и не стоит на месте =)
Хочется разъяснить несколько аспектов:
1)реализовал сервер/клиент через сокеты в одной проге, сообщения идут, все ок. НО не понятно что делать с банальнейшей проблемой-ошибками))) например- ввели не тот адрес/порт - как это отслеживать наиболее грамотно? допустим, что ввод букв и неправильных символов я уже ограничил

2)возвращаясь к канвасу и вопросам графики: (здесь нужен опыт, а его нет)
есть 2 альтернативы (пусть рисуем меню):
-рисовать последовательно кнопки на form.canvas
-рисовать на битмап, а потом выводить битмап на канвас формы (как бы сразу)

3)работа с файлами игры:
мне нужно организовать хранение по группам (чтобы заменять было легче):
а)системные картинки-графика
б)картинки юнитов
в)массивы характеристик юнитов
итд

как же огранизовать это хранение? (не по папкам с bmp и txt), потому что хочется чтобы было удобно сразу (файлы не должны вскрываться легко, но при этом чтобы паки менять можо было), а не делать сначала так, потом иначе.

ну вроде все... заранее спасибо) может за ночь еще что надумаю
korand вне форума Ответить с цитированием
Старый 23.03.2011, 06:42   #29
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

1) В каком смысле? Вы не знаете, что должна делать программа в случае возникновения ошибки, или как реализовать обработку ошибок? В первом случае - при неудачное попытке подключиться просто освобождаем все выделенные ресурсы (по идее компоненты сокетов должны сами этим заняться), программа продолжает работать в режиме "Не было ничего. Ничего не было!" Если же произошел какой-то серьезный крах - освобождаем ресурсы, сообщаем об ошибке, выходим. Во втором случае - понятия не имею, как это делается в Delphi, но в C++ для этого используются исключения.

2) Однозначно второй вариант. Это называется двойная буферизация. Если по очереди рисовать все на канву формы, будет страшно моргать.

3) Бинарные файлы. К примеру, можно представить пакет в виде такого вот массива байт:
Код:
[Информация_о_пакете_в_целом]
[Набор_байт_соответствующий_бинарному_представлению_картинки_1]
[Набор_байт_соответствующий_бинарному_представлению_картинки_2]
...
[Набор_байт_соответствующий_бинарному_представлению_картинки_N]
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 23.03.2011, 12:49   #30
korand
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

1)ну про "ничего не было" сделать без проблем, но вот вопрос как определить- нужно нам это или мы все-таки можем подключиться (создать серв) без ошибок. Здесь проблема. Логично, что игра должн работать даже если ай-пи введен 777.777.777.777

2)Так я и думал) таким образом нужно в конце каких-то процедур выводить "фон" целиком на канвас, а в самих процедурах рисовать на "фоне"? или как-то через таймер/еще что-то? (просто альтернатив немало, а выбрать только опытный может =) )

3)Сейчас погуглю, спасиб. Еще немного объясню суть вопроса: Сейчас я умею загонять толпу картинок в массивы, но эти картинки просто в папке лежат! А я хочу, чтобы были какие-то файды типа data.*** То есть игра должна быть- exe + пара таких паков инфы/картинок и все. Вот как эта data реализуется? с чем ее едят итд

Последний раз редактировалось korand; 23.03.2011 в 12:51.
korand вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пошаговая сортировка sergey31 Помощь студентам 3 02.05.2008 22:38