Rennspiel-Demo für den NDS - Seite 2 - portablegaming.de

Planet3DS PlanetDS PlanetVita PSP.de PlanetiPhone Classics Forum Handheld-Wiki

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetGameboy N-Page.de
portablegaming.de  

Zurück   portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung


Development Abteilung Ihr wollt für euren Lieblingshandheld Spiele oder Tools entwickeln?
Bitte die Präfixe benutzen!

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 21.05.2011, 22:32   #21
Mod of the Evil League of Evil
 
Benutzerbild von Cloud
 
Registriert seit: 26.06.2006
Alter: 25

Cloud ist ein ForengottCloud ist ein Forengott
Cloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein Forengott

Standard AW: Rennspiel-Demo für den NDS

Zitat:
Zitat von Akamuntor Beitrag anzeigen
Der macht das als Hobby. -.- Veröffentlicht wird's bestimmt nicht, allein weil der 3DS jetzt schon draußen ist und er noch einiges am Game zu machen hat.
versuchs net aka , der checkts eh net. auch wenn mans gut meint
Cloud ist offline   Mit Zitat antworten
Sponsored Links
Alt 21.05.2011, 22:44   #22
ehem. Teammitglied
 
Benutzerbild von Akamuntor
 
Registriert seit: 12.09.2009
Spielt gerade: Sabaku no Gaara

Akamuntor genießt hohes Ansehen
Akamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes AnsehenAkamuntor genießt hohes Ansehen

Standard AW: Rennspiel-Demo für den NDS

Es ist ja nicht mal ne Sache des Nichtverstehens, er kann sich anscheindend nicht mal 1 (!!!) Seite durchlesen. -.-

Nunja, um beim Thema zu bleiben: Ich find's echt cool, was du da machst, bist ja auch echt ambitioniert. Werd die Demo zu Zeiten mal anspielen. ;D
__________________
No beer and no TV makes Aka go crazy!
Akamuntor ist offline   Mit Zitat antworten
Alt 21.05.2011, 22:47   #23
Mod of the Evil League of Evil
 
Benutzerbild von Cloud
 
Registriert seit: 26.06.2006
Alter: 25

Cloud ist ein ForengottCloud ist ein Forengott
Cloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein ForengottCloud ist ein Forengott

Standard AW: Rennspiel-Demo für den NDS

Zitat:
Zitat von Akamuntor Beitrag anzeigen
Es ist ja nicht mal ne Sache des Nichtverstehens, er kann sich anscheindend nicht mal 1 (!!!) Seite durchlesen. -.-
jop. und des bewussten Spams.
naja morgen lass ich mir mal was einfallen.

Ich bewundere immer Leute die ihr Herzblut reinlegen in ihre projekte. und das ohne gedanken ans große geld . sondern einfach nur weil man bock hat was zu machen
Cloud ist offline   Mit Zitat antworten
Alt 13.09.2011, 02:36   #24
Redakteur
 
Benutzerbild von 501.legion
 
Registriert seit: 18.11.2010
Alter: 20
Spielt gerade: alles kreuz und quer

501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre

501.legion eine Nachricht über ICQ schicken 501.legion eine Nachricht über Skype™ schicken
Standard AW: Rennspiel-Demo für den NDS

Hm, scheint etwas festgefahren zu sein ... Schade, ich hätte auf homebrewwelt.com gerne ein Review geschrieben ...
Brauchst du vielleicht ein wenig Hilfe, Jim?
__________________
501. Legion
Vader's Fist
501.legion ist offline   Mit Zitat antworten
Alt 14.09.2011, 20:17   #25
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Hier mal ne Begründung und Aufzählung warum es nicht mehr weiterging.

Einerseits hab ich Fortschritte bei der Grafik gemacht, deswegen veröffentliche ich aber nicht gleich ne neue Version. Außerdem hab ich da manchmal noch unerklärliche Grafikfehler, z.B. werden nach einer Änderung die Texturen falsch angezeigt. Und das obwohl ich glaubte das im Griff zu haben.
Dann hab ich mit Schatten herumgespielt, das Prinzip verstanden und mich tiefer mit der Technik des NDS auseinandergesetzt.

