Welche Level-Engine für Jump 'n' Run?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Ziggy

Betreff: Welche Level-Engine für Jump 'n' Run?

BeitragSa, Dez 08, 2007 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein kleines Jump 'n' Run ist jetzt soweit dass es auch Levels bekommen könnte.

Ich besitze das Buch "Spiele Programmieren Mit Blitz Basic", und dort wird zum Level erstellen die Methode des Dim-Arrays in verbindung mit einer Level.dat benutzt. Dies scheint mir aber ein bisschen popelig zu sein, im grunde könnte ja jeder die Level.dat einfach verändern und sein Level gestalten wie er will. Sicher könnte man die Datei verschlüsseln, vielleicht sogar mit MD5, bin mir nicht sicher, aber ist das wirklich die beste Lösung?

Mich würde Interessieren was es noch für Möglichkeiten gibt, und was IHR dafür benutz.

Danke schon mal für eure Antworten.

Gruß.
"Es gibt 10 Arten von Menschen: Diejenigen die Binär verstehen, und jene die es nicht verstehen."

"Irren ist menschlich, gut dass ich ein Gott bin... xD"

letzte Informatik-Note : 1 ... 96% richtig, Thema: C++ switch/case
 

Gast

BeitragSa, Dez 08, 2007 10:41
Antworten mit Zitat
z.B Data Maps. Über Include. Die werden im Quelltext Gespeichert
Beispiel:
Code: [AUSKLAPPEN]

; LV1.bb
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,4,1,2,2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,1,2,2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0


Auslesen :
Code: [AUSKLAPPEN]

; Main .bb
Include "LV1.bb"
LVB = 22 ; LevelBreite -1
LVH = 8 ; Levelhöhe -1
Dim Map(LVB,LVH)
For Y = 0 To LVB
      For X = 0 to
           Read Map(X,Y)
     Next
Next


Dann hast du es wie in früher in einem Arry, aber die Maps werden im Quelltext Gespeichert.
Die LV1.bb musst du nach dem Compilern nicht mehr mitgeben.

ZaP

BeitragSa, Dez 08, 2007 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Level im Quelltext zu speichern finde ich stillos (Ohne Stil Wink). Du kannst ja externe Dateien ganz einfach verschlüsseln, indem zu einzwei bytes änderst, und beim laden wieder rückgängig machst.
Starfare: Worklog, Website (download)

BladeRunner

Moderator

BeitragSa, Dez 08, 2007 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ab davon dass die Verschlüsselung sicher nicht dein vorrangiges Problem ist - erst mal das Spiel fertig kriegen. Nebenbei: die wenigsten Hobbyprojekte werden so groß dass es massives Cheating gibt, im Gegenteil, oft ist man froh um andre die Levels zum eigenen Game beisteuern.
Aber wie vorher schon gesagt: 80% der User erwischt man über simples Umbenennen der Dateiendung, die nächsten 15% mit einfachen Drehern.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Ziggy

BeitragSa, Dez 08, 2007 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Antworten.

Ich werde es dann mit den normalen Dim's und Dateien machen.
Finde das zwar irgendwie popelig, aber wenns die beste Lösung ist... Very Happy


Gruß.
"Es gibt 10 Arten von Menschen: Diejenigen die Binär verstehen, und jene die es nicht verstehen."

"Irren ist menschlich, gut dass ich ein Gott bin... xD"

letzte Informatik-Note : 1 ... 96% richtig, Thema: C++ switch/case

ZaP

BeitragSa, Dez 08, 2007 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Stranded 2 hat auch die Ini's nicht verschlüsselt, es ist ja auch nicht notwendig, wenn der User sich halt unbedingt den Spaß nehmen will und schummelt, hat er halt Pech.
Starfare: Worklog, Website (download)

BigMaexle

BeitragSa, Dez 08, 2007 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Bastel dir doch ein Editor?

Dann kannst du alles ganz gemütlich machen udn DAs Levelverändern ist auch völlig okay.
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber

The_Nici

BeitragSa, Dez 08, 2007 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
BigMaexle's Vorschlag ist der beste.
Schreibe Dateien mit deinem Editor per Writebyte in Dateien.
Danach kannst du sie im Spiel mit Readbyte auslesen.
z.B. so:

Code: [AUSKLAPPEN]

;Editor!1
Dim tilemap(19,19)

[...]
level=writefile(levelpfad)
For y=0 to 19
For x=0 to 19
Writebyte level, tilemap(x,y)
Next
Next

Code: [AUSKLAPPEN]

;Spiel!1
[...]
level=Readfile(levelpfad)
For y=0 to 19
For x=0 to 19
map(x,y)=Readbyte level
Next
Next
 

Ziggy

BeitragSa, Dez 08, 2007 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, ich werde mir das Tut für den Level-Editor mal anschauen, das wird bestimmt das beste sein.


Edit: Das Tutorial hat mir sehr geholfen, sieht nicht so schwer aus. Ich werd mich gleich mal dran setzen einen Editor zu schreiben.

Danke für den Hinweis.
"Es gibt 10 Arten von Menschen: Diejenigen die Binär verstehen, und jene die es nicht verstehen."

"Irren ist menschlich, gut dass ich ein Gott bin... xD"

letzte Informatik-Note : 1 ... 96% richtig, Thema: C++ switch/case

ToeB

BeitragSa, Dez 08, 2007 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich schreib mir immer nen Mapeditor, also den veröffentliche ich dann nicht. Mit dem kann ich dann meine ganzen Maps kreiren und abspeichern... muss ja nichts großartiges sein Wink Dann schreib ich mir ne Function "ReadMap(Nr)" und dann kann ich da nur die Map-Nr eingeben und schon läde der die Map mit allen drum und darn... Toll nich ^^ ?

mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Ziggy

BeitragSo, Dez 09, 2007 8:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy Very Happy

Ich bin gerade dabei einen Editor zu schreiben, funktioniert bis jetzt auch relativ gut, befasse mich gerade mit der "Schönheitsreparatur".
"Es gibt 10 Arten von Menschen: Diejenigen die Binär verstehen, und jene die es nicht verstehen."

"Irren ist menschlich, gut dass ich ein Gott bin... xD"

letzte Informatik-Note : 1 ... 96% richtig, Thema: C++ switch/case

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group