Проект Ангор (Саморазвивающийся мир)
Название: Ангор
Жанр: 2D MMOIDC, Онлайн стратегия с непрямым контролем.
Технологии: Delphi, C#, DirectX
Команда: 7 человек:
Gexon - руководитель проекта и программист "интеллекта" юнитов
weereew - программист сети и БД
sSwSs - программист клиентской части
TrueIfrit - гейм-мастер
Лавр, не зарегистрирован на форуме - моделлер, текстуровщик
Ильнур, не зарегистрирован на форуме - художник
Антон, не зарегистрирован на форуме - гейм-дизайнер
Андрей, не зарегистрирован на форуме - дизайнер игровой механики</p>
Дата начала разработки: 05.01.2011
Дата релиза: Август 2011 - тесты альфа версии. 1 квартал 2012 - релиз.
Текущая стадия разработки: Альфа
Бизнес модель: free-to-play.
Способ распространения: вКонтакте, МойМир, Facebook, MySpace, а так-же windows приложение: клиент ( Delphi, GLScene )
Сайт проекта: http://angor.3dn.ru - сайт проекта
Описание:
Онлайн стратегия с непрямым контролем.
С возможностью вмешиваться в развитие поселения через посредника (представителя).
Цели разработки:
- разработать игру приносящую удовольствие
- получение опыта всеми участниками проекта
- пополнение своих портфолио/резюме всеми участниками проекта
На данный момент готово:
- Игровой сервер, в онлайне (преальфа-версия)
- Клиентская часть на GLScene (преальфа-версия)
- Разработан протокол передачи данных и спецификация пакетов
- Сформулированы основные концепции, гейм-фокус
- Дизайн документ(постоянно дополняется)
- ТЗ для клиентской части
- Вики, возможно будет как замена ДД
- Геймплей:
(Телевизор. Травка растет, умирает, плодиться. Ангоры поедают траву, пьют воду из лужи, запоминают где пили/ели и что пили/ели, плодятся и умирают)
Скриншоты:
-----------------------------------
Главное окно:
-----------------------------------
-----------------------------------
инфо-окно ангора. параметры отображаются в реальном времени. в т.ч. текущая цель ангора
-----------------------------------
-----------------------------------
Новый Ангор 3D
-----------------------------------
Основной сюжет представляет собой развитие поселения с существами под названием ангоры.
Установление отношений с другими поселениями, экономических, культурных, дипломатических, либо захват их военной силой и последующее управление ими.
Управление другими поселениями возможно как военными, так и дипломатическим способами.
Игровая вселенная поделена на отдельные миры (абстрактный материк), в котором расположены 4 поселения.
Для перемещений между мирами используются специальные устройства.
Население борется за свое выживание, путем развития как технологически, так и культурно с помощью игрока.
Персонажи, населяющие игровой мир, взаимодействуют друг с другом, знакомятся, образовывают семья, объединяются в сообщества.
Основное отличие этого проекта от других в непрямом контроле над жителями этого виртуального мира.
Игрок выполняет роль некоего оракула, который дает указания, через "Шамана", для Ангоров.
Ангоры могут не подчиниться "Шаману", так же как "Шаман" имеет выбор в выполнении инструкций игрока, т.е. может не подчиняться и попытаться перейти под покровительство другого игрока.
Игра считается проигранной в том случае если игрок полностью теряет расположение Ангоров, либо его подопечные переходят под контроль соседнего поселения.
Победа игрока(альянсов) заключается в установлении доминирующего положения над другими поселениями.
Проект является онлайновым, что позволит взаимодействовать нескольким игрокам одновременно.
Основная задача игрока развить сообщество своих существ, и тем самым затмить других игроков.
Управление:
Прямое управление отсутствует.
Управление будет в форме рекомендаций/приказов представителю поселения - "Шаману".
Вакансии в проекте:
- программист HTML5/CSS3/JavaScript (желательно знание API социальных сетей)
Ожидаемая обратная связь:
- поиск новых участников проекта
- конструктивная критика
Проверял, не долго правда...
при закрытии программы выходит ошибка, не знаю откуда она и не буду исправлять, некогда.
- Добавил управление избранным Ангором (ака Шаман)
- Мышка странная еще какая-то... "Песочные часы"
Ну и? :)
Цитата: makbeth
Ну и? :)
че флудишь, правил не читал?
http://forum.codenet.ru/showthread.php?t=15639
http://forum.codenet.ru/showthread.php?t=29747
----------------------
по существу, как лучше сделать клиент-серверную часть?
Я какбэ намекаю, что ты малость разделом ошибся. И, кстати, зачем ссылки все потер? Теперь твоя тема вообще ни к селу ни к городу. Причем здесь вообще Delphi?
клиентская часть не находит сервер.
тестировал на своем компьютере(localhost).
приложение консольное.
использовал TClientSocket;
написал мелкое оконное приложение, проблем нет, находит сервер и устанавливает соединение.
----------------------------
помогите!
Код клиента и сервера в студию! А то напрашивается фраза про телепатов.
Цитата: makbeth
Код клиента и сервера в студию! А то напрашивается фраза про телепатов.
прикрепляю...
но у меня подозрение, что сокет, что я использую в консольном приложении не очень хочет работать
Это работает примерно так: в "недрах" TClientSocket создается невидимое окно, в оконная процедура которого как раз и вызывает обработчики OnConnect, OnDisconnect и т.д. в зависимости от полученного сообщения. Сообщения же генерируются стандартной библиотекой сокетов Windows при изменении состояния сокета. Для того, чтобы окна приложения получали сообщения, в нем должен быть организован цикл их обработки (PeekMessage/DispatchMessage) - выборка их из очереди сообщений приложения и отправка соответствующим окнам. Поскольку в консольном приложении это не организовано, то и компонент не может корректно работать :)
В принципе, никто не мешает организовать цикл обработки, только нафиг оно надо? Проще написать простое оконное приложение, либо использовать WinSock API вызовы напрямую, тем более там ничего особо сложного нет.
теперь будем знать...
а мы тут голову ломаем уже неделю над этим....
осталось организовать обработку сообщений винды.
-----------------------
мы используем граф.движек "Омега".
в нем есть
OE_RegProcedure( SYS_WNDPROC_AFTER, @LRESULT );
OE_RegProcedure( SYS_WNDPROC_BEFORE, @LRESULT );
что-то типа обработки сообщений...
хотим сюда(@LRESULT) воткнуть свой код.
------------------------
вот такой:
curs : hCursor;
result1: Cardinal;
function SetCursor(hCURSOR: Cardinal): Cardinal; stdcall; external 'user32.dll' name 'SetCursor';
function LoadCursorA(hInstance: Cardinal; IPCursorName: WORD): Cardinal; stdcall; external 'user32.dll' name 'LoadCursorA';
function SetClassLongA(hWnd: HWND; nIndex: integer; dwNewLong: integer): Cardinal; stdcall; external 'user32.dll' name 'SetClassLongA';
function LRESULT( hWnd : HWND; Msg : UINT; wParam : WPARAM; lParam : LPARAM ): Longint; stdcall;
begin
Result := 0;
//if Msg = 32 then
begin
//SetCursor(LoadCursorA(hInstance, 32512)); // в ответ на глобальное сообщение от системы, про курсор,
// // говорим есму ставить курсор 0, т.е. стрелка IDC_ARROW
curs := LoadCursorA(hInstance, $7F00);
result1 := SetClassLongA(hWnd, -12, curs);
SetCursor(curs);
end;
end;
(тут правда мы пытались мышку загрузить, пока безуспешно... но сюда же и код по обработке сокетов попробуем сунуть)
TranslateMessage (Message);
DispatchMessage (Message);
эти три строки решили проблему)
Срочно!
Требуется 3d дизайнер/модельер.
Хотя бы сделать модель колобка(желательно анимированного).
Требуется:
программист сетевого кода,
художник 2D,
программист 2D графики,
программист 3D графики.
Так же, нужен:
дизайнер игровой механики
сценарист,
композитор,
гейм-мастер.
перенесено на 1 марта 2011 года
впотелица работаем над альфа-версией....
----------------------------------------------------------
Последние изменения в проекте:
- Окно с параметрами выбранного ангора, все показатели меняются в реальном времени.
- Чат (почти готов)
- Куча оптимизаций и исправлений багов
- Ввод монстров на полигон
- Добавлены новые объекты на полигон
Следующий шаг:
- Объединение в группы, под командованием наиболее инициативного Ангора
- Возможность отдавать простые команды Шаману
--------------------------------------------------------
Срочно! требуется программист графики(GLScene)!
Кстати, вы говорили про 3D. На данном скриншоте я не смог заметить этого, без сомнения перспективного направления в графике.
Я бы посоветовал:
а) Рисовать растения не в узлах сетки, а со случайным сдвигом от них.
б) Использовать по несколько вариантов картинок для растений каждого вида.
в) Добавить тени. (просто подрисовать к каждой картинке)
вот, фигвам ангоров в 3D =)
А свиборг будет?
Цитата: Lerkin
А свиборг будет?
Туборг будет :)
Цитата: Lerkin
А свиборг будет?
если только такой)
другого нет=)
Цитата: Gexon
если только такой)
другого нет=)
Отлично, мне нравитцо!!!