Das Problem mit der Kollisionsabfrage mit Wänden wollte ich einmal gründlich angehen und sowas dauert. Und hier hat mich vor ein, zwei Monaten die Lust verlassen und die Prüfungszeit von der Uni eingeholt.
Ich wollte anhand dieses Blogartikels "Collision detection for dummies" alle Kollisionsarten die aufgelisten sind durcharbeiten und hing zuletzt bei der "Minkowski Differenz" (für Kollisionen von Polygon gegen Polygon) fest.
Wenn man weiterliest geht es um Kollision bei Bewegungen (genau das was ich bei Wänden brauche), außerdem hat er noch einen "Physics engines for dummies"-Artikel geschrieben, den ich auch durchgearbeitet habe.

Ich hoffe in nächster Zeit wieder mal was produktives zu programmieren. Motorsport und Rennspiele sind einfach spannend und zum Verständnis der Physik hat mir dieses Projekt auch sehr geholfen (zumindest bei der Newtonschen Physik). Und alleine dafür will ich mich mit dem Thema weiter auseinandersetzen. Aber beim rumprobieren kommt eben in erster Linie keine spielbare Demo heraus, sondern ich könnte einen Artikel über Schattendarstellung oder das komprimierte Texturenformat schreiben. Was ich auch vielleicht demnächst mal auf meinen Blog stelle.

Ich bin auf jedenfall noch am Thema dran und werd mich demnächst wieder melden. Ein Review zu einem Spiel von mir hätte ich nämlich gerne mal gelesen.

Geändert von Jim (14.09.2011 um 20:21 Uhr)
Jim ist offline   Mit Zitat antworten
Alt 14.09.2011, 20:26   #26
Redakteur
 
Benutzerbild von 501.legion
 
Registriert seit: 18.11.2010
Alter: 20
Spielt gerade: alles kreuz und quer

501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre

501.legion eine Nachricht über ICQ schicken 501.legion eine Nachricht über Skype™ schicken
Standard AW: Rennspiel-Demo für den NDS

Schön, dass du noch dran bist ;-) Das ist das wichtigste
__________________
501. Legion
Vader's Fist
501.legion ist offline   Mit Zitat antworten
Alt 22.12.2011, 16:36   #27
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Hier ein kleines Update für alle die das Projekt noch verfolgen und wissen wollen obs vorangeht.

Unten seht ihr einige Bilder die den momentanen grafischen Stand zeigen. Ich hab einfach mal den Videospeicher mit sovielen Texturen gefüllt wie ich konnte und bin da mittlerweile beim Maximum angelangt. Also der für "Texturen abgestellte"-Speicher ist voll belegt. Ich werd mich deshalb demnächst mal mit der dynamischen Verwaltung der Texturen beschäftigen. Die glDeleteTextures-Funktion ist ja seit Anfang des Jahres genau für diesen Zweck in der libnds enthalten.
Beim konvertieren der Texturen ist mir dann auch aufgefallen das die schlechte Qualität der 4- und 16-Farben-Texturen nicht an der GrafikEngine des DS liegt, sondern an meinem Texturkonverter. Hätte mir eigentlich schon früher auffallen müssen.

Dann bin ich momentan immer noch dabei eine saubere Starrkörper-Klasse und ebenso die verschiedenen Koordinatensysteme (welt, lokal) sauber umzusetzen. Deswegen gibt es spielerisch noch keine Fortschritte zu verzeichnen, deswegen erstmal wieder nur die folgenden Bilder:

Jim ist offline   Mit Zitat antworten
Alt 22.12.2011, 20:51   #28
Redakteur
 
Benutzerbild von 501.legion
 
Registriert seit: 18.11.2010
Alter: 20
Spielt gerade: alles kreuz und quer

501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre501.legion sorgt für eine eindrucksvolle Atmosphäre

501.legion eine Nachricht über ICQ schicken 501.legion eine Nachricht über Skype™ schicken
Standard AW: Rennspiel-Demo für den NDS

Ah, schön dich hier wieder begrüßen zu können

