Clonk-Center Titelbild

Inserate / Clonk in GBA




SchreiberAlexander
Datum05.06.2009 12:22:16
KategorieSonstiges:Allgemein
StatusAbgeschlossen
Interessiertekeine


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)
Grafik(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. Wer mir hilft 16 Bit es darzustehlen soll sich melden.

GBA=Game Boy Advance

Mittarbeiter kriegen am Ende 200 Clunker.


36 Kommentare


28.06.2009 9:35 von Alexander:
Ich weiß nicht ob ihr mich meint aber ich schließe dises Thema... (Ich kann das schon selbst)

27.06.2009 11:40 von Valentin130:
doch er hat jetzt ein hertzinfakt weil er jetzt erst aufs zeugnis gekukt hat :P

18.06.2009 17:01 von M4ddin:
Nö.

16.06.2009 19:59 von Wolfes:
hab ich ihn verschreckt?

10.06.2009 16:38 von Wolfes:
Ich wäre bereit dein Inserat auf Rechtschreibung zu prüfen und es zukorrigieren!

Ps: Kein Witz.

PPs:Was hast du in Deutsch,ALTER!

10.06.2009 16:30 von Elfangor:
RECHTSCHREIBUNG

08.06.2009 14:31 von Alexander:
naja jetzt grad geht fast alles auser das der clonk noch nich auf der landschaft steht.

07.06.2009 17:22 von Twonky:
Deine Formel ist seltsam. Außerdem weiß ich ja nicht, ob das wirklich ein Geschwindigkeitsvorteil ist, nur eine Dimension zu haben.

07.06.2009 14:11 von Alexander:
Twonky hat etwas recht. Ich hab nen Build-Scripte gesehen die aber es ermöglichen das BMP Foramt darstellen kann was ich nicht mache weil das Rechenzeit beansprucht und somiet mein Spiel immer stopt.

>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.


Einer Dimision^^(Leistung)
und so ist die Formel =
y*breite-breite+x

Zuletzt geändert: 07.06.2009 14:13

07.06.2009 10:54 von Twonky:
Ich nehme an, originale Grafiken aus Clonk nehmen und in Arrays umwandeln, da der GBA keine Grafikdateien unterstützt.

07.06.2009 10:26 von Wolfes:
der muss nur 1,0,2 schreiben
Zuletzt geändert: 07.06.2009 10:26

07.06.2009 9:58 von Blutwipf:
Ich hab ne Frage:

Was für eine Aufgabe würde der Grafiker überhaupt übernehmen ? (Ich versteh das Gerede da unten nicht)

06.06.2009 19:16 von Twonky:
>@Twonky:

>Alles sehr flüsig

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.

06.06.2009 17:40 von Nachtfalter:
Mach mal Zeilenumbrüche oder einen Paste bitte.

06.06.2009 17:10 von Alexander:
[gelöscht]

06.06.2009 15:05 von Methos:
>Damit kannst du aber schlecht eine veränderbare Landschaft zeichnen.


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...

06.06.2009 14:19 von Twonky:
Die Landschaft als Sprite wirst du nicht schaffen. Ich hab da keine Ahnung, aber Hamlib bietet doch bestimmt eine Funktion zum zeichnen von Pixel (PutPixel() oder sowas)? So könntest du die Landschaft Pixelweise zeichnen. Das wäre allerdings lahm.
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.



>@Twonky:

>> Da ein Sprite, wenn ich mich recht entsinne, unveränderbar ist

>O.o


Also ich meine die waren alle const. Also konnte man sie nicht zur Laufzeit verändern.

>> nd jeden Frame neu in den Videobuffer zeichnen.

>O.o². HAM bittet einige fuktione die ohne Videobuffer gehen >;o

>CreateObj() und SetObjXY() gibt es und neue Grafik (Fuktion vergessen, igenwas mit Arrse..)


Damit kannst du aber schlecht eine veränderbare Landschaft zeichnen.
Zuletzt geändert: 06.06.2009 14:21

06.06.2009 11:13 von Alexander:
@Methos:
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...

06.06.2009 10:52 von Methos:
>bist jetzt habe ich alles OHNE Viedobuffer gemacht und niedrigsten verbrauch, zumindest jetzt^^.


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...).

