forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Blitz3D (http://forum.boolean.name/forumdisplay.php?f=14)
-   -   РусСофтДрожжи: эксперимент "шутер за 7 дней" (http://forum.boolean.name/showthread.php?t=14496)

Leowey 30.03.2011 17:22

РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Итак, здравствуйте участники сообщества boolean.name. Ну вот и пришла весна, тают льды, поют птички, разцветает жизнь.
Весна влияет на многих и совершенно по разному: одни делают ремонт, другие собирают команду для создания ошеломляющей MMORPG, а третьи сидят тихо в уголке и мечтают о светлом будущем. Вчера весна добралась и до умов скромного коллектива команды РусСофтДрожжи. Каждый из нас занялся своим делом. Krlmisha допиливает сайт и готовится перейти на другой хостинг. Ganociy разрабатывает “The Russian Escape” (кстати, последние скрины доставляют ;) ) . Один я остался без дела, а кроме своих наработок и пары красивых демок у меня ничего не было да и молодой энтузиазм погас пять лет назад. Тренироваться в блитсе я считаю бессмысленным, а изучать другие языки неохота. Выход из тяжёлого положения пришёл внезапно – эксперимент! Эксперименты приносят много пользы, они приносят много опыта, пополняют и так скромную копилку медии и сплачают коллектив. Идея эксперимента пришла также быстро, как и сама мысль о нём же, а именно - «Шутер за семь дней!» .
Идея заключается в следующем: я, в течении недели, разрабатываю играбельную демку самостоятельно, используя только свою медию и библиотеки не требующие ключа. Мой взор остановился на следующих библиотеках: TOKAMAK OP и Ashadow. Эти библиотеки не требуют ключа, и имеют вырвиглазную справку. Также я планирую каждый день, в течении недели, в 23.50 по Московскому времени, публиковать отчёт о проделанной работе .
Если вы, уважаемые модераторы, не заинтересованны в наблюдении за лабораторной крысой, то прошу удалить, либо перенести эту тему в биореактор.
P.S. Если вы заинтересовались в наблюдении за экспериментом, прошу поставить флаг полезности, это будет стимулом для моей дальнейшей работы.
Обсуждение проходит тут

Leowey 31.03.2011 01:04

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Ну вот и первый день разработки подошёл к концу. К сожалению было сделано не много, а именно:

1. Составлен план работ. :-)
2. Сделано большое количество заготовок для текстур.
3. Сделано несколько бесшовных текстур. :super:
4. Сделан framework для физической библиотеки ТОКАМАК (теперь напоминает physx или newton). Рабочее название – “framegibon”
5. Был куплен новый микрофон .
6. Также был страшно измучен ashadow.bb .
7. Была прочитана книга «Съешьте лягушку!». :crazy:


Свои очень скромные труды я выставляю сюда. Все текстуры – освобождены от швов (затайлены), имеют разрешение 512х512 точек в формате JPEG.




http://fotki.yandex.ru/users/leoweyka2007/


P.S. Надеюсь, что завтрашний день будет более плодовитым.

P.P.S. Framegibon тоже выставляю на показ. Прошу не плеваться, писалось на очень скорую руку... :crazy: :crazy: :crazy:





Код:


Const seg=16
Const Rigid_Bodies=10000,Animated_Bodies=1000,Particle_Count=10000
Const infinity=9999999999999999
Const TOK_COLL_DYNAMIC=1,TOK_COLL_STATIC=2,TOK_COLL_PARTICLE=3

Global opBodyCount,opJointCount,opParticleCount
Global colbank

Function phsCreateWorld(plane)
        TOKSIM_SetRigidBodiesCount Rigid_Bodies
        TOKSIM_SetAnimatedBodiesCount Animated_Bodies
        TOKSIM_SetRigidParticleCount Particle_Count ;disabled because particles use rigid bodies
        TOKSIM_SetControllersCount Controllers_Count
        TOKSIM_SetOverlappedPairsCount (Rigid_Bodies*(Animated_Bodies-1))/2
        TOKSIM_SetGeometriesCount Rigid_bodies+Animated_Bodies;+Particle_Count+Controllers_Count ;Assuming each one only has one geometry.  Not true with more complex rigid bodies and animated bodies.
        TOKSIM_CreateSimulator(0,-6.89,0)
       
        ;setup collision bank
        colbank=CreateBank(104*(Rigid_bodies+Animated_Bodies+50))
        TOKSIM_SetCInfoBank colbank
        TOKSIM_SetCollisionResponse TOK_COLL_DYNAMIC,TOK_COLL_DYNAMIC,3
        TOKSIM_SetCollisionResponse TOK_COLL_DYNAMIC,TOK_COLL_STATIC,3
        TOKSIM_SetCollisionResponse TOK_COLL_PARTICLE,TOK_COLL_PARTICLE,0
       
        If plane=1 Then
                ;plane
                xw=1000000
                zw=1000000
                phsBodyCreatePlane(xw, -50, zw)
               
        EndIf
