Page 2 sur 4

Re: Mes polygons

Publié : jeu. 18/nov./2010 19:18
par SPH
djes a écrit :8O Comment t'as fait? T'as repompé les originaux?
Ba oui, depuis la video du jeu trouvable sur le net :P

Re: Mes polygons

Publié : jeu. 18/nov./2010 19:27
par flaith
C'est ce que j'allais dire, t'as fait des captures d'écrans et retravaillé au point par point ?
Sinon beau boulot :D

Re: Mes polygons

Publié : jeu. 18/nov./2010 19:29
par djes
Oui, c'est carrément bluffant! Ca me fait penser que j'ai acheté la version PC retravaillée d'Eric Chahi : voir là : http://www.anotherworld.fr/

Re: Mes polygons

Publié : jeu. 18/nov./2010 19:30
par flaith
Moi aussi il y a qq années et il fait parti de mes liens principaux dans mes jeux ;) (je l'avais aussi sur Apple IIGS ou il s'appelait "out of this world") :wink:

Re: Mes polygons

Publié : jeu. 18/nov./2010 20:22
par SPH
Il y a une suite a another world mais c'est plutot moche :
http://www.youtube.com/watch?v=I96KDI6NNHA

Re: Mes polygons

Publié : jeu. 18/nov./2010 20:41
par djes
Oui, sur le site, Eric raconte comment ça a été développé par Interplay sur 3DO, et que ça a été un gros bide.

Re: Mes polygons

Publié : ven. 19/nov./2010 13:33
par SPH
SPH a écrit :Attention, fais a l'arrache mais ca rend bien :
http://xmas.free.fr/pb/anotherworld.zip
8) :lol:
Alors dobro, as tu reussi a voir l'anim grace au code que j'ai mis sur la page precedente ?

Re: Mes polygons

Publié : ven. 19/nov./2010 13:37
par Backup
SPH a écrit : Alors dobro, as tu reussi a voir l'anim grace au code que j'ai mis sur la page precedente ?
Pardon ... oui oui ! :)

j'ai pas tout compris le fonctionnement d'ailleurs , c'est impressionnant , faut que je me penche dessus , mais là suis pas mal occupé ailleurs ... hum :)

Re: Mes polygons

Publié : ven. 19/nov./2010 13:43
par SPH
Chaque fichier ".poly" contient x polygons. Tout le decor est sur le fichier 1. Ensuite je le capture en sprite pour le reafficher et afficher le poly 2 (qui est la premiere sequence de la voiture). Ensuite, decor+ poly 3, etc...

Re: Mes polygons

Publié : ven. 19/nov./2010 13:50
par flaith
Dommage que cela ne soit pas réalisable sous Linux. (pour le moment ?)

Re: Mes polygons

Publié : ven. 19/nov./2010 20:10
par Fig
C'est très très sympa !! 8O
Bon maintenant je veux pouvoir faire bouger cette foutue voiture !! :wink:

Re: Mes polygons

Publié : ven. 19/nov./2010 20:19
par G-Rom
8O super chouette sph !

Toi qui n'avait pas d'inspiration... :D
tu vas pouvoir nous codé un éditeur de .poly pour faire nos propres anim avec possibilité de mettre en fond une image ou une vidéo pour pouvoir calqué des animation déjà existante ! :D

Re: Mes polygons

Publié : ven. 19/nov./2010 20:50
par SPH
Merci merci.

Je me demande si l'on peux faire un polygon avec plus ou moins d'ajpha sur un decor existant !? Ca aiderait pour les effets de lumieres tel les phares de la voiture...

Sinon j'ai deja un editeur de polygon et une routine de rendu. Et pour une voiture qui bouge selon les touches du clavier, ce serait facile. Nan, le plus dur est de faire un scenario et de calquer toutes les images d'une video. :wink:

Re: Mes polygons

Publié : ven. 19/nov./2010 21:24
par G-Rom
ta routine de rendu c'est quoi ?
si c'est en pure pb ca risque d'être chiant à gérer l'alpha.

