Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.06.2008, 15:09

SDL 2D Spiel: Kein fester Bildschirmabschnitt?

Hi,

Ich bin neu hier. Ich habe jetzt "C++ für Spieleprogrammierer" komplett durchgearbeitet. Mir ist klar das ich damit grade mal einen Grundstein gelegt habe und noch viel zu lernen habe. Denoch würde ich gerne das bisher erlangte Wissen irgendwie festigen, indem ich Praxis bezogen etwas damit anstelle.

Das Spiel, das in dem oben genannten Buch programmiert wird, spielt sich ja immer im gleichen Bildschirmabschnitt ab "also der Screen muss nicht gescrollt werden". Nun würde ich gerne ein Super Mario Jump and RUn machen mit einem Bildschirm der Scrollbar ist und wüsste gerne, wie man so etwas in der Theorie machen kann, damit ich einen Ansatz habe. Es soll auch kein richtiges Spiel werden ich will einfach nur die Spielemchanik programmieren, um zu lernen.

Mein Ansatz ist bis jetzt, dass ich einfach eine riesengroße Picture als Map nehme, dass ich dann einfach Bewege, wenn sich die Spielfeigur bewegt. Also z.b wenn Mario nach rechts läuft verschiebe ich die Karte nach links, wenn er hüpf verschiebe ich die Karte nach unten usw..

Ist dass der richtige Ansatz, um so etwas zu verwirklichen?

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

01.06.2008, 16:07

ja, diese lösung ist gar nicht mal so falsch. das funktioniert für kleine welten sehr gut, ist nur etwas speicherintensiv. ausserdem sind bilder auf eine bestimmte größe begrenzt (bei aktuellen grakas 4096x4096 afaik).
du könntest natürlich als alterantive mehere bilder machen und wenn ein bild endet, dass du das nächste rechts anfangst zu zeichnen

eine in vielerlei hinsicht bessere technik sind tile maps. da kannste dich ja mal schlau machen :)

3

05.06.2008, 15:25

Hi,

Ich habe jetzt die ersten Vortschritte gemacht. Es war nicht wirklich schwer das mit der Scrollbaren Map zu verwirklichen. Ich habe es ganz gut so hinbekommen, wie ich es mir schon gedachte habe, dass sich die Map immer in die Gegenseitige Richtung verschiebt in die der Spieler laufen will.

Allerdings bekomme ich jetzt große Probleme mit Gegnern. DIese müssen ja auch bei jeder Spielerbewegung verschoben werden. Besonders Kritisch wird es dann wenn sie den grade momentanen Sichtbereich auf dem Bildschirm betreten oder verlassen sollen. Da ja dann die Bilder nur zu einem Teil angezeigt werden dürfen.

Dieses erfordert unheimlich viele komplexe Berechnungen und Abfragen. Ich bin dem Ziel schon um einiges näher gekommen. Zumindest funktioniert es schonmal ganz grob vom Prinzip her. Nur leider machen die NPC wenn sie sich im Spielerbild befinden komische Sprünge von teilweiße Mehreren 100 Pixeln.

Ich denke es wird noch sehr lange dauern bis ich dieses Problem gelöst habe. Zumindest programmiere ich das ganze so, dass es auch für anere 2D Spiele nutzbar ist.


Edit: Nach nochmals intensiven Code debuggen konnte ich nun alle Fehler ausmerzen und es läuft nun einigermassen so wie es soll. Nur leider gibt es noch ein ziemlich großes Problem, wenn sich der der Spieler einem nicht bewglichem Objekt nähert sieht es so aus als würde das Objekt auf dem Spieler zu kommen.

Ich muss also irgendwo noch einen logischen Fehler gemacht haben denke ich :(

Vieleicht hat ja jemand eine Idee wodurch dies kommt oder sogar eine Lösung für mein Problem. Ich habe versucht den Code sehr übersichtlich und gut strukturiert zu schreiben..

Ich hab mich jedenfalls entschieden das ganze mal upzuloaden:

Downloadlink:
http://www.file-upload.net/download-8959…ine_04.rar.html

4

05.06.2008, 16:45

Das mit Abstand beste Tutorial das ich kenne, speziell zu Jump'n'Runs und SDL, ist jnrdev von Florian Husky, dem Vater von Super Mario War. Veröffentlicht wurde es ursprünglich in Englisch, aber immerhin wurden drei Teile (von fünf) ins Deutsche übersetzt:


1. Teil
2. Teil
3. Teil

Die letzten beiden Teile beschätigen sich mit Object-Managment und zerstörbaren Landschaften (a la Worms). Wenn Du keinen sprachlichen Anspruch hast, kannst Du es ja mal per Google-Übersetzer probieren:
http://translate.google.de/translate?u=h…&hl=de&ie=UTF-8

Die englische Website ist übrigens jnrdev.72dpiarmy.com

Viel Spaß,
lostbuthappy

Werbeanzeige