End Function

Function phsSetGravity(gravx, gravy, gravz)
        TOKSIM_SetGravity gravx, gravy, gravz
End Function

Function phsDestroyWorld()
        TOKSIM_DestroySimulator()
End Function

Function phsRenderPhysic(time# = 0.025, sinc%)
        If time > 0 TOKSIM_Advance(time#,sinc%)
End Function

Function phsBodyCreatePlane(x#, y#, z#)
Local ground
                ground = TOKAB_Create()
                TOKAB_AddBox(ground,x*2,100.0,z*2.0)
                TOKAB_SetPosition(ground,0.0,y,0.0)
                TOKRB_SetCollisionID(ground,TOK_COLL_STATIC)
                Return ground
End Function

Function phsBodyCreateCube(dx#, dy#, dz#, mass#)
Local body
        body = TOKRB_Create()
        TOKRB_AddBox body,dx * 2,dy * 2,dz * 2
        ;TOKRB_AddBox body,dy * 2,dx * 2,dz * 2
        TOKRB_SetMass body, mass#
        TOKRB_SetLinearDamping body,0.0001
        TOKRB_SetAngularDamping body,0.0002       
       
        TOKRB_UpdateBoundingInfo(body)
        TOKRB_SetCollisionID(body,TOK_COLL_DYNAMIC)
        TOKRB_SetBoxInertiaTensor body,dx * 2,dy * 2,dz * 2,mass#
       
        Return body
End Function

Function phsBodyCreateSphere(radius#, mass#)
Local body
        body = TOKRB_Create()
        TOKRB_AddSphere (body,radius# * 4)
        TOKRB_SetMass body, mass#
        TOKRB_SetLinearDamping body,0.001
        TOKRB_SetAngularDamping body,0.02       
        TOKRB_SetSphereInertiaTensor body,radius# * .5,mass#
        Return body
End Function

Function phsBodyCreateCapsule(height#, radius#, mass#)
Local body
        body = TOKRB_Create()
        TOKRB_AddCylinder(body,radius#*4, height#*2)
        TOKRB_SetMass body, mass#
        TOKRB_SetLinearDamping body,0.00001
        TOKRB_SetAngularDamping body,0.00002       
        TOKRB_SetCylinderInertiaTensor body,radius#*4,height#*2,mass#
        Return body
End Function

Function phsBodyCreateCylinder(radius#, height#, mass#)
Local body
        body = TOKRB_Create()       
        TOKRB_AddCylinder (body,radius#*4, height#*2)
        TOKRB_SetMass body, mass#
        TOKRB_SetCylinderInertiaTensor body,radius * 4,height * 2,mass#
        TOKRB_SetLinearDamping body,0.0001
        TOKRB_SetAngularDamping body,0.0002       
        Return body
End Function

Function phsBodyCreateHull(meshobj,Convex,mass#=1)
        mw#=MeshWidth(meshobj)*2.5
        mh#=MeshHeight(meshobj)*2.5
        md#=MeshDepth(meshobj)*2.5
        bbb = TOKRB_Create();TOKRB_Create()
        geom=TOKRB_AddConvex(bbb,Convex,BankSize(Convex))
        TOKRB_SetLinearDamping bbb,0.001
        TOKRB_SetAngularDamping bbb,0.02       
        TOKRB_SetMass bbb,mass#
        TOKRB_SetBoxInertiaTensor bbb,mw#,mh#,md#,mass#
        Return bbb
End Function

Function phsBodyCreateTrimesh(mesh)
        scount=CountSurfaces(mesh)
 For ind=1 To scount
  surface=GetSurface(mesh,ind)
  ttltris=ttltris+CountTriangles(surface)
  ttlvert=ttlvert+CountVertices(surface)
 Next
 vertices=CreateBank(16*ttlvert)
 triangles=CreateBank(24*ttltris)
 offsetv=0
 offsett=0
 For ind=1 To scount
  surface = GetSurface(mesh,ind)
  ctr=CountTriangles(surface)
  tric=tric+cvt
  cvt=CountVertices(surface)
  ;fill bank with vertices
  For v=0 To cvt-1
  PokeFloat vertices,offsetv,VertexX#(surface,v)
  PokeFloat vertices,offsetv+4,VertexY#(surface,v)
  PokeFloat vertices,offsetv+8,VertexZ#(surface,v)
  PokeFloat vertices,offsetv+12,0.0
  offsetv=offsetv+16
  Next
  ;fill bank with triangles
  For v=0 To ctr-1
  PokeInt triangles,offsett,tric+TriangleVertex(surface,v,0)
  PokeInt triangles,offsett+4,tric+TriangleVertex(surface,v,1)
  PokeInt triangles,offsett+8,tric+TriangleVertex(surface,v,2)
  PokeInt triangles,offsett+12,2        ; Material ID
  PokeInt triangles,offsett+16,0
  PokeInt triangles,offsett+20,0
  offsett=offsett+24
  Next
 Next

 ;Hand over the terrain data to Tokamak
TOKSIM_SetStaticMesh vertices,ttlvert,triangles,ttltris
 ; Now we can free the banks as Tokamak has copied all data
 FreeBank vertices
 FreeBank triangles

;Return body
End Function

Function phsBodyCreateCompound()
        body = TOKRB_Create()       
        TOKRB_UpdateBoundingInfo(body)
        TOKRB_SetCollisionID(body,TOK_COLL_DYNAMIC)       
        Return body
End Function

Function phsBodyAddCompoundBox(body,w#=1,h#=1,d#=1,x#=0,y#=0,z#=0,pitch#=0,yaw#=0,roll#=0)
        temp_g = TOKRB_AddBox(body,w#*2,h#*2,d#*2)
        TOKGEOM_SetPositionAndRotation(temp_g,x#,y#,z#,pitch#,yaw#,roll#)
        TOKRB_SetLinearDamping temp_g,0.0001
        TOKRB_SetAngularDamping temp_g,0.0002       
End Function

Function phsBodyAddCompoundSphere(body,radius#=1,x#=0,y#=0,z#=0, pitch#=0, yaw#=0, roll#=0)       
        temp_g = TOKRB_AddSphere(body,radius#*4)
        TOKGEOM_SetPositionAndRotation(temp_g,x#,y#,z#,pitch#,yaw#,roll#)       
End Function

Function phsBodyAddCompoundCapsule(body,radius#=1,height#=1,x#=0,y#=0,z#=0,pitch#=0,yaw#=0,roll#=0)       
        temp_g = TOKRB_AddCylinder(body,radius#*2,height#)
        TOKGEOM_SetPositionAndRotation(temp_g,x#,y#,z#,pitch#-90,yaw#,roll#)
End Function

Function phsBodySetCompound(body, mesh, mass#)
        mw#=MeshDepth(mesh)*4
        mh#=MeshDepth(mesh) * 4
        md#=MeshDepth(mesh) * 4
                TOKRB_SetMass body,mass#
                TOKRB_SetBoxInertiaTensor body,mw#,mh#,md#,mass#
        TOKRB_SetLinearDamping body,0.0001
        TOKRB_SetAngularDamping body,0.2       
End Function




Function phsBodySetEntity(mesh, body)
        PositionEntity mesh, TOKRB_GetX(body), TOKRB_GetY(body), TOKRB_GetZ(body)
        RotateEntity mesh, TOKRB_GetPitch(body), TOKRB_GetYaw(body), TOKRB_GetRoll(body), False
End Function

Function phsBodySetPosition(body, x#, y#, z#)
        TOKRB_SetPosition body, x, y, z
End Function

Function phsBodySetRotation(body, x#, y#, z#)
        TOKRB_SetRotation body, x, y, z
End Function


Function phsCreateBallJoint(x#=0,y#=0,z#=0,pitch#=0,yaw#=0,roll#=0,body2=0,body1=0,d#=0,e#=1,i#=100)       
        J = TOKJOINT_Create(3,body2,body1)
        TOKJOINT_SetPositionAndRotationWorld(J,x,y,z,pitch,yaw,roll)
        TOKJOINT_SetType(J,1)
        TOKJOINT_Enable(J,True)
        TOKJOINT_SetDampingFactor J,d#
        TOKJOINT_SetEpsilon J,e#
        TOKJOINT_SetIterations J,i#
        Return J
End Function

Function phsBallJointSetLimit(j,e1=0,MinAng#=0,MaxAng#=0,e2=0,MinAng2#=0,MaxAng2#=0)
        TOKJOINT_SetLowerLimit J,MinAng#/(180/Pi)
        TOKJOINT_SetUpperLimit J,MaxAng#/(180/Pi)
        TOKJOINT_EnableLimit J,e1
        TOKJOINT_SetLowerLimit2 J,MinAng2#/(180/Pi)
        TOKJOINT_SetUpperLimit2 J,MaxAng2#/(180/Pi)
        TOKJOINT_EnableLimit2 J,e2
End Function

Function phsHingeJointCreate(x#=0,y#=0,z#=0,pitch#=0,yaw#=0,roll#=0,body2=0,body1=0,d#=0.5,e#=0.0,i#=10)       
        J = TOKJOINT_Create(3,body2,body1)
        TOKJOINT_SetPositionAndRotationWorld(J,x,y,z,pitch,yaw,roll)
        TOKJOINT_SetType(J,3)
        TOKJOINT_Enable(J,True)
        TOKJOINT_SetDampingFactor J,d#
        TOKJOINT_SetEpsilon J,e#
        TOKJOINT_SetIterations J,i#
        opJointCount=opJointCount+1
        Return J
End Function

Function phsHingeJointSetLimit(j,MinAng#=0,MaxAng#=0)
        If j=0 RuntimeError "Tokamak Warning: There Was no Hinge joint found!"
        TOKJOINT_SetLowerLimit J,MinAng#/(180/Pi)
        TOKJOINT_SetUpperLimit J,MaxAng#/(180/Pi)
        TOKJOINT_EnableLimit J,1
End Function




Leowey 02.04.2011 01:33

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Эх! Жаль, что второй день вылетел в трубу...


Итак, день третий, товарищи!
Этот день прошёл очень даже неплохо! Работы было сделано достаточно для того, чтобы лечь спать с чистой совестью. Вот стандартизированный список:


1. Закончены (приостановлены) работы с текстурами, ибо и так много.
2. Были определены стилистика и сюжет игры (открытых пространств не будет) :punish:
3. Было сделано несколько моделек оружия и "другой бяки которая нахрен никому не нужна" (с)!
4. Был куплен новый, full hd монитор! :super:
5. Из за некоторых багов в TOKAMAK, которые исправляются череззадно, было решено перейди на более адекватный физ двиг.
6. Сделал, вручную, несколько звуковых эффектов (взрыв, сталкивание объектов и т.д. ) :hunter:


На всякий случай, для тех кто не видел, выкладываю здесь скрины из своих скромных работ. :wild:









P.S.

Цитата:

Текстуре кирпича надо бы побольше четкости... а то какая-то размытая
Текстура кирпича достаточно чёткая, но по каким - то причинам смазалась при рендере. :4to:

P.P.S.

Нашёл скрины из своих старых работ (вкладка оффтоп) :













Жаль, что из за брата, проект не просуществовал и неделю! :''(( :''((








P.P.P.S.

Special for pax!

Leowey 03.04.2011 22:44

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Ну вот я и приступил к программной части (2 дня назад)! Руки трясутся, пачка быстрораствАримого кофе опустела и страшно хочется спать. Я стараюсь сократить работу до минимума, ибо сил уже просто нет (В общем, будет нечто вроде "Must die 2") ... Ну ладно, первые скрины будут завтра, а потом и сам проект (в среду, в 16.00 по Московскому времени) . А если не успею, то всё равно постараюсь довести его до конца в ближайшее время...


На всякий случай...

Leowey 05.04.2011 01:16

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Ну вот и дождались! Не до проекта конечно, его ещё надо обработать напильником, но скрины из альфа демки таки есть!!! :-D :-D :-D






((Тест физики))


На вопрос начинающийся "А почему .... ???!!!", я отвечу - время! Его столько же, сколько пальм в арктической пустыне! Плюс школа, плюс выступления с моими другими проектами!!! Так что эти скрины дались мне с большим трудом!


P.S. И да, код написан так, что достаточно проименовать обжекты в максе и загрузить как готовый уровень...

ARA 05.04.2011 01:34

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Цитата:

Не до проекта конечно
Цитата:

Его столько же, сколько пальм в арктической пустыне! Плюс школа, плюс выступления с моими другими проектами!!!
Тогда зачем начинал? Шоб показать какой ты весь из себя занятой?)

Aikon 05.04.2011 02:32

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
ARENSHI,
Цитата:

Ну вот и дождались! Не до проекта конечно
ТелепатМод:
Цитата:

дождались пока не проект, а уже картинки из демки
P.S. Картинки ниче так, надеюсь сырцы будут доступны.

Артем Валерьевич 05.04.2011 12:23

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
эх, вот так всегда. Большая жирная .

Dzirt 06.04.2011 00:45

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
єта тема - полный шлак =\

Harter 06.04.2011 08:36

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Знакомые скрины!
http://www.forum.boolean.name/attach...8&d=1251537806

krlmisha 10.04.2011 21:40

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Цитата:

Сообщение от Harter (Сообщение 185074)

Ну и что? Модель то всё равно не его, а из халвы. А всё остальное Leowey сам.

LLI.T.A.L.K.E.R. 10.04.2011 23:02

Ответ: РусСофтДрожжи: эксперимент "шутер за 7 дней"
 
Надеюсь Leowey не обиделся, не испугался, не разочаровался


Часовой пояс GMT +4, время: 15:02.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot