Ein paar Fragen zu 2D
Übersicht

Ronon_DexBetreff: Ein paar Fragen zu 2D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hall ihr lieben,
Ich bin es mal wieder. Da ich einfach viel zu gerne mit neuen Sprachen rum bastle kann ich es einfach nicht lassen gleich nach dem ersten erfolg was ganz anderes zu machen ![]() ![]() Jedoch hab ich eingesehen dass ich bei 2D Spielen anfangen muss weil 3D noch zu hoch ist ![]() Wenn es nichts ausmacht, stelle ich gleich mehrere fragen ![]() - Wie kann ich Maps erstellen die (scheinbar) endlos lang sind ? (bsp: Klick) - Wie realisiert man ein Physikalisches herabfallen von Gegenständen, sobald man den Boden oder den Gegenstand unter ihnen entfernt Das sind bis jetz die 2 Fragen die mir eingefallen sind... Ich hoffe nur ich nerfe nicht mit so vielen Fragen die ich stelle. Ich kann doch bestimmt auch noch weitere fragen dann später in diesen Thread hier schreiben oder ? mfg Ronon |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Wie kann ich Maps erstellen die (scheinbar) endlos lang sind ?
Das Wort "scheinbar" trifft es. Die Map wird erweitert, wo der Spieler hinkommt (Laden, Berechnen oder Kopieren, wobei man letzteres auch anders machen kann). Zitat: Wie realisiert man ein Physikalisches herabfallen von Gegenständen, sobald man den Boden oder den Gegenstand unter ihnen entfernt
Physik allgemein am besten mit NooNooPhysics (einfach mal in der Hilfe schauen). Wenn es dir nur um das Herabfallen geht, dann geht das wie folgt: 1. Fallen prüfen (fällt das Objekt, d.h., ist unter ihm nichts?) Wenn ja: 2. Fallgeschwindigkeit (am Anfang 0) erhöhen. 3. Fallgeschwindigkeit zum Y-Wert addieren. Sonst: 2. Fallgeschwindigkeit auf 0 setzen. Zitat: Jedoch hab ich eingesehen dass ich bei 2D Spielen anfangen muss weil 3D noch zu hoch ist.
Wie du siehst: Ein schwieriger Satz. 2D ist anders, ob schwieriger, sei jedem selbst überlassen. ZEVS |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
"Endlos lange Maps" gibt es in verschiedenen Schwierigkeitsgeraden. Wenn es nur in eine Richtung geht, ist das ganz simpel. Wenn man auch zurückgehen können soll, wird es komplizierter.
"Physikalisch korrekt" ist auch immer so eine Sache - man macht es so, dass es gut aussieht, man rechnet nicht mit 9.81 m/s². |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Ronon_Dex |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Wenn es nur in eine Richtung geht, ist das ganz simpel.
Funktioniert das auch "ganz simpel" wenn es bergauf und bergab geht ? und vorallem wie funktioniert es ? Zitat: "Physikalisch korrekt" ist auch immer so eine Sache - man macht es so, dass es gut aussieht, man rechnet nicht mit 9.81 m/s².
Das meinte ich nicht ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das kommt immer darauf an... Konkrete Fragen geben konkrete Antworten.
Beim Scrollen kann man vor dem Bildschirm die passenden Objekte/Features generieren und wieder löschen, wenn der Spieler daran vorbei ist. Wie genau man das macht, hängt von der übrigen Struktur ab. Ein Objekt bei keiner Kollision fallen zu lassen ist eine Sache, aber eine ganz andere, den/die Kollisionspunkte zu finden und anhand derer mit Drehpunkt und Drehgeschwindigkeit zu arbeiten. Wenn man das nicht sehr simpel umsetzt (was dann unnatürlich aussieht und/oder Fehlerhaft ist), hat man schnell ein riesiges Projekt. Mach als erstes das, was für das Projekt nötig ist, nicht, was einfach nur toll zu haben wäre. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Propellator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um eine unendliche Map zu erstellen, musst du einen Algorithmus haben welcher dir für eine bestimmte Position Daten ausspuckt, die du zum generieren der Map verwenden kannst.
Siehe dazu: Fractal Landscape - Wikipedia (EN) Perlin Noise - Wikipedia (EN) MfG |
||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zur Graviation gilt folgendes:
Code: [AUSKLAPPEN] Fallbeschleunigung g= 9,81 m/s² Geschwindigkeit in m/s nach t Sekunden freier Fall: v= t * g Zurückgelegte Strecke nach t Sekunden freier Fall: s= g/2 * t² |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Propellator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da er scheinbar eine Simulation von Kräften will, die an einem Körper angreifen, wird ihm das aber nicht viel helfen, hazumu.
Entweder er benutzt vorgefertigte Libraries oder liest sich in Verlet-Physik oder Rigid Bodies ein. Die Fallbeschleunigung macht noch keine Physikengine. |
||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Endlose maps gibt es, wie bereits erwähnt, in "unterschiedlichen Schwierigkeitsgraden"
Wenn es dir um eine 2D sidescrolling map geht, wirds einfacher, als wenns eine pseudo-3d map (bzw eine topdown map mit bewegungsmöglichkeit in alle richtungen) ist. Die einfachste variante wäre, diverse vorgefertigte mapteile zu nutzen, die mit jedem anderen kompatibel sind (dh sie passen an den rändern zueinander) Dann würde ich einfach einen X wert (beispiel: Sidescrolling. Pro spielerschritt in eine richtung wird ein wert hochgezählt bzw runtergezählt. Hier hast du dein X) als "Random Seed" setzen (wie genau das bei BlitzBasic nun geht, weiß ich nicht. SeedRand, RandSeed, irgendwie so.). Danach eine zufallszahl von 1 bis Anzahl-Vorgefertigter teile und eins auswählen. Das sollte in beide richtungen kompatibel sein, sofern du eine gewisse bewegungsrichtung-verschiebung einplanst. Im idealfall weißt du, das zb 25 "felder" neben dem spieler ein mapteil generiert werden soll. Ist der spieler nun bei X=2000, muss zb X = 2025 erstellt werden. Ist der spieler auf der anderen seite und auf dem weg zurück, ist er zb bei X = 2050, wovon 25 abgezogen werden (weil auf "der anderen seite" generiert werden soll), wodurch der Seed wieder identisch wird. Immens schwieriger wird es allerdings, wenn ein mapteil veränderbar ist und später wieder genau so vorgefunden werden soll. Hier kann es bei unsachgemäßer programmierung extreme ramkosten geben. Also nochmal grob zusammengefasst: - Unterteile deine map in diverse Sektoren, abschnitte, wie auch immer. - Gebe den teilen einen festen wert, der für sie eindeutig ist (oder zumindest anders als bei umliegenden teilen ist) - Nutze einen gesetzten Random-seed um mit Rand() die selben zufallszahlen für gleiche parts zu generieren - Nutze diese zufallszahl (bzw zahlen, hauptsache du nimmst _immer_ gleichviele zufallszahlen !) um deine Map zu erstellen. viel glück =) |
||
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Propellator hat Folgendes geschrieben: Da er scheinbar eine Simulation von Kräften will, die an einem Körper angreifen, wird ihm das aber nicht viel helfen, hazumu.
Entweder er benutzt vorgefertigte Libraries oder liest sich in Verlet-Physik oder Rigid Bodies ein. Die Fallbeschleunigung macht noch keine Physikengine. Dann würde ich entweder eine Physik Formelsammlung zur Mechanik empfehlen oder was selbstgebasteltes. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: - Wie kann ich Maps erstellen die (scheinbar) endlos lang sind ?
Der Anfang ist im diesen falle Fest, und der Rest berechnet, Alla Minecraft: Berechnet Alla GTA: Komplett vorgebaut und nur intelligent geladen und nciht alles gleichzeitig Alla Mario alles beeits geladen und nur sichtbares dargestellt. Zitat: - Wie realisiert man ein Physikalisches herabfallen von Gegenständen, sobald man den Boden oder den Gegenstand unter ihnen entfernt
2 Ansätze Rastern, nach Blöcken oder Vektoren berechnung. Jump and runs wie mario sind meist alla Raster, 3d Spiele fast komplett mit vektoren und spiele, wo es viele schrägen gibt usw. sind auch meistens mit Vektoren gemacht. Vektorenrechnung sagt dir was? |
||
between angels and insects |
Ronon_Dex |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
PhillipK hat Folgendes geschrieben: Also nochmal grob zusammengefasst:
- Unterteile deine map in diverse Sektoren, abschnitte, wie auch immer. - Gebe den teilen einen festen wert, der für sie eindeutig ist (oder zumindest anders als bei umliegenden teilen ist) - Nutze einen gesetzten Random-seed um mit Rand() die selben zufallszahlen für gleiche parts zu generieren - Nutze diese zufallszahl (bzw zahlen, hauptsache du nimmst _immer_ gleichviele zufallszahlen !) um deine Map zu erstellen. Danke das war schonmal sehr hilfreich ![]() Jan_ hat Folgendes geschrieben: Vektorenrechnung sagt dir was? Und mit Vektorenrechnungen hab ich nicht wirklich die erfahrung. Außerdem tut es mir Leid das ich erst so spät antwortete ![]() |
||
Ronon_DexBetreff: Weitere Frage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da ich diesem Thread eine eher groß "Flächige" überschrift gab stell ich einfach weiterhin meine fragen hier drin ![]() Also ich wollte diesmal noch Wissen wie genau ich eine Steuerrung für ein Fahrzeug mache. Natürlich im 2D bereich. Ich denke schon das ich Fahrzeug drehen und mit Vektoren arbeiten sollte, doch mir fehlt der richtige Ansatz dazu. Könnt ihr mir etwas auf die Sprünge helfen ? wäre echt nett ![]() mfg Ron //Edit ... Mist doppelpost '-.- tut mir Leid war keine Absicht |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Topdown? Sidescroller? | ||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe ich mal aus der Szene gefischt: http://home.arcor.de/inpac/tut1.htm.
Bei Sidescroller gewiss etwas anderes (-> Gravitation, s.o.). ZEVS |
||
Ronon_Dex |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank Zevs ![]() Wenn ich weitere Fragen greife ich einfach wieder auf diesen Thread zurück ![]() Ich hoffe dass es dann nicht so Schlimm ist wenn ein Doppelpost dabei ist weil kein Anderer unter meine Bedankung postet o.o //Edit: Naja das Tutorial funktioniert bei mir kein Meter wie es sollte aber nach ein paar spielereien hab ichs doch noch gerade gebogen mit vielen änderrungen |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group