|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2011, 09:15 | #21 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 45
|
Что вы подразумеваете над игрой на одного? На данный момент у меня есть работающее "действие" в наш ход (не знаю как назвать), а также система передачи хода туда-обратно. [ то есть поле, движение юнитов, способности, итд- все есть и работает] Мне либо нужно внедрять аи (а эта идея по приоритетам за мультиплеером), либо внедрять мультиплеер- в ход противника кто-то должен совершать ходы! поэтому я хочу хотя бы сделать как в старых играх - Direct connect...
Конечно же с чата и нужно начать. Пока мои поиски привели меня на несколько исходников(там я узнал про сокеты), но я все-таки решил спросить живых людей тут. В ссылках не вижу тем про мультиплеер или его аналоги. Последний раз редактировалось korand; 16.03.2011 в 09:21. |
16.03.2011, 10:35 | #22 |
personality
Старожил
Регистрация: 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. |
16.03.2011, 18:09 | #24 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 45
|
Спасибо за ссылочки, будем разбираться)))
Парочка глупых вопросов. 1) Каким образом сервер определяет свой порт для того, чтобы сообщить клиенту? - можно без этого обойтись? просто по ай-пи и все? 2) Я правильно понимаю, что это система позволяет иметь много пар клиент-сервер, хотя программы у них одинаковые? 3) Для тестирования обязательны 2 человека/компа в разных местах? ^_^ п.с. пакет с сокетами итд уже устанавливал, спасибо) Последний раз редактировалось korand; 16.03.2011 в 18:19. |
16.03.2011, 18:59 | #25 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
1) задается айпи адресс и порт. (в "классическом" понимании)
>можно без этого обойтись? обойтись можно.. но не стоит! 2) это как вы организуете структуру... для одного или многого кол-ва игроков... Да может быть много пар... меняется как правило только айпи адресс.. а порт остается неизменым... 3) Ну человека может заменять ии А про места, нет.. 127.0.0.1 - он же локалхост ;-) |
17.03.2011, 02:15 | #26 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 45
|
Я почему с тестированием и портами спросил:
1) не хочу привлекать тестеров для начального тестирования (чат туда-обратно) 2) не хочу заморачивать игроков с поиском номеров своих портов, потому что какой-нибудь www.ip-adress.com не дает ответа, а игра должна быть friendly с игроком. Пока я хочу оставить эту систему "самопоиска" игроков (когда разберусь) на продолжительное время. |
23.03.2011, 04:17 | #28 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 45
|
Процесс движется и не стоит на месте =)
Хочется разъяснить несколько аспектов: 1)реализовал сервер/клиент через сокеты в одной проге, сообщения идут, все ок. НО не понятно что делать с банальнейшей проблемой-ошибками))) например- ввели не тот адрес/порт - как это отслеживать наиболее грамотно? допустим, что ввод букв и неправильных символов я уже ограничил 2)возвращаясь к канвасу и вопросам графики: (здесь нужен опыт, а его нет) есть 2 альтернативы (пусть рисуем меню): -рисовать последовательно кнопки на form.canvas -рисовать на битмап, а потом выводить битмап на канвас формы (как бы сразу) 3)работа с файлами игры: мне нужно организовать хранение по группам (чтобы заменять было легче): а)системные картинки-графика б)картинки юнитов в)массивы характеристик юнитов итд как же огранизовать это хранение? (не по папкам с bmp и txt), потому что хочется чтобы было удобно сразу (файлы не должны вскрываться легко, но при этом чтобы паки менять можо было), а не делать сначала так, потом иначе. ну вроде все... заранее спасибо) может за ночь еще что надумаю |
23.03.2011, 06:42 | #29 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
1) В каком смысле? Вы не знаете, что должна делать программа в случае возникновения ошибки, или как реализовать обработку ошибок? В первом случае - при неудачное попытке подключиться просто освобождаем все выделенные ресурсы (по идее компоненты сокетов должны сами этим заняться), программа продолжает работать в режиме "Не было ничего. Ничего не было!" Если же произошел какой-то серьезный крах - освобождаем ресурсы, сообщаем об ошибке, выходим. Во втором случае - понятия не имею, как это делается в Delphi, но в C++ для этого используются исключения.
2) Однозначно второй вариант. Это называется двойная буферизация. Если по очереди рисовать все на канву формы, будет страшно моргать. 3) Бинарные файлы. К примеру, можно представить пакет в виде такого вот массива байт: Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
23.03.2011, 12:49 | #30 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 45
|
1)ну про "ничего не было" сделать без проблем, но вот вопрос как определить- нужно нам это или мы все-таки можем подключиться (создать серв) без ошибок. Здесь проблема. Логично, что игра должн работать даже если ай-пи введен 777.777.777.777
2)Так я и думал) таким образом нужно в конце каких-то процедур выводить "фон" целиком на канвас, а в самих процедурах рисовать на "фоне"? или как-то через таймер/еще что-то? (просто альтернатив немало, а выбрать только опытный может =) ) 3)Сейчас погуглю, спасиб. Еще немного объясню суть вопроса: Сейчас я умею загонять толпу картинок в массивы, но эти картинки просто в папке лежат! А я хочу, чтобы были какие-то файды типа data.*** То есть игра должна быть- exe + пара таких паков инфы/картинок и все. Вот как эта data реализуется? с чем ее едят итд Последний раз редактировалось korand; 23.03.2011 в 12:51. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пошаговая сортировка | sergey31 | Помощь студентам | 3 | 02.05.2008 22:38 |