Inserate / Clonk in GBA
Hallo Clonker, Clonk war mein Grundstein für die leidenschaft von Programmieren. Ich bin durch viele Sprachen gewandert(c++,html,java,java script,php,php+..) und dabei bin ich auf was sehr Tolles gestossen HAM. HAM ist ein development kit für Windoff(^^). Er kann c++,c compelieren und in einen GBA-Format erstehlen. Ich hab da mich schon etwas vertraut gemacht und die tolle Idee geweckt,"Clonk" in den GBA zu bringen. Dann wird es die erste Version von Clonk die Tragbar wärre. Ich brauch aber jemand der Mit Programmiert, weil alles alein wir Ewig dauern. Mittarbeiter: Scripter(1) Vorausezungen: Windoff XP SP3 oder niedriger ICQ C++ HAM gebe ich auch. GBA ist nicht wichtig, es gibt Programme das ihr auch auf PC spielen könnt. Wer aber ein Game Boy Advance besitzt und es unterwegst spielen möchte braucht ein "Linker" mit ~512 MB. 8 Bit wird wohl alles sein. GBA=Game Boy Advance Mittarbeiter kriegen am Ende 200 Clunker. 36 Kommentare |
Ps: Kein Witz.
PPs:Was hast du in Deutsch,ALTER!
Einer Dimision^^(Leistung)
und so ist die Formel =
y*breite-breite+x
Zuletzt geändert: 07.06.2009 14:13
Zuletzt geändert: 07.06.2009 10:26
Was für eine Aufgabe würde der Grafiker überhaupt übernehmen ? (Ich versteh das Gerede da unten nicht)
Und wie groß wird deine Landschaft, dass du sie noch auf dem Gameboy laden kannst? Nicht so riesig, oder?
Ich kann leider nicht erkennen, ob du ein ein- oder zweidimensionales Array hast. Bei 2 Dimensionen kannst du natürlich überprüfen ob array[x,y]==1 ist. Bei einer Dimension (also einer Art Liste) ist glaub ich gängig den Pixel (x|y) durch array[LANDSCAPEWIDTH*y+x] zu beschreiben. Sicher bin ich mir da aber nicht.
KA. was HAM draufhat, aber an sich würde es mit einer einfachen Abfrage der nebenstehenden Felder und einer entsprechenden Veränderung der Grafik möglich sein. Bloß wären da etwas viel Sprites nötig...
Ich persönlich vermute, alles was über eine Pixelmap hinausgeht, sprengt die Rechenleistungen des GBA. Aber villeicht könnte man geschickt nur die benötigten Sachen berechnen, das weiß ich leider nicht.
Ein nöchstes Problem ist Hamlib selbst. Du hast schon wenig RAM und frag mich nicht, was die dir da noch reinklatschen. Da gehen bestimmt einige kilobytes drauf.
Zu einem Array hab ich dir ja geraten, aber du musst halt sehen, wieviel Bit du für ein Element verwendest. Aber wie gesagt, damit werden nur winzige Landschaften möglich sein.
Das mit dem Videobuffer hab ich mir so vorgestellt, dass man vllt. einfach kompplette Blöcke der Landschaft dareinkopieren könnte. So könnte man die Landschaft bestimmt Zeilenweise in den Bufer schieben, das geht sicherlich schneller als Pixelweise. Allerdings hab ich keine Ahnung, ob man ganze Speicherblöcke verschieben kann. ASM oder sowas wäre hier sicher praktisch & schnell.
Also ich meine die waren alle const. Also konnte man sie nicht zur Laufzeit verändern.
Damit kannst du aber schlecht eine veränderbare Landschaft zeichnen.
Zuletzt geändert: 06.06.2009 14:21
Ich nehme was ganz anderes^^
ok schon ein buffer aber kein Video-buffer. Ich kann ~ 2500 Sprints darstehlen aber keine Punkt,Strich nochwas Scriptisch darstellen. Das ägert etwas mich, trozdem werd ich das benützen...
Und rate mal wieviel FPS du bekommen würdest, wenn du für jede 1 einen Erdpixel zeichnen würdest. Oder für jede 0 ein Teil des Backgrounds. Das Problem wird ist wohl eher, dass du dich nicht wirklich mit dem auskennst, was du tust, denn ohne Buffer kannst du überhaupt keine Grafiken darstellen (es sei denn, direkte Hardwareannahme... aber das wäre ja auch schon wie ein Buffer...).
O.o
O.o². HAM bittet einige fuktione die ohne Videobuffer gehen >;o
CreateObj() und SetObjXY() gibt es und neue Grafik (Fuktion vergessen, igenwas mit Arrse..)
Ich will DAS jetzt mit nen Rießen Array ausprobieren der die Landschaft hat.
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,1,1,
1,2,2,2,1,0,0,1,1,1,
1,1,2,1,1,1,1,1,1,1
0=Nichts|Sky
1=Erde
2=Wasser
bist jetzt habe ich alles OHNE Viedobuffer gemacht und niedrigsten verbrauch, zumindest jetzt^^.
Dafuer sind Operationen in einem zweidimensionalen Array mit Random Access wie "Freisprengen" wesentlich schneller als in wohl fast allen anderen Datenstrukturen
Ok, dann sorry das ich von dir was falsches vermutet habe. Aber es hatte sich einfach nach diesem Standard-Windoof-Kidie Zeugs angehört.
@Twonky:
Die Landschaft muss nicht unbedingt eine Pixmap sein. Mit nem Quadtree kannst du den Speicherbedarf jedenfalls wesentlich minimieren.
Zuletzt geändert: 05.06.2009 22:17
Eine andere Möglichkeit wäre, auf 4 Bit-Landschaften runterzugehen (=16 Materialien). Das halbiert immerhin die Größe. Oder du machst eine eher unpräzise Landschaft, in dem du einen Landschaftspixel in 4 Bildschirmpixel umwandelst (also das die Landschaft vergrößert zeichnest). Dann könnte man aber auch nur vierer-Blöcke graben.
Also alles in allem wirst du mit dem Ram und der Landschaft ziemliche Probleme bekommen. Was man da machen kann, weiß ich nicht.
Clonk kann gehen und Springen. Grafi geht nur Landschaft ist grad der Problem Faktor. Wer ein Rat hat wie wir die Landschaft darstehlen soll uns es bescheit sagen^^.
Wie hat das Clonk Planet eigentlich gemacht? O.o
Mhh... es gibt auch einfache freie alternativen, die sowohl PC als auch xBox 360 unterstützen.
Zu späht ich hatte Linux als erstes Betriebsystem und daher hatte ich noch keine Probleme... am meisten damit das Programme nicht starten verstehe ich nicht... alle Linux Programme gehen bei mir O.o
ach ja... lies bitte die folgenden Texte bevor du dich an Linux ranmachst:
http://burnachurch.com/43/linux-ist-nichts-fuer-dich-lass-es/
http://www.felix-schwarz.name/files/opensource/articles/Linux_ist_nicht_Windows/
sonst kann das ganz bitter enden.
Zuletzt geändert: 05.06.2009 17:02
DS ist mir einfach zu doff! Es ist nicht leichter aber GBA schon und das geht auch auf DS.
(Ja ich hab einiges gegen Windoff, aber nütze es wegen den Programmen -.-)
Brauch man das eigentlich porten? Ich hab von einem Linux für die PSP gehört, kann man damit nicht auch CR spielen?
Mh das kann man nicht pauschalieren. Man kann zwar mit XNA arbeiten aber ob das einfacher ist, bezweifle ich.
2. Mach sowas lieber auf dem DS, da gibt es besseres Grafikmäßiges usw und Homebrew läuft auch auf jeder guten Flashcard. Der GBA ist veraltet, und zwar wirklich hoffnngslos. Es gibt inzwischen 3 neuere Generationen.
3. Clonk nachzubauen kannst du, aber ich bin mir relativ sicher dass du Clonk Planet oder ähnliches nicht laufen bekommst, das 'kurz mal porten' funktioniert so einfach nicht auf einer Konsole.
4. Dein Niveau... "Ich brauch aber jemand der Mit Programmiert, weil alles alein wir Ewig dauern." <- Damit wird das wohl nichts.
Zuletzt geändert: 05.06.2009 14:27
Nun, die zweite :P
Clonk Planet laeuft bereits auf dem GP2X
Da du ja anscheinend sehr gut programmieren kannst, wärst du eigentlich perfekt aufgehoben in dem Projekt OpenClonk.
Nur so am Rande finde ich es toll, dass du oft genutzte Abkürzung erklärst (siehe gba). :P