Klasse Fortschritt, endlich hübsche Texturen ^^
__________________
501. Legion
Vader's Fist
501.legion ist offline   Mit Zitat antworten
Alt 09.01.2012, 07:35   #29
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Zitat:
Zitat von Jim Beitrag anzeigen
Dann bin ich momentan immer noch dabei eine saubere Starrkörper-Klasse und ebenso die verschiedenen Koordinatensysteme (welt, lokal) sauber umzusetzen.
Mit sauber meinte ich in erster Linie im 3 dimensionalen. Das ist aber leider nicht so einfach wie ich gedacht habe. Ich hab bis jetzt nur Eulerwinkel verwendet, aber das führt zu gewissen Problemen.
Wer sich für die Problematik interessiert soll mal bei der FH Trier vorbeischauen. Dort gibt es eine Vorlesung über Spieleprogrammierung die man sich online anschauen kann und wo das Problem mit der Darstellung der Rotation in 3 Dimensionen behandelt wird. Ich empfehle deshalb den Vortrag "Räumliche Repräsentation" und davor für die mathematische Vorbildung "Komplexe Zahlen und Quaternionen".

Ich hab im GameDev.net-Forum vor längerer Zeit gelesen das die professionellen Rennspiele (PGR, Forza, GT) alle in gewissen Bereichen auf eine 2 dimensionale Physik setzen solange das Fahrzeug am Boden ist. Die Rotationsproblematik ist wahrscheinlich einer der Gründe. Man kann sich ja auch mit keinem Fahrzeug in diesen Spielen überschlagen.
Jim ist offline   Mit Zitat antworten
Alt 07.06.2014, 15:29   #30
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Hallo zusammen,

hier ein kleiner Auszug meiner Programmierübungen. 2 Demos mit denen ich versucht habe und immer noch versuche verschiedene Dinge umzusetzen die man mal für ein Rennspiel brauchen könnte

FluidDynamics

FluidDynamics ist eine kleine Strömungssimulation (Grid-basiert). Für mehr Informationen und den Beispielcode den ich benutzt habe, bitte folgendes Tutorial durchlesen:
Practical Fluid Dynamics: Part 1
Für den Beispielcode hab ich jetzt keinen funktionierenden Link mehr gefunden. Im Notfall lad ich den Code nochmal selber hoch.

Die Demo benutzt wie gesagt den Beispielcode vom Tutorial. Die Auflösung ist stark reduziert weswegen das ganze etwas klobig wirkt.
Im linken unteren Feld wird jedes Frame Material eingefüllt und nach rechts geblasen. Im rechten unteren Feld wird das Material nach oben geblasen.
Die Debug-Anzeigen zeigen die Füllmenge an (wieviel Material ist im Feld) und die Geschwindigkeitsvektoren für ein paar Felder. Dazu noch deltaT, die Länge eines Simulationsschritts, da ich einmal Probleme mit Zahlen vom Datentyp float hatte.

Download (276 KB)

Screenshots (Verlauf der ersten 30 Sekunden):



CollisionDetection

CollisionDetection ist eine Sammlung an verschiedenen Kollisionsabfragen die ich hier ausprobiert habe. Angefangen mit Kreis-gegen-Kreis, Kreis-gegen-rotierbaresRechteck, über Polygen-gegen-Polyon bis hin zu Simulation von Bällen die auf den Boden fallen.

Steuerung (für alle Modi):
Start: Durchschalten der verschiedenen Anzeigen und

Steuerung (gilt nicht für alle Modi):
Steuerkreuz: manchmal bewegen eines Elements
A-B-L-R: verschiedenes (z.B. rotieren)
Select: Neustart des Modus

Ich will nicht alle Modi hier beschreiben, einfach mal durchprobieren. Ist vielleicht manchmal etwas nervig da auch Dinge drin sind die nicht funktionieren oder nicht das machen was sie sollen (sprich sie sind unfertig). Da das Aufräumen von Experimenten aber immer länger dauert als man denkt wollte ich das hier mal so veröffentlichen.

Einige der Demos sind aus den folgenden 2 Tutorials die ich schon öfter erwähnt habe:
Physics engines for dummies
Collision detection for dummies
Die Tutorials haben nur Auszüge aus dem Programmiercode, man kann aber auch den kompletten Code sich kaufen. Ich hab es aber als Herausforderung gefunden die Beispiele nachzuprogrammieren und den Code selber zu ergänzen. Allerdings bin ich noch nicht ganz mit allen Beispielen durch.

Download (1.182 KB)

Screenshots:
3 kollidierende Bälle:


Spekulative Kollisionsabfrage mit Bällen auf einem festen Grund:


Ein Pendel aus 4 Bällen:


Kollision Kreis-gegen-Kreis:


Kollision Kreis-gegen-orientierteBoundingBox:

