| FPS(Savior)+Manual | 
|  | 
| 
| serg-kkz | Дата: Среда, 05.10.2011, 22:47 | Сообщение # 1 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Вот сюжет для игры: Savior, предлагаю делать на основе её. Я автору обещал перевести её в 3D. Думаю сгодится для создания учебника. 
 Описание: _http://gcup.ru/forum/28-14258-1 _ - не выделять
 
 Сделал чтоб работало, код нужно еще дорабатывать и дорабатывать. Скорректирую после ваших замечаний. Если есть желание присоединяйтесь.
 
 
 
 Участники проекта.
 
 Для титров.
 
 
 
 Инструкции для 3D моделльеров.
 
 1. Наименование текстур для модели пример:
 -имя текстуры diffuse: name.png
 -имя текстуры normal: name_normal.png
 
 В редакторе назначать только diffuse. Дополнительные карты просто класть рядом.
 
 
 
 Решил выложить наработки, а то подумаете, забросил.
 
 Что реализовано.
 
 Редактор уровней.
 
 1.	Возможность загружать и сохранять уровни.
 2.	Перемещать по координатам XYZ объекты.
 
 Редактор материалов.
 
 1.	Загружать объекты.
 2.	Менять параметры, но без применения к объекту
 
 Игра (приложение)
 
 1.	Меню
 2.	Проигрывание заставок.
 3.	Загрузчик ресурсов.
 
 Нужно скачать и установить библиотеку для работы с XML.
 Elementtree от сюда - http://effbot.org/media/downloads/elementtree-1.2.6-20050316.win32.exe
 
 А так же графическую библиотеку.
 wxPython - http://downloads.sourceforge.net/wxpytho....y26.exe
 
 Это для винды.
 
 Так же перед запуском нужно указать папку с Savior_b_0.4.1 запустив конфигуратор.
 
 ООП  -
   
 
 Сообщение отредактировал serg-kkz - Среда, 21.03.2012, 21:02 |  |  |  |  | 
| 
| serg-kkz | Дата: Понедельник, 22.10.2012, 04:55 | Сообщение # 91 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Ну мне сейчас не до проекта. Поменял место работы, Алтай - на Москву сменил. Вот устраиваюсь. Недавно появился ноут и интернет. И теперь конечно же найдется время продолжить начатое. 
 ООП  -
   |  |  |  |  | 
| 
| ninth | Дата: Понедельник, 22.10.2012, 08:09 | Сообщение # 92 |  |  Admin Группа: Администраторы Сообщений: 1582 Награды: 5 Репутация: 46 Статус: Offline | Ну-с, можно поздравить ) |  |  |  |  | 
| 
| Rawieo | Дата: Суббота, 01.12.2012, 13:18 | Сообщение # 93 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | А можно мне присоединиться? Уж очень хочется помочь чем-нибудь. |  |  |  |  | 
| 
| serg-kkz | Дата: Воскресенье, 02.12.2012, 02:04 | Сообщение # 94 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Quote (Rawieo) Уж очень хочется помочь чем-нибудь.чем, конкретно?
   
 ООП  -
   |  |  |  |  | 
| 
| Rawieo | Дата: Воскресенье, 02.12.2012, 18:45 | Сообщение # 95 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | serg-kkz, я бы мог помочь с кодингом, по подкидывать идей. много чем. я - бывший неудавшийся модмейкер, но, хотя на моем счету нет ни одного мода, талантливый игродел - все упиралось в кодинг и ограничения движка (я тогда под goldsrc тобиш half-life и source тобиш half-life 2 модил). я хороший маппер. я четко осознаю как должно выглядет то, что я хочу сделать (если знаю игру, для которой это делаю), а поскольку в создании проекта участвуют 2 хороших прогера (если не так поправьте) меня ничто не будет ограничивать в создании. еще у меня есть один знакомый модельер - он делал неплохие модельки оружия для cry of fear. Вобще давайте как-нибуд соберемся в скайпе или где-нибудь еще и обсудим все. А сейчас я бы хотел что бы мне рассказали об игре). |  |  |  |  | 
| 
| serg-kkz | Дата: Понедельник, 03.12.2012, 02:01 | Сообщение # 96 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Вот такая идея. Для того чтоб было проще строить карты, напиши класс полигона с натянутой текстурой. 
 ООП  -
   |  |  |  |  | 
