|
|
|
Канал Игры Мечты: «ISDG. пошаговая, мультиплеер. Python» |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Вводные (Какие бы хотелись, но можно в принцепе и передумать):
(начнем с самого простого, а там бу видно)
1)
-Python
-PHP
-PyOpenGL(GLUT)
2)
-полное 3D.
-Пошаговость в раене секунд +-10
3)
Игра делится:
А)управление КК в открытом космосе
Б)управление собой внутри КК
В)ускоренный полет КК по звездной системе
А)
для начала:
-Просто пустое пространство
-материальные точки (КК)
.xyz координаты
.вектор скорости
.вектор ускорения
.вектора ориентации (если тока кто не объяснит квантириньён вращения! )
в перспективе
-разбивка на звездные системы
-звездная система это единое пространство со звездой в начале координат
Б)
Тут сложнее, и пока кодить не буду
-КК
.Конструктор из блоков-примитивов (куб, пирамида, и т.п.)
.Управление внутри КК аля браузерная ходилка
.Один блок по идеи одна локация, с:
.....списком параметров (объема, массы, и т.п.)
.....списком предметов
.....списком игроков[|неписей]
.....списком дверей/порталов/дыр/проходов в другие локации
В)
Тут я не знаю, есть идея, как встаром добром elite,
изобрели некий девайс, который хрен знает как устроен, но
если по близости [от-до] км нет объектов с массой, то
жмем кнопочку, и быстро-так-при-быстро летим.
чтобы сделать встречи чаще, можно например ограничить, что
этот девайс работает только в плоскости эклиптики(построен на эффекте, который образуется тока в этой плоскости).
тогда получаем 2Д перемещение по звездной системе + 3Д бои.
или ваши предложения.
=========================================================
Сей час больше всего интересует 3Д управление КК.
У меня такой вариант:
имеем КК
в точке [x1,y1,z1]
скорость [vx,vy,vz]
ориентации [ориентации ]
Ход:
задаем тягу двигателям,
задаем повороты. повороты будут без ускарений и скоростей, просто за ход повернули тудато и все. а то там полная
север:
берет вектор направления, помножает на тягу движков
складывает вектор скорости и вектор Ускорения движка
перемещает в новую точку.
изменяет ориентацию на новую.
клиент получает ход, показывает анимацию:
КК перемещается из точки в точку по прямой, по ходу поворачиваясь.
_____________
пушкам можно сделать угловую зону действия, например.
и еще!
стрелять можно
-в один момент времени, в начале хода, указав куда как и чем стрелять.
-Или по ходу анимации, но тут сложности с тем, что ход придется разбивать на кванты и время расчетов множится на их число, но это более реалистично, но мне кажется будет трудновато с выбором целей, скоко стрелять и вообще неопределенность....
-ваш вариант
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
У себя в проекте ориентацию объектов решил определять тремя углами векторов направлений КК (учитывая что они строятся на линиях симметрии и направленны от центра масс к переду, к верху и к левому борту соответственно) по отношению соответственно к векторам направлений системы с которой они связаны (звезда или планета), в данном случае направления векторов связанны с плоскостью орбиты или эклиптики один направлен от меньшего центра масс к большему (от планеты к звезде или от звезды к центру галактики) другой находясь в плоскости орбиты перпендикулярен первому и смотрит налево, третий перпендикулярен центру вращения (орбиты или эклиптики) и смотрит туда куда бы двигался винт с правой резьбой находящийся на этой линии и вращающийся также как центр масс.
добавлено спустя 9 минут:
S_Xor : |
Б)
Тут сложнее, и пока кодить не буду
|
Это можно сделать отдельным модулем, соответственно разницы нет КК это либо станция, или даже космопорт на планете, только для простоты посадку на планету сделать мультяшную и перед ней просто выбирать список объектов куда можем прилунится, как в UFO Апокалипсисе.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (12:28 16-01-2009), всего редактировалось 3 раз(а) |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Zachesa : |
для простоты посадку на планету сделать мультяшную и перед ней просто выбирать список объектов куда можем прилунится, как в UFO Апокалипсисе.
|
В X-COM Apocalypse нет посадок на планеты, как и планет вообще.
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (17:58 16-01-2009), всего редактировалось 1 раз |
|
|
Raunijar
215 EGP
  Рейтинг канала: 2(15) Репутация: 46 Сообщения: 245 Откуда: Sol III. Terran swamp Зарегистрирован: 07.01.2008
 |