06.06.2009 8:33 von Speed:
fyi der windoof witz ist nicht lustig

06.06.2009 8:29 von Alexander:
@Twonky:
> Da ein Sprite, wenn ich mich recht entsinne, unveränderbar ist

O.o
> nd jeden Frame neu in den Videobuffer zeichnen.

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^^.

06.06.2009 8:28 von Zapper:
>Die Landschaft muss nicht unbedingt eine Pixmap sein. Mit nem Quadtree kannst du den Speicherbedarf jedenfalls wesentlich minimieren.

Dafuer sind Operationen in einem zweidimensionalen Array mit Random Access wie "Freisprengen" wesentlich schneller als in wohl fast allen anderen Datenstrukturen

05.06.2009 22:15 von Spell:
@Alexander:
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

05.06.2009 21:34 von Twonky:
Was kann man da groß machen, mit der Landschaft, bei dem wenigen RAM? Da ein Sprite, wenn ich mich recht entsinne, unveränderbar ist, wirst du sie wohl als ein Array im (äußerst begrenzten) RAM speichern müssen, und jeden Frame neu in den Videobuffer zeichnen. Nur wirst du sehr kleine Landschaften bekommen oder eine äußerst geringe Bittiefe verwenden müssen, denn große zusammenhängende Speicher-Blöcke (800*600 Pixel bei 8 Bit sind 480kb, das Übersteigt schon bei weitem den RAM, wenn ich mich nicht irre) wirst du nicht haben.
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.

05.06.2009 18:58 von Alexander:
Also sag mal Zwischen-bericht:
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

05.06.2009 17:40 von Methos:
>Mh das kann man nicht pauschalieren. Man kann zwar mit XNA arbeiten aber ob das einfacher ist, bezweifle ich.


Mhh... es gibt auch einfache freie alternativen, die sowohl PC als auch xBox 360 unterstützen.

05.06.2009 17:29 von Alexander:
ModernClonker:
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

05.06.2009 16:57 von Spell:
huh? Welche Programme denn? Die meisten guten Programme gibt es entweder für Linux oder sind kommerziel...

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

05.06.2009 16:53 von Alexander:
B_E:
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 -.-)

05.06.2009 16:39 von mo_sc:
@Enrique
Brauch man das eigentlich porten? Ich hab von einem Linux für die PSP gehört, kann man damit nicht auch CR spielen?

05.06.2009 16:19 von Enrique:
Portier es lieber auf die PSP. Die könnte sowas auch schaffen.

05.06.2009 16:19 von B_E:
>Da wäre es einfacher Clonk auf die Xbox 360 zu portieren.'


Mh das kann man nicht pauschalieren. Man kann zwar mit XNA arbeiten aber ob das einfacher ist, bezweifle ich.

05.06.2009 15:03 von Methos:
Da wäre es einfacher Clonk auf die Xbox 360 zu portieren.

05.06.2009 14:26 von B_E:
1. Du scheinst was gegen Windows zu haben. Wenn du das hast, dann benutze es nicht und beschwere dich nicht. Nimm dir Linux, dann bist du ja wohl glücklich und wir brauchen dein Gemecker über 'Windoff' und Ähnliches nicht mehr anzuhören. Danke.
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

05.06.2009 13:35 von Zapper:
>Dann wird es die erste Version von Clonk die Tragbar wärre

Nun, die zweite :P
Clonk Planet laeuft bereits auf dem GP2X

05.06.2009 13:16 von Kevda:
Ist zwar toll das sowas möglich ist, jedoch bin ich der meinung, dass man die Zeit die man für sowas aufwendet eher in Clonk-Objekt-Packs oder in OpenClonk besser investieren kann.
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