| 
| Rawieo | Дата: Понедельник, 03.12.2012, 11:03 | Сообщение # 97 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | да. полигоны это хорошо, но лучше будет если сделать из полигонов браши (кубы), а потом написать прогу (назовем компилятор карт, хотя он не компилятор на самом деле), которая будт удалять ненужные нерисуемые в игре полигоны (этакая пародия на Valve Hammer Editor). Еще будет полезно сделать light-box - это фишка из двигов HPL от Frictional games - это некоторое пространство, в котором все объекты будут одинаково освещены. Лучше будет, если свет в мире будет делиться на статический и динамический тени - тени от статического просчитываются компилятором, а от динамического в игре. Еще будет здорово создать trigger-brash или trigger-polygon - это пространство или плоскость, косаясь которого игрок будет активировать что-нибудь.
 Добавлено (03.12.2012, 10:35)---------------------------------------------
 Мне бы исходные коды ваших творений. архив вверху битый.
 Добавлено (03.12.2012, 10:58)---------------------------------------------
 Не знаю, все ли я правильно сделал. Как-то так:
 
 Code  from panda3d.core import Triangulator,GeomVertexFormat,GeomVertexData,Geom,GeomVertexWriter,GeomTriangles,GeomNode
 
 class polygon(object):
 def __init__(self,texture,vertices=[]):
 self.vertices=list(tuple(v) for v in vertices)
 def addVertex(self,x,y):
 self.vertices.append((x,y))
 def makeNode(self,pointmap=(lambda x,y: (x,y,0))):
 vt=tuple(self.vertices)
 t=Triangulator()
 fmt=GeomVertexFormat.getV3()
 vdata=GeomVertexData('name', fmt, Geom.UHStatic)
 vertex=GeomVertexWriter(vdata, 'vertex')
 for x,y in vt:
 t.addPolygonVertex(t.addVertex(x,y))
 vertex.addData3f(pointmap(x,y))
 t.triangulate()
 prim=GeomTriangles(Geom.UHStatic)
 for n in xrange(t.getNumTriangles()):
 prim.addVertices(t.getTriangleV0(n),t.getTriangleV1(n),t.getTriangleV2(n))
 prim.closePrimitive()
 geom=Geom(vdata)
 geom.addPrimitive(prim)
 node=GeomNode('gnode')
 node.addGeom(geom)
 return node
 
Создается 2мя строками:
 
 Code  poly=Polygon([(0,0),(0,1),(1,1),(1,0)])
 nodePath = render.attachNewNode(poly.makeNode())
 
Добавлено (03.12.2012, 11:03)---------------------------------------------
 D:\Rawieo\dev\python\minelife>D:\Panda3D-1.8.0\python\python.exe -E main.py
 DirectStart: Starting the game.
 Known pipe types:
 wglGraphicsPipe
 (all display modules loaded.)
 Assertion failed: num_points >= 2 at line 356 of c:\buildslave\release_sdk_win32
 \build\panda3d\panda\src\mathutil\triangulator.cxx
 Assertion failed: choose_idx < (int)permute.size() at line 397 of c:\buildslave\
 release_sdk_win32\build\panda3d\panda\src\mathutil\triangulator.cxx
 Assertion failed: choose_idx < (int)permute.size() at line 397 of c:\buildslave\
 release_sdk_win32\build\panda3d\panda\src\mathutil\triangulator.cxx
 Для продолжения нажмите любую клавишу . . .
 |  |  |  |  | 
| 
| Rawieo | Дата: Понедельник, 03.12.2012, 13:36 | Сообщение # 98 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | Вобщем мне что-то удалось, только это не с помощью этого класса был сделано, а с помощью экземпляра класса CardMaker, но д умаю он тоже сойдет, ибо кубы кубами, а сложные фигуры из брашей не сотворишь - вместо них модельки. |  |  |  |  | 
| 
| serg-kkz | Дата: Понедельник, 03.12.2012, 19:03 | Сообщение # 99 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | Вообщем так, попробуй написать генератор туннелей и лабиринтов на основе твоего класса. Думаю пока временно использовать генерируемые карты в проекте. Это как раз по твоему направлению. Архив перезалью как приобрету usb контейнер для ноута, чтоб подключить хард где у меня все храниться. Код выкладывай здесь, или создай тему в соответствующем разделе.
 
 ООП  -
   |  |  |  |  | 
| 
| Rawieo | Дата: Понедельник, 03.12.2012, 20:54 | Сообщение # 100 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | При создании экземпляра класса интерпертатору не нравится t.triangulate() - мой класс нужно доработать более опытному программисту. Дайте мне ваши исходники и поясните все - может у вас заработает. |  |  |  |  | 
| 
| serg-kkz | Дата: Понедельник, 03.12.2012, 23:15 | Сообщение # 101 |  |  Генерал-полковник Группа: Модераторы Сообщений: 803 Награды: 3 Репутация: 18 Статус: Offline | 
 А как ты получил это?
 
 ООП  -
   
 
 Сообщение отредактировал serg-kkz - Понедельник, 03.12.2012, 23:16 |  |  |  |  | 
| 
| Rawieo | Дата: Вторник, 04.12.2012, 22:39 | Сообщение # 102 |  |  Сержант Группа: Пользователи Сообщений: 24 Награды: 0 Репутация: 0 Статус: Offline | с помощью экземпляра класса CardMaker - мне кажется для создания плоских прямоугольных полигонов лучше использовать его или класс, наследующий его свойства. Добавлено (04.12.2012, 22:39)---------------------------------------------
 Да кстати - мне не кажется что генератор рандомных лабиринтов - хорошая идея.
 |  |  |  |  | 
| 
| ninth | Дата: Пятница, 18.01.2013, 21:39 | Сообщение # 103 |  |  Admin Группа: Администраторы Сообщений: 1582 Награды: 5 Репутация: 46 Статус: Offline | К слову, о лабиринтах, как освобожусь, может выкину сюда генератор (ога, люблю я генераторы), который генерирует примерно такие комнаты с коридорами 
 
 |  |  |  |  |