Geändert von Jim (07.06.2014 um 15:43 Uhr)
Jim ist offline   Mit Zitat antworten
Alt 07.06.2014, 22:38   #31
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Tharo eine Nachricht über ICQ schicken
Standard AW: Rennspiel-Demo für den NDS

Hmm. Die Fluid Demo finde ich durchaus ziemlich interessant. Cooles Zeug
__________________
Neu, neu, neue Tutorial-Reihe: Tiny Grass is Dreaming
Tharo ist offline   Mit Zitat antworten
Alt 07.06.2014, 23:26   #32
 
Benutzerbild von Lakkolith
 
Registriert seit: 22.03.2008
Spielt gerade: Psychonauts in 1920 nochwas :3

Lakkolith ist jedem bekanntLakkolith ist jedem bekanntLakkolith ist jedem bekanntLakkolith ist jedem bekanntLakkolith ist jedem bekanntLakkolith ist jedem bekanntLakkolith ist jedem bekannt

Standard AW: Rennspiel-Demo für den NDS

cooles zeug mach weiter so, dude. ♥
__________________
-----
Fantomas ist cooler als die GEMA
Lakkolith ist offline   Mit Zitat antworten
Alt 08.06.2014, 10:06   #33
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Tharo eine Nachricht über ICQ schicken
Standard AW: Rennspiel-Demo für den NDS

Hast du vllt Lust das Zeug im Blog zu veröffentlichen? ^^
__________________
Neu, neu, neue Tutorial-Reihe: Tiny Grass is Dreaming
Tharo ist offline   Mit Zitat antworten
Alt 09.06.2014, 10:59   #34
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Ich finde auch die Demo zur Kollisionserkennung sehr interessant.
Habe da in allen meinen Spielen immer diverse Typen verwendet, meist Sphäre<->Sphäre zur groben Analyse (Aussortieren) und dann meist Pixeltests gegen diverse Codes (im Alphakanal) oder Polygon<->Polygon.

Ich schau mal weiter die Tutorials durch …
goldmomo ist offline   Mit Zitat antworten
Alt 10.06.2014, 01:01   #35
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Zitat:
Zitat von goldmomo Beitrag anzeigen
Ich finde auch die Demo zur Kollisionserkennung sehr interessant.
Habe da in allen meinen Spielen immer diverse Typen verwendet, meist Sphäre<->Sphäre zur groben Analyse (Aussortieren) und dann meist Pixeltests gegen diverse Codes (im Alphakanal) oder Polygon<->Polygon.

Ich schau mal weiter die Tutorials durch …
Die verschiedenen Typen (Geometrischen Formen) hab ich mehr oder weniger alle durch, ich hab mich in letzter Zeit mehr mit der Frage beschäftigt wann sich 2 Objekte berühren und nicht ob sie sich überschneiden. Den Kontaktpunkt will ich nämlich für die Physikengine verwenden und dann damit ausrechnen wie Kräfte oder Impulse untereinander ausgetauscht werden. (Wenn die Objekte schon ineinanderhängen muss man sie zuerst auseinanderziehen und das kann sehr unsauber werden, dann lieber konservativ etwas Energie vorher aus dem System nehmen.)

Die Kollision von Polygonen mit Impulsübertragung ist in der Demo ja zu sehen. Das ist einfach gesagt die Verallgemeinerung der Pong-Physik (Ball prallt an Wand ab).
Wo ich aber seit längerer Zeit keine Fortschritte hinbekomme ist das Berechnung des Drehmoments das beim auftreffen auf die Wand entsteht. Die einfachste und beste Lösung die ich gefunden hab ist der GJK & EPA - Algorithmus, wo ich aber einfach keinen Kontaktpunkt ausgerechnet bekomme.

Links zu Erklärungen der beiden Algorithmen:
GJK (Gilbert–Johnson–Keerthi)
EPA (Expanding Polytope Algorithm)


Zitat:
Zitat von Tharo Beitrag anzeigen
Hast du vllt Lust das Zeug im Blog zu veröffentlichen? ^^
Kann ich gerne machen. Ich schreib erstmal nen Beitrag für meinen privaten Testblog dann kann man ihn gerne übernehmen.


Hier noch der Link zum Code für die FluidDynamics-Demo:
Fluid Simulation for Dummies
Jim ist offline   Mit Zitat antworten
Alt 01.07.2014, 10:06   #36
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Kurzes Update zu meinen aktuellsten Fortschritten.

