Ich glaube kaum, daß das jetzt entschieden werden mußXaby hat geschrieben:Haben wir uns schon auf eine HintergrundMusik für unser Projekt geeinigt?
Neue coole Spiele für PureBasic

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Na, Xaby warum entwickeln wir hier nicht im Forum ein paar einheitliche Formate die dann mit dafür ausgelegten Userlibs genutzt werden können.
Ich meine so ne Art freien Standard für Mapformate und so ein Zeugs.....
So kann der Kollege direkt am Programm rumwerkeln und muss nicht erstmal einen Mapeditor oder so bauen.
Genauso vielleicht eine in PB programmierte 3D-Engine auf Basis von OpenGL/DX für die wir ein einfaches und frei einsehbares Model und Mapformat aufbauen könnten.
Dann könnten sich gleich mehrere Leute an die Entwicklung von Editoren
und Toolkits machen und wenn es mehrere gibt ist auch nicht schlimm.
Ich meine so ne Art freien Standard für Mapformate und so ein Zeugs.....
So kann der Kollege direkt am Programm rumwerkeln und muss nicht erstmal einen Mapeditor oder so bauen.
Genauso vielleicht eine in PB programmierte 3D-Engine auf Basis von OpenGL/DX für die wir ein einfaches und frei einsehbares Model und Mapformat aufbauen könnten.
Dann könnten sich gleich mehrere Leute an die Entwicklung von Editoren
und Toolkits machen und wenn es mehrere gibt ist auch nicht schlimm.
I´a dllfreak2001
Klingt gut. Meine Rede.
Aber das Wort UserLIB, ich weiß nicht
Mit denen stehe ich auf Kriegsfuß. Zu oft einen Po-Link-Error.
Klingt wie Hinternverknüpfungsfehler.
Folgender Vorschlag:
- wir basteln an Inklude-Dateien, die interpretieren können
- wenn die optimiert sind, schlagen wir Fred vor, dass es zu PureBasic-Festbefehlen wird.
Editoren können wir basteln und die Formate sollten wenn möglich von Menschen lesbar sein. Zu mindest in der Entwicklungsphase.
Ich bin immer noch der Überzeugung, dass Strings eine gute Sache sind.
Zum Beispiel:
CreateTextureAusString(0,"BLAundBLUBXYcosinusZ3D-Uyz3GB,43534")
CreateMeshAusString(0,"SchnickSchnackSchnuck")
TexturiereMeshMitTextur(0,0)
Hier mal meine Gedanken, was wir machen könnten, ist nicht unbedingt vollständig, kann fehlerhaft sein. Waren erstmal nur Überlegungen und die sind auch schon ein paar Tage alt.
Ich hatte vor einiger Zeit mal in einem Thread behauptet, dass man mit der Mathematik der 12. Klasse, etwas Geometrieverständnis, sich ganz leicht selbst eine 3D-Engine basteln kann.
Um diese Behauptung zu festigen, hab ich mich mal rangemacht und ein bisschen probiert. Und ja, es ist möglich, leider finde ich das Thema nicht mehr.
Habt ihr mal in der Suche: Engine 3D
eingegeben. Da wird man überhäuft mit Themen, die alle zu keinem Schluss führen.
DreamMotion, Ogre, Irrlicht und eigene Engines aus Sprite3D zusammengewürfelt. Oft wird jedes mal neu diskutiert, was wie funktioniert, welche Engine benutzt werden sollte etc.
Und wie man ein 3D-Spiel überhaupt beginnt.
Viele von den Themen haben keine aktuellen Verweise mehr, auch bekannt unter: Broken Links
StreenShots und Download-ZIPs oder DLLs fehlen.
QuellCode ist unvollständig, fehlerhaft oder einfach aus anderen Gründen nicht ausführbar.
Ich stelle nicht das Forum in Frage, die Frage ist nur, ob man bei PureBasic 4.x nicht einen Strich ziehen sollte und sagt, wir lassen das Forum als Archiv bestehen. Schreiben nun aber in einem neuen Forum geordneter Code und nur noch PureBasic 4.x Code. Wer 3.3 oder 3.94 hat, geht halt ins andere Forum.
Auch sollten Anfängerfragen und 3D-Fragen getrennt werden.
Sonst tauchen im Anfängerforum immer wieder Fragen auf wie:
Wie mache ich ein 3D-Spiel.
Also selbst wenn eine Antwort im Forum steht, man wird sie nicht finden oder schneller sein, wenn man es selbst ausprobiert.
Eine wirklich gute Seite ist:
http://www.purearea.net/pb/CodeArchiv/German.html#13
Hat noch einige Schwächen, aber grob kann man sagen, dass es ein Meilenstein in PureBasic ist
Worauf legen wir bei unserem Projekt Wert?
Ich bin für
[quote]
- einfacher Code, wenig Zeilen für Erfolg nötig
- EXE läuft ohne DLLs (Engines müssen integrierbar sein)
- Gut wäre, Code funktioniert ohne Mediendaten ohne Fehler
(nicht vorhandene Grafiken werden automatisch erzeugt oder durch Fehlbilder mit gleichen Eigenschaften ersetzt)
[quote]
Ich denke, es ist möglich, zum Beispiel ein Spiel wie PureBlock auf 100 kByte zu bringen, ohne merklichen Unterschied statt ~ 1.2 MB ohne dass es ausführbar ist und + weitere 1.5 MB mit 3D Engine und stlport_vc646.dll, damit das Spiel läuft. Also knapp 3 MB groß.
Gut, ob nun 100 kByte oder 3 MB spielt heute kaum noch eine Rolle.
Und wir müssen ja nicht den Preis der kleinsten 3D-Prgramme gewinnen.
Aber möglich ist es, auch mit reinem PB-Code.
Hier mal ein Versuch von mir
>>>> Make or Buy?
Nutzen wir eine vorhandene Engine oder machen wir eine simple Engine, die wenigstens texturierte Quader mit gleichmäßigem Licht versehen kann. Transparenz sollte kein Problem mehr sein und wie man mit QuellCode schicke Texturen erzeugt, haben wir ja auch schon geübt.
Hier mal ein weiteres Beispiel einer 3D-Engine, allerdings hab ich mich verrant. Denn um meine Meshes nun Texturieren zu können, fällt mir keine einfache Lösung ein, wie ich nicht alles doppelt und dreifach im Speicher habe bzw. mir einen Wolf schreibe.
Z-Buffering gibt es natürlich nicht. Wie gesagt, war nur ein Test.
Zurzeit bastel ich an einem Sound-Editor.
Und für die Erzeugung möchte ich noch einmal auf meinen Code hinweisen:
http://www.purebasic.fr/german/viewtopi ... r&start=20
Da eine Stimme als Musik etwas langweilig ist, überlege ich an einer Methode, wie man sagen wir 16 Spuren gleichzeitig ansteuern kann.
Ich denke, der Syntax wird ähnlich sein:
CreateMusic(MusikID, VoiceNumber,MusicString$)
Die Frage ist nur, wie kann ich das Ganze ohne globale Variablen, Arrays machen und immer Zeitscheiben zuweisen, damit die Töne abgespielt werden.
Müsste irgendwas sein wie FlipBuffer()
Nur halt für die Musik.
Hier eine kleine Präsentation
http://www.folker-linstedt.de/software/FL_mj.zip
Vor der Frage nach dem Format stehe ich noch
MIDI würde sich ja anbieten. Aber MIDI lässt sich schwer einfach als STRING einbinden.
Aber das Wort UserLIB, ich weiß nicht
Mit denen stehe ich auf Kriegsfuß. Zu oft einen Po-Link-Error.
Klingt wie Hinternverknüpfungsfehler.
Folgender Vorschlag:
- wir basteln an Inklude-Dateien, die interpretieren können
- wenn die optimiert sind, schlagen wir Fred vor, dass es zu PureBasic-Festbefehlen wird.
Editoren können wir basteln und die Formate sollten wenn möglich von Menschen lesbar sein. Zu mindest in der Entwicklungsphase.
Ich bin immer noch der Überzeugung, dass Strings eine gute Sache sind.
Zum Beispiel:
CreateTextureAusString(0,"BLAundBLUBXYcosinusZ3D-Uyz3GB,43534")
CreateMeshAusString(0,"SchnickSchnackSchnuck")
TexturiereMeshMitTextur(0,0)
Hier mal meine Gedanken, was wir machen könnten, ist nicht unbedingt vollständig, kann fehlerhaft sein. Waren erstmal nur Überlegungen und die sind auch schon ein paar Tage alt.
Code: Alles auswählen
;/ Folker Linstedt
;/ 2008-02-12
;/ Einfache 3D-Engine für PureBasic.
;/ Vor und Nachteile: Einfache Einbindung, kleine ausführbare-Datei, Engine in ausführbarer-Dater
;/ Wofür geeignet: Für Spiele, DEMOs, Tests, Physikberechnungen, vor allem kleine ausführbare Programme
;/ Nutzen : Es wird keine externe Ogre-Engine oder Irrlicht-Engine benötigt
;/ Grenzen: keine komplexe 3D-Engine, KEINE LICHTEFFEKTE, einfache Meshverwaltung, einfache Texturierung, einfache Animationen
;/ Partikeleffekte werden extra verwaltet
;/ KEINE VERWENDUNG ANDERER LIBS NOTWENDIG, PLATTFORM UNABHÄNGIG (keine PBBT Userlib-Packet oder PBOSL, RAD neu erfunden, kann Nachteile haben)
;{ Soll Beinhaltet:
; Meshverwaltung, Kollisionstest, einfache Physik
; ((Fenster und Iconverwaltung, Meshes ohne Z-Wert, Mausverwaltung 2D/3D, Meshes auch ohne Sprites verwendbar, Line-Befehle, 2D-Drawing ))
; Einfache Belegung von MeshParts für Animationen, Parent und Childs
; MeshGenerator, aus Texturen (Landschaften), einfaches erstellen von Primitives wie Quader (und Würfel), Pyramiden
; Texturgenerator für Sprites und Images, erweitertes Vektorzeichenprogramm, als BONUS: Raytracer, Mandala-Zeichner
; Effektgenerator
; Sound-FX-generator (+TextToSpech)
; Musik-Melodie-(MOD)-Abspieler, Soundsystem mit 3D-Sound-Emulation, kein FMOD notwendig
;
; mögliche Erweiterungen Hilfe-Textgenerator, Verzeichnisbaumegenerator, Packer
;}
;/ Aufgabenliste, nach Priorität geordnet
; 3D Wires, Meshes, MeshVerwaltung
; Sprite 3D, Texturierung
; Zeichenprogramm/skript für Images/Sprites
; Sound-Integration
Um diese Behauptung zu festigen, hab ich mich mal rangemacht und ein bisschen probiert. Und ja, es ist möglich, leider finde ich das Thema nicht mehr.
Habt ihr mal in der Suche: Engine 3D
eingegeben. Da wird man überhäuft mit Themen, die alle zu keinem Schluss führen.
DreamMotion, Ogre, Irrlicht und eigene Engines aus Sprite3D zusammengewürfelt. Oft wird jedes mal neu diskutiert, was wie funktioniert, welche Engine benutzt werden sollte etc.
Und wie man ein 3D-Spiel überhaupt beginnt.
Viele von den Themen haben keine aktuellen Verweise mehr, auch bekannt unter: Broken Links
StreenShots und Download-ZIPs oder DLLs fehlen.
QuellCode ist unvollständig, fehlerhaft oder einfach aus anderen Gründen nicht ausführbar.
Ich stelle nicht das Forum in Frage, die Frage ist nur, ob man bei PureBasic 4.x nicht einen Strich ziehen sollte und sagt, wir lassen das Forum als Archiv bestehen. Schreiben nun aber in einem neuen Forum geordneter Code und nur noch PureBasic 4.x Code. Wer 3.3 oder 3.94 hat, geht halt ins andere Forum.
Auch sollten Anfängerfragen und 3D-Fragen getrennt werden.
Sonst tauchen im Anfängerforum immer wieder Fragen auf wie:
Wie mache ich ein 3D-Spiel.
Also selbst wenn eine Antwort im Forum steht, man wird sie nicht finden oder schneller sein, wenn man es selbst ausprobiert.
Eine wirklich gute Seite ist:
http://www.purearea.net/pb/CodeArchiv/German.html#13
Hat noch einige Schwächen, aber grob kann man sagen, dass es ein Meilenstein in PureBasic ist
Worauf legen wir bei unserem Projekt Wert?
Ich bin für
[quote]
- einfacher Code, wenig Zeilen für Erfolg nötig
- EXE läuft ohne DLLs (Engines müssen integrierbar sein)
- Gut wäre, Code funktioniert ohne Mediendaten ohne Fehler
(nicht vorhandene Grafiken werden automatisch erzeugt oder durch Fehlbilder mit gleichen Eigenschaften ersetzt)
[quote]
Ich denke, es ist möglich, zum Beispiel ein Spiel wie PureBlock auf 100 kByte zu bringen, ohne merklichen Unterschied statt ~ 1.2 MB ohne dass es ausführbar ist und + weitere 1.5 MB mit 3D Engine und stlport_vc646.dll, damit das Spiel läuft. Also knapp 3 MB groß.
Gut, ob nun 100 kByte oder 3 MB spielt heute kaum noch eine Rolle.
Und wir müssen ja nicht den Preis der kleinsten 3D-Prgramme gewinnen.
Aber möglich ist es, auch mit reinem PB-Code.
Hier mal ein Versuch von mir
Code: Alles auswählen
EnableExplicit
Structure p3D
x.l
y.l
z.l
x2D.l
y2D.l
EndStructure
Global NewList E3D.p3D()
Procedure AddE3DPoint(x,y,z)
AddElement(E3D())
E3D()\x=x
E3D()\y=y
E3D()\z=z
EndProcedure
;/ Wurfel vorn
AddE3DPoint(100, 100,100); oben rechts 0
AddE3DPoint(100,-100,100); unten rechts 1
AddE3DPoint(-100,-100,100); unten links 2
AddE3DPoint(-100,100,100); oben links 3
;/ genau gegenüber
AddE3DPoint(100,100,-100) ; 4
AddE3DPoint(100,-100,-100) ; 5
AddE3DPoint(-100,-100,-100) ; 6
AddE3DPoint(-100,100,-100) ; 7
AddE3DPoint(-150,0,0)
;/ Ground
#Breite=64
AddE3DPoint(-#Breite,-100,-#Breite)
AddE3DPoint( #Breite,-100,-#Breite)
AddE3DPoint( #Breite,-100, #Breite)
AddE3DPoint(-#Breite,-100, #Breite)
;/ Damit Verzerrungen minimiert werden, müssen Flächen
;/ in kleinere Flächen geteilt werden!
Global cos.f, sin.f, temp.f, angle.f=0, ZeitMessung=0, scaleFactor.f=1, PI.f=3.1415926999999; gerundet
Procedure UpDateVerts()
Protected rx, ry, rz
rx=((E3D()\x*cos)-(E3D()\z*sin))
ry=E3D()\y
rz=((E3D()\z*cos)+(E3D()\x*sin))
E3D()\x2D=240-(rx/(1+((rz*scaleFactor)/500)))
E3D()\y2D=160-(ry/(1+((rz*scaleFactor)/500)))
EndProcedure
Procedure Calc()
;/If (angle>PI) ;/ Schlüssel
If (angle<PI)
If angle<(0.5*PI)
temp=((angle*(2/PI))-0.5)
sin=(0.75-((temp*temp)-temp))
cos=(0.75-((temp*temp)+temp))
Else
temp=((((PI-angle)*(2/PI)))-0.5)
sin=(0.75-((temp*temp)-temp))
cos=(-0.75+((temp*temp)+temp))
EndIf
Else ;/ ohne Sonst sieht es ganz schön schlimm aus
If angle<(1.5*PI)
temp=(((angle-PI)*(2/PI))-0.5)
sin=(-0.75+((temp*temp)-temp))
cos=(-0.75+((temp*temp)+temp))
Else
temp=((((2*PI)-angle)*(2/PI))-0.5)
sin=(-0.75+((temp*temp)-temp))
cos=(0.75-((temp*temp)+temp))
EndIf
EndIf
EndProcedure
Procedure V2DLine(E1,E2)
Protected x, y
If E1 < CountList(E3D()) and E2 < CountList(E3D())
SelectElement(E3D(),E1)
x=E3D()\x2D
y=E3D()\y2D
SelectElement(E3D(),E2)
LineXY(x,y,E3D()\x2D,E3D()\y2D,RGB(0,255,0)) ;/ grüne Linie
EndIf
EndProcedure
Procedure Draw2D()
StartDrawing(ImageOutput(0))
Box(0,0,480,360,0)
Plot(240,180,RGB(255,255,255))
ForEach E3D()
Calc()
UpDateVerts()
Circle(E3D()\x2D,E3D()\y2D,4,RGB(255,0,0))
Next
V2DLine(0,1)
V2DLine(1,2)
V2DLine(2,3)
V2DLine(3,0)
V2DLine(0,4)
V2DLine(1,5)
V2DLine(2,6)
V2DLine(3,7)
V2DLine(4,5)
V2DLine(5,6)
V2DLine(6,7)
V2DLine(7,4)
V2DLine(8,2)
V2DLine(8,3)
V2DLine(8,6)
V2DLine(8,7)
StopDrawing()
SetGadgetState(0,ImageID(0))
EndProcedure
Procedure createGadgets()
CreateImage(0,480,360)
ImageGadget(0,10,5,480,360,ImageID(0),#PB_Image_Border)
EndProcedure
Procedure fortlaufend()
If (ElapsedMilliseconds()-ZeitMessung)>(1000/50)
angle+0.05
If (angle<0)
angle+(2*PI)
EndIf
If (angle>(2*PI))
angle-(2*PI)
EndIf
Draw2D()
ZeitMessung=ElapsedMilliseconds()
EndIf
EndProcedure
Procedure CreateSprites()
protected x,y
CreateSprite(0,128,128,#PB_Sprite_Texture)
CreateSprite(1,128,128,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(0))
Box(0,0,SpriteWidth(0),SpriteHeight(0),RGB(255,64,0))
Box(5,5,40,15,RGB(0,64,100))
LineXY(0,0,SpriteWidth(0),SpriteHeight(0),RGB(0,0,255))
LineXY(0,SpriteHeight(0),SpriteWidth(0),0,RGB(0,0,255))
StopDrawing()
StartDrawing(SpriteOutput(1))
Box(0,0,SpriteWidth(0),SpriteHeight(0),RGB(0,64,0))
For y=0 to 10
For x=0 to 10
Box(12*x,12*y,8,8,RGB(0,64+Random(40),100))
Next
Next
StopDrawing()
CreateSprite3D(0,0)
CreateSprite3D(1,1)
EndProcedure
Procedure X2D(E)
SelectElement(E3D(),E)
ProcedureReturn E3D()\x2D
EndProcedure
Procedure Y2D(E)
SelectElement(E3D(),E)
ProcedureReturn E3D()\y2D
EndProcedure
Procedure DrawSprites()
Start3D()
TransformSprite3D(1,X2D(9),Y2D(9),X2D(10),Y2D(10),X2D(11),Y2D(11),X2D(12),Y2D(12))
DisplaySprite3D(1,0,0)
TransformSprite3D(0,X2D(0),Y2D(0),X2D(1),Y2D(1),X2D(5),Y2D(5),X2D(4),Y2D(4))
DisplaySprite3D(0,0,0)
TransformSprite3D(0,X2D(0),Y2D(0),X2D(4),Y2D(4),X2D(7),Y2D(7),X2D(3),Y2D(3))
DisplaySprite3D(0,0,0)
TransformSprite3D(0,X2D(4),Y2D(4),X2D(5),Y2D(5),X2D(6),Y2D(6),X2D(7),Y2D(7))
DisplaySprite3D(0,0,0)
TransformSprite3D(0,X2D(0),Y2D(0),X2D(1),Y2D(1),X2D(2),Y2D(2),X2D(3),Y2D(3))
DisplaySprite3D(0,0,0)
TransformSprite3D(0,X2D(0),Y2D(0),X2D(4),Y2D(4),X2D(5),Y2D(5),X2D(1),Y2D(1))
DisplaySprite3D(0,0,0)
Stop3D()
EndProcedure
If OpenWindow(0,0,0,600,750,"FL 3D - ACHTUNG! Bei Window-Events wird 3D mit Texturen unterbrochen!",#PB_Window_ScreenCentered | #PB_Window_SystemMenu) and CreateGadgetList(WindowID(0))
InitSprite()
OpenWindowedScreen(WindowID(0),10,380,480,360,0,0,0)
InitSprite3D()
CreateSpriteS()
Sprite3DQuality(1)
createGadgets()
Draw2D()
define Event.l, Quit, GadgetNr
Repeat
Repeat
Event=WaitWindowEvent(20)
If Event=16
Quit=1
ElseIf Event=#PB_Event_Gadget
GadgetNr=EventGadget()
EndIf
;/ fortlaufend
fortlaufend()
Until Event=0
FlipBuffers()
ClearScreen(0)
DrawSprites()
Until Quit
EndIf
Nutzen wir eine vorhandene Engine oder machen wir eine simple Engine, die wenigstens texturierte Quader mit gleichmäßigem Licht versehen kann. Transparenz sollte kein Problem mehr sein und wie man mit QuellCode schicke Texturen erzeugt, haben wir ja auch schon geübt.
Hier mal ein weiteres Beispiel einer 3D-Engine, allerdings hab ich mich verrant. Denn um meine Meshes nun Texturieren zu können, fällt mir keine einfache Lösung ein, wie ich nicht alles doppelt und dreifach im Speicher habe bzw. mir einen Wolf schreibe.
Z-Buffering gibt es natürlich nicht. Wie gesagt, war nur ein Test.
Code: Alles auswählen
;/ Folker Linstedt
;/ 2008-02-01
;/ 3D-Engine
EnableExplicit
Structure p3D ;/ 3D-Punkt mit zugehörigem 2D-Projektionspunkt
;/ 3D-Koordinaten
x.l
y.l
z.l
;/ 2D-Projektion
x2D.l
y2D.l
color.l
;/ PunktID
ID.l ;/ wird nicht verwendet
EndStructure
Structure lID; Line
ID1.l ;/ IDs aus der Liste E3D
ID2.l
color.l ;
EndStructure
Structure MID; Mesh
ID1.l ;/ IDs aus der Liste E3D
ID2.l
color.l ;
MID.l ; ID des Meshes
EndStructure
Structure rID; Rectangle(i) / Texture
ID1.l ; oder auch nur zwei IDs, LinienIDs
ID2.l
ID3.l
ID4.l
color.l
EndStructure
Global NewList E3D.p3D()
Global NewList LID.lID()
Global Dim LIX.lID(0)
Global Dim EDim.p3D(0)
Global NewList Mesh.MID(); Erste PunktID aus E3D bis letzte PunktID von dem Mesh/LinienGruppe
Procedure.l AddMesh()
Protected ID
ID=CountList(E3D())
AddElement(Mesh())
Mesh()\MID=CountList(Mesh())
Mesh()\ID1=ID
Mesh()\ID2=ID
Mesh()\color=E3D()\color
ProcedureReturn Mesh()\MID
EndProcedure
Procedure EndMesh()
Mesh()\ID2=CountList(E3D())-1
EndProcedure
Procedure MoveMesh(MID,x,y,z);/ MoveMesh erst nach FromListToArry()
Protected i
SelectElement(Mesh(),MID)
For i=Mesh()\ID1 To Mesh()\ID2
EDim(i)\x+x
EDim(i)\y+y
EDim(i)\z+z
Next
EndProcedure
Procedure SetMeshColor(MID,color) ; Alle Linien des Mesh müssen eine neue Farbe bekommen
EndProcedure
Procedure AddE3DPoint(x,y,z,f)
AddElement(E3D())
E3D()\x=x
E3D()\y=y
E3D()\z=z
E3D()\color=f
E3D()\ID=CountList(E3D())-1
EndProcedure
Procedure.l Test3DPoints(x,y,z,f,d=0)
Protected Dings.l=0, ID.l
If d
ForEach E3D()
If (E3D()\x=x) And (E3D()\y=y) And (E3D()\z=z)
ID=E3D()\ID
Dings=0
Break
Else
Dings=1
EndIf
Next
EndIf
If Dings Or CountList(E3D())=0 Or Not(d)
AddE3DPoint(x,y,z,f)
EndIf
ID=E3D()\ID
ProcedureReturn ID
EndProcedure
Procedure AddLineIDs(ID1, ID2, f)
AddElement(LID())
LID()\ID1=ID1
LID()\ID2=ID2
LID()\color=f
EndProcedure
Procedure AddQuader(x,y,z,f,XB=20,YB=20,ZB=20,d=0) ; float / double
Protected ID, IDE, wx, wy, wz,i,c=0
wx=XB/2
wy=YB/2
wz=ZB/2
If wx=0
c+1
EndIf
If wy=0
c+1
EndIf
If wz=0
c+1
EndIf
If c=2
Test3DPoints(x-wx,y-wy,z-wz,f)
ID=E3D()\ID
Test3DPoints(x+wx,y+wy,z+wz,f)
AddLineIDs(ID,ID+1,f)
ElseIf c<2
If wy<>0
Test3DPoints(x-wx,y+wy,z-wz,f)
ID=E3D()\ID
EndIf
Test3DPoints(x-wx,y-wy,z-wz,f)
If wy=0
ID=E3D()\ID
EndIf
If wx<>0
Test3DPoints(x+wx,y-wy,z-wz,f)
If wy<>0
Test3DPoints(x+wx,y+wy,z-wz,f)
EndIf
EndIf
If wz<>0
If wy<>0
Test3DPoints(x-wx,y+wy,z+wz,f)
EndIf
Test3DPoints(x-wx,y-wy,z+wz,f)
If wx<>0
Test3DPoints(x+wx,y-wy,z+wz,f)
If wy<>0
Test3DPoints(x+wx,y+wy,z+wz,f)
EndIf
EndIf
EndIf
IDE=E3D()\ID
AddLineIDs(ID,ID+1,f)
AddLineIDs(ID+2,ID+3,f)
If wz=0 Or IDE-ID>3
AddLineIDs(ID+1,ID+2,f)
AddLineIDs(ID+3,ID,f)
Else
AddLineIDs(ID+1,ID+3,f)
AddLineIDs(ID+2,ID ,f)
EndIf
If IDE-ID>3
AddLineIDs(ID+4,ID+5,f)
AddLineIDs(ID+5,ID+6,f)
AddLineIDs(ID+6,ID+7,f)
AddLineIDs(ID+7,ID+4,f)
AddLineIDs(ID,ID+4,f)
AddLineIDs(ID+1,ID+5,f)
AddLineIDs(ID+2,ID+6,f)
AddLineIDs(ID+3,ID+7,f)
EndIf
Else
;/ Nur Punkt
EndIf
EndProcedure
Procedure AddCube(x,y,z,G,F,d=0); x,y,z
AddQuader(x,y,z,f,g,g,g,d)
EndProcedure
Global ZeitMessung=0, PI.f=3.1415926999999; gerundet
Global Dim cosV.f(2)
Global Dim sinV.f(2)
Global Dim angle.f(2)
cosV(0)=1
sinV(0)=0
cosV(1)=-1;-1
sinV(1)=0;0
cosV(2)=1;1
sinV(2)=0;0
angle(1)=PI
Procedure UpDateVertsDim(i);/ Umrechnung der Projektion
Protected Yrx, Yry, Yrz, Xrx, Xry, Xrz, Zrx, Zry, Zrz, rx, ry, rz, x, y, z, scaleFactor.f=1
;/ Drehung um Y-Achse
x=EDim(i)\x
z=EDim(i)\z
y=EDim(i)\y
;/ Kamera bewegen
;x-100
;y+100
z+0;
;/ Drehung um Y-Achse
Yrx=(x*cosV(0))+(z*sinV(0)) ;/ Minus Z
Yry=y
Yrz=(-z*cosV(0))+(x*sinV(0)) ;/ Minus Z
;/ Drehung um X-Achse
Xrx=Yrx
Xry=(Yry*cosV(1))+(Yrz*sinV(1))
Xrz=(-Yrz*cosV(1))+(Yry*sinV(1))
;/ Drehung um Z-Achse
Zrx=(Xrx*cosV(2))+(Xry*sinV(2))
Zry=(-Xry*cosV(2))+(Xrx*sinV(2))
Zrz=Xrz
;/ Zoom out
rx=(Zrx/(1+((Zrz*scaleFactor)/500)));+(Zrx/(1+((Zrz*scaleFactor)/500)))
ry=(Zry/(1+((Zrz*scaleFactor)/500)));+(Zry/(1+((Zrz*scaleFactor)/500)))
EDim(i)\x2D=240-rx ;/ -x
EDim(i)\y2D=160-ry
EndProcedure
Procedure Drehung(i)
Protected temp.f
; If i<1
If (angle(i)<PI)
If angle(i)<(0.5*PI)
temp=((angle(i)*(2/PI))-0.5)
sinV(i)=(0.75-((temp*temp)-temp))
cosV(i)=(0.75-((temp*temp)+temp))
Else
temp=((((PI-angle(i))*(2/PI)))-0.5)
sinV(i)=(0.75-((temp*temp)-temp))
cosV(i)=(-0.75+((temp*temp)+temp))
EndIf
Else ;/ ohne Sonst sieht es ganz schön schlimm aus
If angle(i)<(1.5*PI)
temp=(((angle(i)-PI)*(2/PI))-0.5)
sinV(i)=(-0.75+((temp*temp)-temp))
cosV(i)=(-0.75+((temp*temp)+temp))
Else
temp=((((2*PI)-angle(i))*(2/PI))-0.5)
sinV(i)=(-0.75+((temp*temp)-temp))
cosV(i)=(0.75-((temp*temp)+temp))
EndIf
EndIf
; EndIf
EndProcedure
Procedure Calc() ;/ Kamera
Protected i
;/If (angle(i)>PI) ;/ Schlüssel
For i=0 To 2
Drehung(i)
Next
;/ Berechnung der Drehwinkel, eventuell kürzer und einfacher möglich???
EndProcedure
Procedure Draw2D(OutPut)
Protected i,a
StartDrawing(OutPut)
Box(0,0,480,360,0) ;/ eine Art ClearScreen
Plot(240,160,RGB(255,255,255)) ; MittelPunkt im Universum
For i=0 To CountList(E3D())-1
Calc()
UpDateVertsDim(i)
; Circle(EDim(i)\x2D,EDim(i)\y2D,1,RGB(255,0,0))
If EDim(i)\x2D>10 And EDim(i)\x2D<470 And EDim(i)\y2D>10 And EDim(i)\y2D<350
Plot(EDim(i)\x2D,EDim(i)\y2D,RGB(255,0,0))
EndIf
;/ Plot darf nicht außerhalb eines Images gezeichnet werden!!!
Next
For i=0 To CountList(LID())-1
LineXY(EDim( LIX(i)\ID1 )\x2D,EDim(LIX(i)\ID1)\y2D,EDim(LIX(i)\ID2)\x2D,EDim(LIX(i)\ID2)\y2D,LIX(i)\color)
Next
DrawText(0,0,StrF(CountList(LID()),2),RGB(255,255,255),0)
StopDrawing()
EndProcedure
;/ Sortiert nach Wichtigkeit
Global Dim RotateUmAchse(2)
Procedure WinkelRechnung(i,R)
If R>0
angle(i)+0.05
If (angle(i)>(2*PI))
angle(i)-(2*PI)
EndIf
Else
angle(i)-0.05
If (angle(i)<0)
angle(i)+(2*PI)
EndIf
EndIf
EndProcedure
Procedure fortlaufend()
Protected i
If (ElapsedMilliseconds()-ZeitMessung)>(1000/50)
For i=0 To 2
If RotateUmAchse(i)
WinkelRechnung(i,RotateUmAchse(i))
EndIf
Next
Draw2D(ImageOutput(0))
SetGadgetState(0,ImageID(0))
ZeitMessung=ElapsedMilliseconds()
EndIf
EndProcedure
Procedure CreateSprites() ;- NEUE 2D-Befehle für Texturen
Protected x,y
CreateSprite(0,128,128,#PB_Sprite_Texture)
CreateSprite(1,128,128,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(0))
Box(0,0,SpriteWidth(0),SpriteHeight(0),RGB(255,64,0))
Box(5,5,40,15,RGB(0,64,100))
LineXY(0,0,SpriteWidth(0),SpriteHeight(0),RGB(0,0,255))
LineXY(0,SpriteHeight(0),SpriteWidth(0),0,RGB(0,0,255))
StopDrawing()
StartDrawing(SpriteOutput(1))
Box(0,0,SpriteWidth(0),SpriteHeight(0),RGB(0,64,0))
For y=0 To 10
For x=0 To 10
Box(12*x,12*y,8,8,RGB(0,64+Random(40),100))
Next
Next
StopDrawing()
CreateSprite3D(0,0)
CreateSprite3D(1,1)
EndProcedure
Procedure DrawSprites()
;/ aus verbunden Linien müssen Flächen werden. Bzw. es müssen Dreiecke erstellt werden.
Start3D()
Stop3D()
EndProcedure
Procedure FromListToArray()
ReDim LIX.LID(CountList(LID()));/ einer mehr, wenn keine Linien hinzugefügt wurden
Protected i=0
ForEach LID()
LIX(i)\ID1=LID()\ID1
LIX(i)\ID2=LID()\ID2
LIX(i)\color=LID()\color
i+1
Next
ReDim EDim.p3D(CountList(E3D()));/ einer mehr, wenn keine Punkte hinzugefügt wurden
i=0
ForEach E3D()
EDim(i)\x=E3D()\x
EDim(i)\y=E3D()\y
EDim(i)\z=E3D()\z
EDim(i)\x2D=E3D()\x2D
EDim(i)\y2D=E3D()\y2D
EDim(i)\Color=E3D()\Color
EDim(i)\ID=E3D()\ID
i+1
Next
EndProcedure
Procedure Add3DElements()
;/ Damit Verzerrungen minimiert werden, müssen Flächen
;/ in kleinere Flächen geteilt werden!
;Define i,i2,i3,c=4, l=48,f
Protected i,i2,i3,c=8, l=30,f
For i3=0 To c
For i2=0 To c
For i=0 To c
f=30*(i+1)
;AddCube(-l+c*i,-l+c*i, l-c*i,2*l-c*2*i,RGB(f,f,f))
;AddCube(120-l*i2,90-l*i, 120-l*i3,l-10,RGB(0,255,0)) ;/ doppelte Punkte bei großen Anzahlen nicht tresten!!!
;/ Doppelte Linien werden gezeichnet, doppelte 3D-Punkte sind im Array und werden auch berechnet
;AddCube() macht statt 12 notwendigen Linien, 6 * 4 Linien! 6 Mal so viele 3D-Punkte wie benötigt werden!!!
;AddQuader(120-l*i2,90-l*i, 120-l*i3,l-10,RGB(0,255,0)) ;/ doppelte Punkte bei großen Anzahlen nicht tresten!!!
Next
Next
Next
;/ Achsen
;AddQuader(0,0,0,RGB(128,255,0),0,0,200)
;AddQuader(0,0,0,RGB(128,255,0),0,400,0)
;AddQuader(0,0,0,RGB(128,255,0),400,0,0) ;/ unsichtbar
AddQuader(0,0,100,RGB(128,128,255),300,220,10)
AddQuader(0,-120,0,RGB(128,128,255),300,10,200)
AddMesh()
For i=0 To 10
AddQuader(-130+20*i,-115,15,RGB(128,255,0),15,0,15)
Next
EndMesh()
AddCube(0,0,0,8,RGB(255,128,0))
AddCube(-50,0,0,8,RGB(255,128,0))
EndProcedure
angle(0)=PI
angle(1)=PI+0.4
;/ bei rund 3.000 3D-Punkten wird das System langsam
Procedure createGadgets()
Protected i
CreateImage(0,480,360)
ImageGadget(0,10,5,480,360,ImageID(0),#PB_Image_Border)
For i=0 To 2
ButtonGadget(1+2*i,500,5+30*i,30,25,"<<", #PB_Button_Toggle )
ButtonGadget(2+2*i,530,5+30*i,30,25,">>", #PB_Button_Toggle )
ButtonGadget(7+i,560,5+30*i,30,25,"0")
Next
;ButtonGadget(3,530,5,20,25,"||", #PB_Button_Toggle )
EndProcedure
Define i
If OpenWindow(0,0,0,600,750,"FL 3D - ACHTUNG! Bei Window-Events wird 3D mit Texturen unterbrochen!",#PB_Window_ScreenCentered | #PB_Window_SystemMenu) And CreateGadgetList(WindowID(0))
InitSprite()
OpenWindowedScreen(WindowID(0),10,380,480,360,0,0,0)
InitSprite3D()
; CreateSpriteS()
Sprite3DQuality(1)
createGadgets()
Add3DElements()
FromListToArray()
;/ MoveMesh erst nach FromListToArry()
MoveMesh(0,0,0,0)
Draw2D(ImageOutput(0))
Define Event.l, Quit, GadgetNr
Repeat
Repeat
Event=WaitWindowEvent(20)
If Event=16
Quit=1
ElseIf Event=#PB_Event_Gadget
GadgetNr=EventGadget()
For i=0 To 2
If GadgetNr=1+2*i
SetGadgetState(2+2*i,0)
ElseIf GadgetNr=2+2*i
SetGadgetState(1+2*i,0)
EndIf
If GetGadgetState(1+2*i)
RotateUmAchse(i)=1
ElseIf GetGadgetState(2+2*i)
RotateUmAchse(i)=-1
Else
RotateUmAchse(i)=0
EndIf
If GadgetNr=7+i
angle(i)=PI
sinV(i)=0
cosV(i)=1
RotateUmAchse(i)=0
SetGadgetState(1+2*i,0)
SetGadgetState(2+2*i,0)
EndIf
Next
If GadgetNr=8
cosV(1)=-1;-1
angle(1)=PI+0.4
EndIf
If GadgetNr=9
angle(2)=0
EndIf
EndIf
;/ fortlaufend
fortlaufend()
Until Event=0
FlipBuffers()
ClearScreen(0)
; Draw2D(ScreenOutput())
DrawSprites()
Until Quit
EndIf
; IDE Options = PureBasic v4.02 (Windows - x86)
; CursorPosition = 519
; FirstLine = 499
; Folding = ----
; Executable = F3DXWCX.exe
Und für die Erzeugung möchte ich noch einmal auf meinen Code hinweisen:
http://www.purebasic.fr/german/viewtopi ... r&start=20
Da eine Stimme als Musik etwas langweilig ist, überlege ich an einer Methode, wie man sagen wir 16 Spuren gleichzeitig ansteuern kann.
Ich denke, der Syntax wird ähnlich sein:
CreateMusic(MusikID, VoiceNumber,MusicString$)
Die Frage ist nur, wie kann ich das Ganze ohne globale Variablen, Arrays machen und immer Zeitscheiben zuweisen, damit die Töne abgespielt werden.
Müsste irgendwas sein wie FlipBuffer()
Nur halt für die Musik.
Hier eine kleine Präsentation
http://www.folker-linstedt.de/software/FL_mj.zip
Vor der Frage nach dem Format stehe ich noch
MIDI würde sich ja anbieten. Aber MIDI lässt sich schwer einfach als STRING einbinden.
Kinder an die Macht http://scratch.mit.edu/
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Also eine 3D-Engine würde ich schon mal nicht per Sprite3d oder Softwarerendering basteln. Weil dann kann man eigentlich gleich Ogre verwenden.
Aber erstmal ein Format entwickeln, dass so einen Standard darstellt wäre für den Anfang gut....
Jedoch wenn man so eine Map lesen wollte, das kriegt man praktich garnicht hin wenn sie entsprechend groß wird und Strings verbrauchen auch deutlich mehr Platz. Und Bytes,Words,Longs & Co. sollte jeder der ernsthaft so ein Projekt angeht schon aus ner datei per PB auslesen können. Teilweise kann man den Kramm per Memorybefehle noch schneller raushollen. Vernünftige Tutorials und Beipielcodes wären dazu echt gut.
Aber erstmal ein Format entwickeln, dass so einen Standard darstellt wäre für den Anfang gut....
Jedoch wenn man so eine Map lesen wollte, das kriegt man praktich garnicht hin wenn sie entsprechend groß wird und Strings verbrauchen auch deutlich mehr Platz. Und Bytes,Words,Longs & Co. sollte jeder der ernsthaft so ein Projekt angeht schon aus ner datei per PB auslesen können. Teilweise kann man den Kramm per Memorybefehle noch schneller raushollen. Vernünftige Tutorials und Beipielcodes wären dazu echt gut.
I´a dllfreak2001
Tja, und dann ist der Link irgendwann wieder broken
Haste 3D und Musik auf deinem Rechner?
Wie gesagt, die Teilstückchen sind quasi schon fertig.
Noch ein bisschen Logik und das Spiel ist fertig.
Naja, aber meine Codes sind nicht optimiert. Vielleicht optimieren wir zusammen
@dllfreak2001
Ja, für ein Komplexes Spiel, gebe ich dir schon Recht.
Das könnte ja der Editor erledigen, entweder Strings oder ByteCode generieren.
Die Strings sind für kleine Projekte zum Posten gedacht.
Damit es nicht immer wieder diese Conten-Probleme gibt, wo irgendwas fehlt.
Und Ogre kann sollte man halt nicht nehmen, weil das wieder eine DLL braucht, die gern vergessen wird mit zugeben. Bläht das Spiel auch unnötig auf.
Sprite3D hat auch einen Fehler möchte ich behaupten.
Die Berechnung der Verzerrung in meiner "nennen wir es mal" Engine, ist korrekt berechnet, aber TransformSprite3D macht da murks draus.
Die diagonalen Linien sind nicht richtig. Die verden verzerrt.
Sprite3D hatte ich genutzt, um halt keine externen Befehle nutzen zu müssen. Damit es reines PB bleibt. Und eine 30 kByte große Datei mit 3D-Meshes ist doch schon nicht schlecht
>>>> Geschwindigkeit stand jetzt mal an zweiter Stelle, war halt Test
Haste 3D und Musik auf deinem Rechner?
Wie gesagt, die Teilstückchen sind quasi schon fertig.
Noch ein bisschen Logik und das Spiel ist fertig.
Naja, aber meine Codes sind nicht optimiert. Vielleicht optimieren wir zusammen
@dllfreak2001
Ja, für ein Komplexes Spiel, gebe ich dir schon Recht.
Das könnte ja der Editor erledigen, entweder Strings oder ByteCode generieren.
Die Strings sind für kleine Projekte zum Posten gedacht.
Damit es nicht immer wieder diese Conten-Probleme gibt, wo irgendwas fehlt.
Und Ogre kann sollte man halt nicht nehmen, weil das wieder eine DLL braucht, die gern vergessen wird mit zugeben. Bläht das Spiel auch unnötig auf.
Sprite3D hat auch einen Fehler möchte ich behaupten.
Die Berechnung der Verzerrung in meiner "nennen wir es mal" Engine, ist korrekt berechnet, aber TransformSprite3D macht da murks draus.
Die diagonalen Linien sind nicht richtig. Die verden verzerrt.
Sprite3D hatte ich genutzt, um halt keine externen Befehle nutzen zu müssen. Damit es reines PB bleibt. Und eine 30 kByte große Datei mit 3D-Meshes ist doch schon nicht schlecht
>>>> Geschwindigkeit stand jetzt mal an zweiter Stelle, war halt Test
Kinder an die Macht http://scratch.mit.edu/
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Sprite3ds können auch korrekt verzehrt werden, nur brauchst du dann schon etwas mehr Aufwand, such mal nach Winterlandschaft 3D hier im Forum, außerdem musst du den Kram auch sortieren.
Das kann OpenGL in Hardware und voll automatisch (Ogre sowieso)...
Außerdem wer sich ernsthaft an 3D ranwagt wird wohl noch eine dll in seinen Projektordner reinkopieren können.
Zu den Maps.
Vielleicht dann ein Miniformat "Mini" und "Advanced".
Nur wenn die Map zu groß wird wirst du das sowieso nicht posten können.
Das kann OpenGL in Hardware und voll automatisch (Ogre sowieso)...
Außerdem wer sich ernsthaft an 3D ranwagt wird wohl noch eine dll in seinen Projektordner reinkopieren können.
Zu den Maps.
Vielleicht dann ein Miniformat "Mini" und "Advanced".
Nur wenn die Map zu groß wird wirst du das sowieso nicht posten können.
I´a dllfreak2001
Wie auch immer, wie geht es weiter?

Wie stellste dir das vor? FormatVorschläge und dann Abstimmen?
Oder jeder macht sein Ding und dann wird konvertiert?
Nehmen wir etablierte Formate oder erschaffen wir neue?
Rad neu erfinden oder auf unsere Bedürfnisse optimieren?
Oder wollen wir erstmal über Geschichte und das Spiel an sich sprechen?
Hab gerade die Vorschau für UT3 gesehen. Gibt es da eine Handlung oder ist es nur geballer mit fetter Grafik?

Wie stellste dir das vor? FormatVorschläge und dann Abstimmen?
Oder jeder macht sein Ding und dann wird konvertiert?
Nehmen wir etablierte Formate oder erschaffen wir neue?
Rad neu erfinden oder auf unsere Bedürfnisse optimieren?
Oder wollen wir erstmal über Geschichte und das Spiel an sich sprechen?
Hab gerade die Vorschau für UT3 gesehen. Gibt es da eine Handlung oder ist es nur geballer mit fetter Grafik?
Kinder an die Macht http://scratch.mit.edu/
Wir können ja parallel über ein Format und die Story debatieren.
Entweder gewürfelt oder wir machen zu den einzelnen Bereichen, die für ein Spiel von Wichtigkeit sind, einzelne Threads auf.
Vielleicht im Überthema: Projekte, Resourcen, Tools
Da können wir dann auch unsere Tools zum Level-Basteln, Musik-Erstellen etc. vorstellen.
Hier mal Links, worüber wir sprechen könnten, was Thema bzw. Haupthandlung unserer Geschichte sein kann.
Roboter, Androiden, Cyborgs (Blade Runner, Robocop, StarCraft ...)
http://de.wikipedia.org/wiki/Android
Ritter, Mittelalter (Prince of Persia, Thief, Assassin's Creed ...)
http://de.wikipedia.org/wiki/Ritter
Ninjas und Samurai (Batman, Spiderman, Turtles, Shadow Dancer ...)
http://de.wikipedia.org/wiki/Katana
....
>>>>
zu spät fern zu sehen ist nicht gut:
Eva heimlich gefilmt als sie sich selbst beglückt ...
Also wenn da eine 5 Köpfige Crew herum steht. Die Frau perfekt geschminkt ist, das Licht alles ausleichtet und die Kameraposition nicht fest ist ... kann man dann noch von heimlich sprechen?
<<<<
Piraten (Monkey Island, Fluch der Karibik, ...)
Kauhboi unt Injahna (Old Shatterhand, Winetow, Desperados ...)
Raumschiffzeugs (Stargate
, Startrek, Starwars, Battlestar Galactica, Andromeda ...)

Traumwelten (Schlafmütz und Co, Cyril Cyberpunk, Keen, Caption Comic ..)
Eigene Creationen 2,5 D (Hunter Hunted, Lomax Lemming, Abe's Odysee, Agent Armstrong ...)
...
Was haltet ihr von, wenn wir uns einige Spiele genauer anschauen.
Demos spielen, Empfehlungen geben. Damit alle wissen, worum es geht.
Wir können auch eine spielevorstellungen machen, was wir so für Spiele mögen, aber ob wir da fertig werden?
Ich habe einige Batman-Titel auf Consolen/Emulatoren gespielt.
Mag das Genre des mystischen Nijas.
Bin stlzer Besitzer aller Prince of Persia Teile für den PC.
1,2, 3D, Trilogie Sands of Time (Sands of Time, Warrior Within, The Two Thrones) Da fällt mir ein, Prince of Persia - Sands of Time habe ich insegsamt 3 Mal. Einmal auf einer Messe gekauft als Treiberbeilage für eine Grafikkarte, 2 CDs, und dann einmal allein in einer CD-Box und in einer Special Edition war es noch mal. Wer also eins braucht. Ich würd's verschicken. Mortal Kombat mag ich auch. Bin aber kein Freak, der alle Combos auswendig kennt. Mag den Realismus. (bis auf beim Blut, aber da ist der falsche Realismus auch in Ordnung)
Ich mag Legacy of Kain, naja. Soul Reaver 1 hab ich, läuft nicht mehr auf PC. 2 hab ich wohl auch irgendwo, läuft aber auch nicht unter XP mit nVIDEA Grafikkarte und Legacy of Kain - Defiance hab ich noch nicht angespielt, steht aber noch im Schrank.
Ich kaufe Spiele, wenn sie 20 Cent kosten, in einer Zeitschrift beiliegen oder für unter 5,- Euro in einer Krambox zu finden sind.
Es gibt auch Ausnahmen. Aber hab mir noch nie was für 50,- Euro gekauft.
Hab ja auch nicht immer den neusten Rechner, bringt also wenig die neusten Spiele zu kaufen
Ich hab einige Spielesammlungen wie GoldGames 3, GamePack 2.
Das schickste und innovativste Autorennen, was ich kenne, ist MegaRace.
MegaRace 2 ebenfalls geil.
Achso, einige Tombraider-Title besitze ich auch.
Aber da auch eher druch Zufall. Trödelmarkt/Flohmarkt, 1,- Euro pro Spiel
Ich komm einfach nicht zu, zu spielen, muss aber meine Kauflust öfter befriedigen
Ich mag die Völker 2. Kenne die Siedler. Bin Besitzer von Knights and Merchants. Earth 2040 und Age of Empires.
Kennt jemand "Baphomets Fluch", das muss ein geiles Spiel sein.
Hatte damals auf fast jeder Demo CD eine Vorschau von gesehen.
Bin im Besitz von Runaway.
Hab auch schon mal Physicus gespielt und stolzer Besitzer aller Crazy Machines Tile. Obwohl Crazy Machins 2 etwas bescheiden ist, obwohl Original geht's ohne NoCD-Crack nicht an. Und der läuft nicht zusammen mit dem Patch und ohne Patch ist es langsam und stürzt oft ab ...
Ein Teufelskreis.
Ich bin für ein mystisches Spiel mit Humor, wo man etwas bei lernt.
Vieleicht Physikkenntnisse anwenden muss, oder andere Kenntnisse aus der Schule benötigt.
Achso, Fallout, Restricted Area, Outcast sind auch mein eigen
Hatte kurz auch mal ein X-Men-Rollenspiel. War aber echt nicht mein Fall, obwohl ich X-Men mag, aber das Spiel hat mich einfach nicht gefesselt, trotz gelungener Grafik.

>>>> Wenn wir Stoff für einen Film haben, haben wir auch Stoff für ein gutes Spiel.
Ansonsten guter Link von Kaeru German, Spiel macht süchtig:
http://www.candystand.com/uk/play.do?id=18047
Entweder gewürfelt oder wir machen zu den einzelnen Bereichen, die für ein Spiel von Wichtigkeit sind, einzelne Threads auf.
Vielleicht im Überthema: Projekte, Resourcen, Tools
Da können wir dann auch unsere Tools zum Level-Basteln, Musik-Erstellen etc. vorstellen.
Hier mal Links, worüber wir sprechen könnten, was Thema bzw. Haupthandlung unserer Geschichte sein kann.
Roboter, Androiden, Cyborgs (Blade Runner, Robocop, StarCraft ...)
http://de.wikipedia.org/wiki/Android
Ritter, Mittelalter (Prince of Persia, Thief, Assassin's Creed ...)
http://de.wikipedia.org/wiki/Ritter
Ninjas und Samurai (Batman, Spiderman, Turtles, Shadow Dancer ...)
http://de.wikipedia.org/wiki/Katana
....
>>>>
zu spät fern zu sehen ist nicht gut:
Eva heimlich gefilmt als sie sich selbst beglückt ...
Also wenn da eine 5 Köpfige Crew herum steht. Die Frau perfekt geschminkt ist, das Licht alles ausleichtet und die Kameraposition nicht fest ist ... kann man dann noch von heimlich sprechen?
<<<<
Piraten (Monkey Island, Fluch der Karibik, ...)
Kauhboi unt Injahna (Old Shatterhand, Winetow, Desperados ...)
Raumschiffzeugs (Stargate

Traumwelten (Schlafmütz und Co, Cyril Cyberpunk, Keen, Caption Comic ..)
Eigene Creationen 2,5 D (Hunter Hunted, Lomax Lemming, Abe's Odysee, Agent Armstrong ...)
...
Was haltet ihr von, wenn wir uns einige Spiele genauer anschauen.
Demos spielen, Empfehlungen geben. Damit alle wissen, worum es geht.
Wir können auch eine spielevorstellungen machen, was wir so für Spiele mögen, aber ob wir da fertig werden?
Ich habe einige Batman-Titel auf Consolen/Emulatoren gespielt.
Mag das Genre des mystischen Nijas.
Bin stlzer Besitzer aller Prince of Persia Teile für den PC.
1,2, 3D, Trilogie Sands of Time (Sands of Time, Warrior Within, The Two Thrones) Da fällt mir ein, Prince of Persia - Sands of Time habe ich insegsamt 3 Mal. Einmal auf einer Messe gekauft als Treiberbeilage für eine Grafikkarte, 2 CDs, und dann einmal allein in einer CD-Box und in einer Special Edition war es noch mal. Wer also eins braucht. Ich würd's verschicken. Mortal Kombat mag ich auch. Bin aber kein Freak, der alle Combos auswendig kennt. Mag den Realismus. (bis auf beim Blut, aber da ist der falsche Realismus auch in Ordnung)
Ich mag Legacy of Kain, naja. Soul Reaver 1 hab ich, läuft nicht mehr auf PC. 2 hab ich wohl auch irgendwo, läuft aber auch nicht unter XP mit nVIDEA Grafikkarte und Legacy of Kain - Defiance hab ich noch nicht angespielt, steht aber noch im Schrank.
Ich kaufe Spiele, wenn sie 20 Cent kosten, in einer Zeitschrift beiliegen oder für unter 5,- Euro in einer Krambox zu finden sind.
Es gibt auch Ausnahmen. Aber hab mir noch nie was für 50,- Euro gekauft.
Hab ja auch nicht immer den neusten Rechner, bringt also wenig die neusten Spiele zu kaufen
Ich hab einige Spielesammlungen wie GoldGames 3, GamePack 2.
Das schickste und innovativste Autorennen, was ich kenne, ist MegaRace.
MegaRace 2 ebenfalls geil.
Achso, einige Tombraider-Title besitze ich auch.
Aber da auch eher druch Zufall. Trödelmarkt/Flohmarkt, 1,- Euro pro Spiel
Ich komm einfach nicht zu, zu spielen, muss aber meine Kauflust öfter befriedigen
Ich mag die Völker 2. Kenne die Siedler. Bin Besitzer von Knights and Merchants. Earth 2040 und Age of Empires.
Kennt jemand "Baphomets Fluch", das muss ein geiles Spiel sein.
Hatte damals auf fast jeder Demo CD eine Vorschau von gesehen.
Bin im Besitz von Runaway.
Hab auch schon mal Physicus gespielt und stolzer Besitzer aller Crazy Machines Tile. Obwohl Crazy Machins 2 etwas bescheiden ist, obwohl Original geht's ohne NoCD-Crack nicht an. Und der läuft nicht zusammen mit dem Patch und ohne Patch ist es langsam und stürzt oft ab ...
Ein Teufelskreis.
Ich bin für ein mystisches Spiel mit Humor, wo man etwas bei lernt.
Vieleicht Physikkenntnisse anwenden muss, oder andere Kenntnisse aus der Schule benötigt.
Achso, Fallout, Restricted Area, Outcast sind auch mein eigen
Hatte kurz auch mal ein X-Men-Rollenspiel. War aber echt nicht mein Fall, obwohl ich X-Men mag, aber das Spiel hat mich einfach nicht gefesselt, trotz gelungener Grafik.
>>>> Wenn wir Stoff für einen Film haben, haben wir auch Stoff für ein gutes Spiel.
Ansonsten guter Link von Kaeru German, Spiel macht süchtig:
http://www.candystand.com/uk/play.do?id=18047
Kinder an die Macht http://scratch.mit.edu/