|
Нет, имелась в виду мультяшность, видимо.
_________________ EkerilaR asugisalas muha haite gagaga ginuga he lija hagalawijubig |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Имелось в виду список объектов, хоть там и была карта, но по сути выбирался просто объект для атаки.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Zachesa, может ты про X-COM Interceptor говоришь?
_________________ У меня бисера не доxеpа. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Значит так. Минимум сделал:
текстуры, текст, мыша, клава, перемещение камеры.
http://s52.radikal.ru/i136/0901/0b/3fe246f64f7a.jpg
седня-завтра пробую гонять по сети кубики в аквариуме со склеенными краями.
После кубиков встанет вопрос:
как удобнее менять ориентацию КК???
мне видется самый вразумительный это из "прибора" передней/задней полусферы. Это таких два круга, в которых показываются угловые положения объектов. Вот там мышкой-клац!..
Можно сделать как в орбиторе - прям от первого лица в 3Д виде.
Просто в пространство клац!
да, кстате, как там в EVE сделано? а то я уже не помню, там кажись даже от третьего лица можно было клацать???
добавлено спустя 5 минут:
Zachesa : |
У себя в проекте ориентацию объектов решил определять тремя углами векторов направлений КК
|
Это кажись углами Эйлера называется, там большой трабл в том, что чтобы объект повернуть надо сделать какието заморочные преобразования.
Zachesa : |
соответственно разницы нет КК это либо станция, или даже космопорт на планете
|
Да, забыл об этом написать, что это и для планет можно.
Shirson : |
В X-COM Apocalypse нет посадок на планеты, как и планет вообще.
|
и планета Земля нет?
Последний раз редактировалось: Tybloman (11:11 18-01-2009), всего редактировалось 1 раз |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
S_Xor : |
Это кажись углами Эйлера называется, там большой трабл в том, чтобы объект повернуть надо сделать какие-то замороченные преобразования.
|
Если честно математические расчёты у меня только прикидочные, но думаю это как раз-то не проблема. Труднее иметь дело с большими цифрами, когда требуется высокая точность. Здесь я решил использовать идею эшелонов (аналогов вроде не встречал, но не настаиваю на оригинальности). Это когда при взаимодействии КК их взаимные координаты рассчитываются в пределах одной или нескольких областей определяемых фазой эшелона, на которые разделены орбиты планет и спутников.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (07:18 19-01-2009), всего редактировалось 2 раз(а) |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Zachesa : |
думаю это как раз-то не проблема
|
http://www.rossprogrammproduct.com/translations/eulers_are_evil.htm
Там как раз в конце статьи пишут про квантерион,
самое смешное, что я как раз и хотел сделать вектор направления и поворот вокруг него. а это вроде как квантириньион и есть
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Спасибо за ссылку, да как философ, я порой забываю о математических нюансах, таких как ошибка округления
К счастью я не правша, а редкий вариант когда оба полушария почти равноценны и пространственным воображением владею хорошо. В данном случае лишь используются разные методики и квантириньион позволяет получить сделать более простыми вычисления. Это как цветовую палитру можно представить разными кодировками (RGB или CMYK) каждая удобнее в каком-то отдельном случае.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
S_Xor : |
Shirson : |
В X-COM Apocalypse нет посадок на планеты, как и планет вообще.
|
и планета Земля нет?
|
Нет Есть квадратный кусок поверхности с Мегапримусом. Планет, как таковых там нет (в отличии от первого или четвёртого XCOM)
_________________ У меня бисера не доxеpа. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Во первых: не квантириньён вращения, а кватернион!
Во вторых легче пока от этого пока не стало
- Пробник КК уже летает. по шагово ) меня прикололо
беда: в ехешник не компилится, какието траблы там с PyOpenGL,
но думаю какнить побороем...
Никто с питоном не разбирался случайно?..
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
S_Xor : |
в ехешник не компилится
|
чем компилишь, где загвоздка?
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Zachesa : |
чем компилишь, где загвоздка?
|
Ну это не совсем компиляция правда )
py2exe
загвоздка в том, что без pyOpenGL'я все компилится,
а с ним выдает ошибку.
точнее все компилится и с ним, но выдает:
"The following modules appear to be missing
OpenGL.platform.CurrentContextIsValid OpenGL.platform.GL"
и еще штук 5 OpenGL.platform.*
а при запуске полученного ехешника пишет : No module named win32
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
py2exe должен быть специальным под каждую версию
ссылка
Вот есть славный батничек.
http://www.helloimyourmind.com/?tag=/py2exe
Если вариантов не останется, что нибудь придумаем.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
[quote="Zachesa"]Если вариантов не останется, что нибудь
Zachesa : |
py2exe должен быть специальным под каждую версию
|
эт да, я от туда и скачивал под свою 2,5 версию. приложения без pyOpenGl работают ок. трабла в pyOpenGl.
Zachesa : |
Вот есть славный батничек.
|
попробывал - не помог. тож самое: No module named win32
вот тут какоет описание с офф.сайта, правдо пишут, что устаревшее.но мож я старую версию юзаю:
http://pyopengl.sourceforge.net/documentation/py2exe.html
Последний раз редактировалось: Tybloman (19:23 13-02-2009), всего редактировалось 1 раз |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
S_Xor : |
выложу исходники, если интересно...
|
Интересно.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
Zaches, я уже хотел добавить, но не успел. Ты быстр )))
прошлый пост обновлен.
3 мин, и ссылку выложу.
добавлено спустя 2 минуты:
исходники:
http://loadfile.ru/27501/
добавлено спустя 11 минут:
ща догружу все, что нужно для установки:
python-2.5.4.msi
PyOpenGL-3.0.0b8.win32.exe
glut32.dll
py2exe-0.6.9.win32-py2.5.exe
все весит всего 16,5 мегабайт!
добавлено спустя 7 минут:
Управление:
камера:
a,d,w,s,r,f,q,e - все понятно )
TAB(табуляция) переключение привязки к КК. тока нажимать быстро, а то сразу обратно переключится.(да, косяк)
собсна КК:
на правой цифровой клавиатуре (нам лок не забываем проверять)
Управление ускорением(типа от движка)
4,6 по оси X
2,8 по оси Y
3,9 по оси Z
5 - выключить ускорение.
кнопка минус (на тойже доп клаве) - рассчитать ускорение, для гашения скорости за один ход
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UPD: space (пробел, которая самая большая кнопка) - просчитать ход!!!
Последний раз редактировалось: Tybloman (20:05 13-02-2009), всего редактировалось 4 раз(а) |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
а это откуда взято, может в нём собака зарыта?
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Tybloman
85 EGP
 Рейтинг канала: 2(14) Репутация: 12 Сообщения: 184 Откуда: Санкт Петербург Зарегистрирован: 24.09.2007
 |
|
вот все, что нужно установить, чтоб запустить (есессно кому интересно)
http://narod.ru/disk/5697599000/install.rar.html
Да, народ.ру! Ну а если на другие не закачивается???
добавлено спустя 3 минуты:
Zachesa : |
а это откуда взято, может в нём собака зарыта?
|
это стандартная библиотека, идущая в примере по OpenGL, который ты давал. собсна она везде одна. и при "сборке exe" думаю это не важно, ибо ее я копировал в папку с exe шником и току ноль...
думаю запостить куданить на соответствующий форум по питону... ибо один убитый вечер не помог. я уж и так и эдок пробывал
добавлено спустя 1 минуту:
UPD: space (пробел, которая самая большая кнопка) - просчитать ход!!!
Последний раз редактировалось: Tybloman (20:06 13-02-2009), всего редактировалось 2 раз(а) |
|
|
|
|
|
Канал Игры Мечты: «ISDG. пошаговая, мультиплеер. Python» |
|