En OpenGL par exemple :
glBegin(GL_TRIANGLES)
glColor3f(r,g,b,ALPHA)
glVertex3f(...
glVertex3f(...
glVertex3f(...
glEnd()

Re: Mes polygons

Publié : ven. 19/nov./2010 22:15
par SPH
G-Rom a écrit :ta routine de rendu c'est quoi ?
si c'est en pure pb ca risque d'être chiant à gérer l'alpha.

En OpenGL par exemple :
glBegin(GL_TRIANGLES)
glColor3f(r,g,b,ALPHA)
glVertex3f(...
glVertex3f(...
glVertex3f(...
glEnd()
Ma routine qui affiche la voiture another world :

Code : Tout sélectionner

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Another earth - RENDU
; SPH(2010)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

InitSprite() 
InitKeyboard() 
InitMouse()

#dw=1024
#dh=768
#dc=32

If OpenScreen(#dw,#dh,#dc,"Another Earth")=0
MessageRequester("Erreur", "Screen Open ("+Str(#dw)+","+Str(#dh)+",32) : impossible à ouvrir", 0) : End
EndIf

chm$="1.poly" : del=2500 : spr=-1 : Gosub poly
chm$="2.poly" : del=70 : spr=1 : Gosub poly
chm$="3.poly" : del=70 : spr=1 : Gosub poly
chm$="4.poly" : del=70 : spr=1 : Gosub poly
chm$="5.poly" : del=70 : spr=1 : Gosub poly
chm$="6.poly" : del=70 : spr=1 : Gosub poly
chm$="7.poly" : del=70 : spr=1 : Gosub poly
chm$="8.poly" : del=70 : spr=1 : Gosub poly
chm$="9.poly" : del=70 : spr=1 : Gosub poly
chm$="10.poly" : del=70 : spr=1 : Gosub poly
chm$="11.poly" : del=70 : spr=1 : Gosub poly
chm$="12.poly" : del=70 : spr=1 : Gosub poly
chm$="13.poly" : del=70 : spr=1 : Gosub poly
chm$="14.poly" : del=70 : spr=1 : Gosub poly
chm$="15.poly" : del=70 : spr=1 : Gosub poly
chm$="16.poly" : del=70 : spr=1 : Gosub poly
chm$="17.poly" : del=1200 : spr=1: Gosub poly
chm$="18.poly" : del=70 : spr=1 : Gosub poly




Repeat
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
End


poly:
If spr=1
  DisplaySprite(0,0,0)
EndIf

If OpenFile(0, chm$)    ; Ouvre un fichier existant ou en crée un nouveau s'il n'existait pas
  l=Lof(0)
  If l<=0
  Debug("Fichier vide") 
  End
EndIf
l/2
Dim bank.w(l)
For i=0 To l
  bank(i)=ReadWord(0)
Next
CloseFile(0)

EndIf


temps = ElapsedMilliseconds()

; For i=0 To l
;   Debug bank(i)
; Next

;   For i=0 To ici_bank+4
;     Debug bank(i)
;   Next
;   End
la=1 
For i=1 To bank(0)
  u=bank(la)
  ; Dim ps2.Point(nb-1) ; Array of 5 POINT structures
  la+1
  If bank(la)<>-1
    Debug "bank<>-1":End
  EndIf
  la+1
  rvb=RGB(bank(la),bank(la+1),bank(la+2))
  la+3
  
  Dim ps2.Point(u) ; Array of 5 POINT structures

  For p=0 To u
   ps2(p)\x=bank(la):la+1
   ps2(p)\y=bank(la):la+1
Next p
hDC=StartDrawing(ScreenOutput())
Box(0,0,0,0,rvb) ; Would be nice to have a Cls() facility !!!
SetWindowOrgEx_(hDC,00,00,#Null) ; Move origin downwards
Polygon_(hDC,@ps2(0),u+1)
StopDrawing() 
Next

If spr=-1
  GrabSprite(0,0,0,#dw,#dh)
EndIf

;temps = ElapsedMilliseconds()-temps

FlipBuffers() 
Delay(del)

Return