Wenn man nach OBB Kollisionsabfrage sucht, findet man z.B. solch ein Video:
Im Video funktioniert alles, in der Beschreibung steht aber nur das der Ersteller eine Erleuchtung hatte als er die Funktion fand für den nächsten Punkt zwischen OBB und Punkt. Das hilft einem erstmal nicht viel weiter.

Ich habs aber mittlerweile verstanden und auch umgesetzt. Für nähere Details die Präsentation von Erin Catto auf der GDC 2013 anschauen. Er fasst sein Verfahren unter "Continous Collision" zusammen, das selbe was im "Collision for Dummies" "Speculative Collision" genannt wird.

Den Kontaktpunkt kann ich also mittlerweile näherungsweise ausrechnen. Jedoch versagt meine Funktion die fürs austauschen des Impulses/Geschwindigkeit zuständig ist. Ich bekomm nur gute Endwerte raus wenn die Masse und das Trägheitsmoment "gute Werte" haben. Alles sehr misteriös. Ich hoff ich krieg das in absehbarer Zeit noch hin.
Jim ist offline   Mit Zitat antworten
Alt 04.07.2014, 06:52   #37
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Folgender Text ist vor ein paar Stunden aus einer Linksammlung entstanden die ich mit meinen eigenen Gedankengängen erweitert habe. Hoffe das Problem und die Lösung dafür werden klar auch wenn man keine Vorkenntnisse in Sachen NDS-Hardware hat. Ich hab einfach mal wieder versucht einen Text zu schreiben den ich selber gerne lesen würde, fürs Atari 2600 gibts in der Form sogar ein ganzes Buch ("Racing the Beam").

Ein Text zum OBB-OBB-Problem mit Kollisionsbehandlung wird wohl noch kommen. Hab die Probleme die mich da groß aufgehalten habe aus dem Weg geräumt. War irgendwie eine sehr gute Woche, hat man nicht häufig so viele Probleme lösen zu können.

-------------------------

Hallo zusammen,

heute widmen wir uns einem typischen Problem das bei Konsolen auftritt die zuwenig Grafikspeicher haben (also alle) und bei denen Speichertransfers lange dauern können (der schnelle Speicherbereich ist immer viel zu klein, womit wir beim vorherigen Punkt wären). Auf dem NDS sieht das Problem folgendermaßen aus:
Ich habe einen VRAM von maximal 656KB, davon kann ich maximal 4*128KB für Texturen verwenden und noch 64KB für die dazugehörigen Paletten.
Wenn ich auf beiden Bildschirmen 3D darstellen will kostet mich das die Hälfte meines Texturenspeichers, da ich das Bild für den 2. Bildschirm zwischenspeichern muss.
Aber auch im normalen Betrieb (1mal 3D und 1mal 2D) kann der Texturenspeicher eng werden. Dann muss man die Texturen in Größe oder Farbzahl komprimieren.

Wenn man dann immer noch zu wenig Speicher hat muss man zwischendurch Texturen nachladen. Damit das Nachladen nicht sichtbar wird muss das Timing stimmen. Eine Textur die gerade sichtbar ist und die verändert wird kann durchaus negativ auffallen. Beim VRAM des NDS ist es jedoch so das man die entsprechenden Speicherbereiche erst sperren muss um sie beschreiben zu können, in dieser Zeit kann allerdings die RenderingEngine nicht darauf zugreifen und zeichnet alles schwarz was nicht lesbar ist. Objekte die weiß gezeichnet werden haben das Problem das keine Textur angegeben ist (oder so ähnlich).

Ich bin naiv von meinem Vorwissen vom GBA ausgegangen und habe gedacht das alle Schreiboperationen nach dem VBlank sicher wären. Ist es auch, allerdings hat man dann ganze 23 Zeilen (191-213) Zeit seine Speicherinhalte zu verschieben. Der eigentliche VBlank dauert allerdings 71 Zeilen (192-263) GBATEK.DSVideoStuff und gilt nur für die 2D Engine, was dem Verhalten des GBAs entspricht. Warum ist er für die 3D Engine geringer? Das liegt daran, dass die 3D Darstellung mit 48 Zeilen im Vorraus berechnet wird (263-48=215) GBATEK.DS3DOverview. Deswegen fehlt uns die Zeit am Ende, d.h. aber auch das die 3D Engine früher fertig ist und der VBlank zu spät kommt.

