Identitätenerkennung, Kosmo-Game. Bitte um Hilfe!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

tmode00

Betreff: Identitätenerkennung, Kosmo-Game. Bitte um Hilfe!

BeitragDo, Okt 04, 2007 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Wir, (ich und ein paar Freunde ) sind gerade dabei ein Spiel zu programmieren, welches dem guten alten Spiel SkyRoads ähneln soll. Es trägt den bescheidenen Namen Kosmo!

Original von Blueman Interactive (Dos):
user posted image

...unser Remake:
user posted image

Es besteht bereits jetzt die Möglichkeit, Levels in einem 3d-Leveleditor zu errichten, diese zu Speichern und dann im 3d-Spiel zu laden. Weiterhin existiert ein Modell-Importer welchen ich in Visual Studio geschrieben habe der in der Lage ist selbstgebaute Modelle inklusive Vorschaubild in den Leveleditor zu importieren (Datenbank auf die der Lv.-Edit zugreift:
user posted image

Nun ist es leider so, das es trotz der der Mittlerweile entstandenen 9 Quellcodedateien und über 1000 Programmierzeilen noch arge Probleme gibt. Wenig effekte und eine sehr einfache Physik lassen das Spiel ,,billig" erscheinen. Das jedoch soll nicht Sinn und Zweck dieses Threads sein da ich ein (vielleicht einfaches und doch existierendes) konkretes Problem habe:

Beim befahren der Platten, Tunnels, etc. muss es eine Erkennung der Plattenart wie z.B. Speedplatte, Zielplatte oder andere Spezialplatten geben. Ich habe bereits versucht per LinePick oder EntityCollide die Rückgabe zu nutzen was jedoch keinen Sinn ergibt da mir diese Befehle keine verwertbaren Id-s zurückgeben. Man stelle sich vor man will
Scripten, dass in einem ego-Shootter beim betreten von Gras ein Grasähnliches Geräusch ertönt. So will ich auch in dem Spiel eine Texturkollision nach dem Prinzip:

ergebnis=TexturKollisionsFunktion(texturhandle)

Für LinePick und co. ist eine Zielplatte genau nichts anderes als eine andere Platte. So kann daraus nichts entnommen werden.

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Okt 04, 2007 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
NameEntity() und EntityName() in Verbidung mit LinePick() und Picked() sollten helfen.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

tmode00

Betreff: es funktioniert!

BeitragDo, Okt 04, 2007 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

erstmal vielen vielen dank. Es funktioniert tatsächlich:

Ich habe in der Objekterstellungsroutine erst ein Name vergeben (Name ist die ID aus der Leveldatei)
Code: [AUSKLAPPEN]
objects(x,y,z)= LoadMesh(model$(modid));X-File laden
bject_id(x,y,z) = modid;Id in 3darray
PositionEntity(objects(x,y,z),x_offset,y_offset,z_offset)
ScaleEntity(objects(x,y,z),scaleoffset_x,scaleoffset_y,scaleoffset_z)

NameEntity(objects(x,y,z),Str$(modid))

EntityTexture(objects(x,y,z),textures(modid));textur zuweien
EntityType(objects(x,y,z),1)



...und dann das ganze in der 3d engine abgefragt:

obje=EntityCollided(cube,1)
If obje <> 0 Then
Text 10,160,EntityName$(obje)
EndIf

Perfekt. Ich danke nochmals vielmals!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group