Wir beginnen also nicht erst beim VBlank mit dem kopieren unserer Texturen, sondern bereits bei Zeile 144 (=192-48). Hierfür brauchen wir dann den IRQ_VCOUNT den wir auf 144 setzen können und dann unsere Ladeoperationen in den jeweiligen Interrupthandler packen. (Auf die Idee kam auch schon jemand und zwar hier gbadev.org - Doing stuff in vblank without flicker. Man muss diese Aussagen aber erstmal finden.)

Bei Tests auf der Hardware hab ich festgestellt das bei einer Demo Werte bis 141 sicher waren. Dies liegt jedoch wahrscheinlich daran das die Speicheroperationen nicht sofort beginnen, sondern mit etwas Verzögerung. Entweder man berechnet alles vorher aus oder man kann den VCount etwas niedriger ansetzen.


Nun ein paar Beispiele aus dem gbadev.org-Forum die ich versuche mit dem oben aufgeschriebenem Verstädnis zu erklären:
gbadev.org - Texture load amount in between frame renders?
Hier gibt jemand seinen Code an der im VBlank-Handler liegt. Er schreibt das er "256*256 16 bit texture" im VBlank damit ohne flickern laden konnte. Ich habs damit ausprobiert und habe es für meinen Fall nicht zum funktionieren bekommen. Erklärung:
1. Zu kurze Zeit (erst bei VBlank mit dem laden beginnen) für zu große Speichermenge (128KB)
2. loadPCX verwendet (die Textur bitte vorm oder beim kompilieren umwandeln so das sie direkt in den VRAM geladen werden kann)
3. swiCopy verwendet (DMA ist schneller)

Warum funktioniert es bei ihm? Meine Erklärung ist das die Textur 128KB groß ist und damit in genau eine Speicherbank für Texturen passt und sonst nichts mehr. Wenn nur dieser Speicherbereich gesperrt wird, wird nur die zu ladenen Textur für kurze Zeit (1 Frame) schwarz angezeigt. Das fällt nicht auf. Den Fall hatte ich nämlich auch.
Wenn allerdings sich mind. 2 Texturen den Speicher teilen und beide auf dem Bildschirm gleichzeitig angezeigt werden (bei mir wurde das Auto geladen und die Textur des Himmels blieb unverändert), sieht man das die 2. Textur flackert. Zwar nur kurz, aber wenn die Textur das Bild füllt (wie z.B. der Himmel) fällt das sehr auf.

gbadev.org - Reloading a texture at a specific address
Hier schreibt simonjhall das Werte für den VCount von ~170 - ~215 sicher sind. Passt mit meiner Beobachtung überrein, ist allerdings zu konservativ.

gbadev.org - Textures for 3D and memory limitation
Hier schreibt TwentySeven das man "3-4 64x64 textures per vblank" laden kann. Kommt wohl auf die Anzahl der Farben an wenn man wirklich nur den VBlank nimmt, wenn man den maximalen VCount nimmt ginge das auch mit 256-Farbpaletten.

Geändert von Jim (04.07.2014 um 13:48 Uhr)
Jim ist offline   Mit Zitat antworten
Alt 04.07.2014, 13:22   #38
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Hi,

ich werde mit mal die NDS 3D-Spec durchlesen, weil ich einige Sachen mit dem Texture nachladen nicht ganz klar sind.

P.s.: Habe mir die Doku angeschaut, meine Fragen haben sich schon erledigt
Mal ganz blöde gefragt:

-hat der NDS keinen DoubleBuffer für den Screen
-wird immer die ganze Szene gerendert und ich muss davor die Texturen für alle Polygone bereitstellen
-kann ich Teilszene einzeln Render und davor auch schon den Texturespeicher für die Szene laden (wohl eher nicht wie ichs verstehe)
-was machst du wenn Polygone sichtbar sind, die aber nicht im Texturespeicher sind (davor erkennen?, Texturemanagment?)


Achso der letzt Link ist defekt.

Geändert von goldmomo (04.07.2014 um 13:56 Uhr)
goldmomo ist offline   Mit Zitat antworten
Alt 04.07.2014, 14:03   #39
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Zitat:
Zitat von goldmomo
P.s.: Habe mir die Doku angeschaut, meine Fragen haben sich schon erledigt
Ich lass dann trotzdem mal die Antworten stehn, für Leute die sich nicht mit der Doku beschäftigen wollen.
Die Antwort hätte aber ruhig 5 Minuten früher kommen können und nicht erst während ich hier am schreiben war.


Zitat:
Zitat von goldmomo
-hat der NDS keinen DoubleBuffer für den Screen
-wird immer die ganze Szene gerendert und ich muss davor die Texturen für alle Polygone bereitstellen
Ja, man muss immer alle Polygone angeben und die Texturen müssen alle im Speicher vorhanden wenn gerendert wird. Unter "GBATek DS3DOverview" - Scanline Cache vs Framebuffer steht das immer die komplette Szene neu gezeichnet wird.
Es gibt unter Swap Buffers (Pass data from the Geometry Engine to the Rendering Engine) einen Buffer, aber der ist nur für den Vertex/Polygon RAM.

Zitat:
Zitat von goldmomo Beitrag anzeigen
-kann ich Teilszene einzeln Render und davor auch schon den Texturespeicher für die Szene laden (wohl eher nicht wie ichs verstehe)
Ich weiß nicht ob ich das mit den Teilszenen richtig verstehe.
Wenn einem ein Teil des Bildes auf dem Bildschirm reicht dann ja. Also solange Texturen und Polygone im Speicher sind, werden sie angezeigt.

Was ich unter Teilszene verstehen würde und was umsetzbar ist, ist das man den Hintergrund von der Engine rendern lässt. Die Ausgabe in den Grafikspeicher ausgibt und dann den Vordergrund im nächsten Frame berechnet und zusammen mit dem Hintergrund anzeigen.
Allerdings kann man damit effektiv nur das Polygon- und Vertex-Limit des NDS umgehen.

Zitat:
Zitat von goldmomo Beitrag anzeigen
-was machst du wenn Polygone sichtbar sind, die aber nicht im Texturespeicher sind (davor erkennen?, Texturemanagment?)
Da hab ich auch schon mehrere Lösungen für im gbadev-Forum gelesen.
Entweder man rendert das Polygon gibt aber keine Textur an, dann ist das Polygon weiß oder das Polygon wird nicht gerendet solange keine Textur im Speicher ist.

Zitat:
Zitat von goldmomo Beitrag anzeigen
Achso der letzt Link ist defekt.
Ist gefixt.

Geändert von Jim (04.07.2014 um 14:22 Uhr)
Jim ist offline   Mit Zitat antworten
Alt 04.07.2014, 14:48   #40
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard AW: Rennspiel-Demo für den NDS

Jetzt habe ich noch einige Fragen zu den Tools die du benutzt.

Bei den Texturen gibt es ja 4/16/256 Colors mit Palette dann noch 8/32 Colors mit Palette plus 8/32 Alpha und 4x4 Compressed (sowas wie S3TC). MIP-Mapping gibt es nicht.

Welche Tools verwendest du um zb. DDS / PNG / etc. zu konvertieren?

Bei den Polygonen gibt es normale 3 und 4 Punkte Polygone und zusätzlich noch Stripes aus solchen (Prohibited Quads vergesse ich jetzt mal).
Welche 3D Editoren benutzt du? Wie zerlegst du das Ausgangsformat (z.B. .X Files) in das NDS benötigte Format (XYZ ST trennen, Stripes erzeugen). Ich habe mich zwar nicht viel mit 3D beschäftigt, aber das umwandeln war immer ein Grauen, besonders weil viele 3D Programme n-Punkte Polygone benutzten und das Target sie meist als 3 oder 4 Punkte (evtl mit Stripes) braucht, vom Texturezuordnen mal ganz abgesehen.
goldmomo ist offline   Mit Zitat antworten
Antwort

  portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
RARE für den NDS!!!!!!!! nDS Spiele (Nintendo DS) 138 03.09.2006 11:47
Was ist das beste Rennspiel für den DS??? krebsman1990 Spiele (Nintendo DS) 8 27.04.2005 22:58
Neues Rennspiel für den N-Gage Iceman N-Gage Foren 4 16.07.2004 18:02
Das beste Rennspiel für den GBA! Muke Spiele (GBA) 16 19.01.2004 19:57
Bestes Rennspiel für den GBA Tobias Spiele (GBA) 22 29.09.2003 11:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:17 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
Template-Modifikationen durch TMS
PortableGaming.de © bk 2000 - 2010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225