Games und Programmierung
Re: Games und Programmierung
Ich habe gestern Nacht auch noch ein bischen rumprobiert (habe für den Rest der Woche frei *juhu*).
Ich habe das ios mal Testweise um einen "handle" erweitert. Damit kann die Anwendung von Bellatrix einen handle anfordern, der dann zur Bildschirmausgabe benutzt wird. Jede Ausgabe mit einem anderen handle als dem aktuellen hat Bell ignoriert.Damit war schon mal ein "Task-Switching" wie Du beschrieben hast möglich. Allerdings noch ohne Speicherung des Bildpuffers oder gar Auflösungsumschaltung.
Leider "knallt" man da schon auf einige Probleme. Ist aber noch reichlich experimental. Hab's dann erst mal sein lassen.
Hier gibts bestimmt Leute die bedeutend besser sind als ich. Vielleicht finden die eine einfache Lösung.
Gruß.
Rainer
Ich habe das ios mal Testweise um einen "handle" erweitert. Damit kann die Anwendung von Bellatrix einen handle anfordern, der dann zur Bildschirmausgabe benutzt wird. Jede Ausgabe mit einem anderen handle als dem aktuellen hat Bell ignoriert.Damit war schon mal ein "Task-Switching" wie Du beschrieben hast möglich. Allerdings noch ohne Speicherung des Bildpuffers oder gar Auflösungsumschaltung.
Leider "knallt" man da schon auf einige Probleme. Ist aber noch reichlich experimental. Hab's dann erst mal sein lassen.
Hier gibts bestimmt Leute die bedeutend besser sind als ich. Vielleicht finden die eine einfache Lösung.
Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Re: Games und Programmierung
Hm, also eine speicherung des Bildpuffers würde ich nicht als nötig ansehen. Windows macht das auch nicht wirklich. Wenn ein Fenster ein anderes verdeckt und das verdeckte Fenster in der vordergrund geholt wird, bekommt die Anwendung die vorher versteckt war einfach ein Event, das sagt zeichne doch mal dein ganzes Bild neu. Wenn man erlich ist, kann Windows noch etwas mehr, aber das müssen wir glaube ich nicht wirklich machen. Windows gibt noch genau an, welche Bereiche eines Fensters verdeckt waren und nun neu zu Zeichnen sind. Entscheident ist eigentlich nur, das man in das OS ein Eventsystem intrgiert, das Daten vom OS an die Anwendung weitergeben kann.
Ein einfaches Event System könnte z.B. weitergeben:
- Fenster muss neu gezeichnet werden
- Anwendung muss sich selbst beenden ( Alt - F4 in Windows )
- Neue Mausposition ist X,Y
- Maustaste X gedrück / losgelassen
- Taste X gedrückt / losgelassen
Auch Event's von Treibern währen möglich:
Zum Beipsiel:
- Audiotreiber meldet, Sample X zuende gespielt
- Ethernettreiber meldet ankommende Daten bzw. ausgehden Daten wurden übertragen
- Grafiktreiber gibt evtl. rückmeldung wenn gewisse Kommandos ausgeführt wurden, oder wenn z.B. der Bildaufbau gerade fertig ist. ( HSYNC / VSYNC Events für Anwendungen dies interessiert)
- und vieles mehr
Auch Event's zwischen laufenden Programmen währen drinn.
- Client an Server z.B.
- Betriebssystem GUI an laufende Fensteranwendung ( z.B. Wenn ein File-Icon auf einem Fenster fallen gelassen wird.)
usw usw.
Alles in allem wäre alleine mit Events schon ne Menge an Kommuikation zwischen den Teilanwendungen möglich.
Grüße
Janaha
Ein einfaches Event System könnte z.B. weitergeben:
- Fenster muss neu gezeichnet werden
- Anwendung muss sich selbst beenden ( Alt - F4 in Windows )
- Neue Mausposition ist X,Y
- Maustaste X gedrück / losgelassen
- Taste X gedrückt / losgelassen
Auch Event's von Treibern währen möglich:
Zum Beipsiel:
- Audiotreiber meldet, Sample X zuende gespielt
- Ethernettreiber meldet ankommende Daten bzw. ausgehden Daten wurden übertragen
- Grafiktreiber gibt evtl. rückmeldung wenn gewisse Kommandos ausgeführt wurden, oder wenn z.B. der Bildaufbau gerade fertig ist. ( HSYNC / VSYNC Events für Anwendungen dies interessiert)
- und vieles mehr
Auch Event's zwischen laufenden Programmen währen drinn.
- Client an Server z.B.
- Betriebssystem GUI an laufende Fensteranwendung ( z.B. Wenn ein File-Icon auf einem Fenster fallen gelassen wird.)
usw usw.
Alles in allem wäre alleine mit Events schon ne Menge an Kommuikation zwischen den Teilanwendungen möglich.
Grüße
Janaha
Re: Games und Programmierung
(quote gekürzt)Janaha hat geschrieben:Hm, also eine speicherung...
Deine Gedanken gehen in Richtung "großes Betriebssystem", welche eigendlich sehr interissant sind. Allerdings hat das nichts mehr mit dem Flair eines klassischen Computers zu tun. Von daher sollte das in eine eigene Sparte gesteckt werden.
Ich persönlich denke, wir sollten nicht so dick auftragen. Beachtet man den Aufwand zur Entwicklung eines solchen Betriebssystems, dürften wir dafür mehrere Monate brauchen. Ich kann das ziemlich gut Beurteilen, befasse ich mich doch schon seit Wochen mit der Entwicklung eines DOS-like OS...
Falls Janaha aber tatsächlich ein größeres OS schreiben mag, sollte man sich ein kleines Team um sich herum bilden. Das spart, wenn man die Aufgaben entsprechend verteilt, evtl. Entwicklungszeit...
Re: Games und Programmierung
Halloe.
Ja Du hast vollkommen recht, so ein System wie es mir vorschwebt schreibt man nicht mal so eben über nacht. Da muss man schon viel Arbeit reinstecken, bevor man überhaupt die erste Zeile Code eintippt. Das letzte Betriebssystem das ich mir selbst ausgedacht und auch wirklich complett umgesetzt habe war eine Art GEOS für den Atari 800XL. Seit dem habe ich mich eher mit der 3D- Rollenspiel- Programmierung befasst. Eines meiner letzteren Projekte war daher auch eine 3D- Multiplayer Engine für den PC. Aus dem Spielesektor stammen dann auch viele Ideen, die ich mir beim neuen System so vorstelle. Meine Engine hat z.B. eine komplett eigene Fensterverwaltung auf Basis von OpenGL, eine eigene Soundengine sammt Softwaremixer, einen eigenen Scriptcompiler sammt Bytecode-Interpreter (Pascal ähnlich) und natürlich massig 3D- Objekte sammt deren Speicherverwaltung und co. Das ganze in C++ geschrieben und bereits ziemlich gross ( mehr als 280 Klassen ). Es hat ziemlich lange gedauert das ganze auf die beine zu Stellen.
Also eine Art mix aus GEOS und dem Amiga- Betriebssystem sollte auf dem Hive sicher möglich sein. Nur wie schon gesagt, nicht von heut auf morgen und eher als Ergänzung / Spielwiese zum TRIOS zu sehen. Nicht jeder mag eine GUI wie Windows, viele wollen lieber eine Shell und möglichst alles an Resourcen für die eigenen Anwendungen und nicht unmengen allein durch das Betriebssystem geblockt.
Also einfach mal schauen was wir so hinbekommen.
Grüße
Janaha
Ja Du hast vollkommen recht, so ein System wie es mir vorschwebt schreibt man nicht mal so eben über nacht. Da muss man schon viel Arbeit reinstecken, bevor man überhaupt die erste Zeile Code eintippt. Das letzte Betriebssystem das ich mir selbst ausgedacht und auch wirklich complett umgesetzt habe war eine Art GEOS für den Atari 800XL. Seit dem habe ich mich eher mit der 3D- Rollenspiel- Programmierung befasst. Eines meiner letzteren Projekte war daher auch eine 3D- Multiplayer Engine für den PC. Aus dem Spielesektor stammen dann auch viele Ideen, die ich mir beim neuen System so vorstelle. Meine Engine hat z.B. eine komplett eigene Fensterverwaltung auf Basis von OpenGL, eine eigene Soundengine sammt Softwaremixer, einen eigenen Scriptcompiler sammt Bytecode-Interpreter (Pascal ähnlich) und natürlich massig 3D- Objekte sammt deren Speicherverwaltung und co. Das ganze in C++ geschrieben und bereits ziemlich gross ( mehr als 280 Klassen ). Es hat ziemlich lange gedauert das ganze auf die beine zu Stellen.
Also eine Art mix aus GEOS und dem Amiga- Betriebssystem sollte auf dem Hive sicher möglich sein. Nur wie schon gesagt, nicht von heut auf morgen und eher als Ergänzung / Spielwiese zum TRIOS zu sehen. Nicht jeder mag eine GUI wie Windows, viele wollen lieber eine Shell und möglichst alles an Resourcen für die eigenen Anwendungen und nicht unmengen allein durch das Betriebssystem geblockt.
Also einfach mal schauen was wir so hinbekommen.
Grüße
Janaha
Re: Games und Programmierung
Ich schlage da mal eine Symbiose, aus shell und gui, vor. Ähnlich wie bei Linux: Eine reine Textshell mit Programmen die eine TUI verwenden (mc zum Beispiel), dazu kommt die Möglichkeit eine Gui zu starten. Der X-Server mit entsprechendem Desktop- Manager von Linux dient auch hier ein Beispiel. Eine solche Idee schwebt mir auch vor...Janaha hat geschrieben:Also eine Art mix aus GEOS und dem Amiga- Betriebssystem sollte auf dem Hive sicher möglich sein. Nur wie schon gesagt, nicht von heut auf morgen und eher als Ergänzung / Spielwiese zum TRIOS zu sehen. Nicht jeder mag eine GUI wie Windows, viele wollen lieber eine Shell und möglichst alles an Resourcen für die eigenen Anwendungen und nicht unmengen allein durch das Betriebssystem geblockt.
Ok, nun aber wieder BTT: Hier gehts ja um Spieleprogrammierung. Wer bereits eine Idee hat, evtl. gerade daran Programmiert, kann sie ja vorstellen

Re: Games und Programmierung
Gerade am programmieren (da ich sowieso gerade ein paar Sachen über Speicherzugriff ausprobiere).BorgKönig hat geschrieben:......
Ok, nun aber wieder BTT: Hier gehts ja um Spieleprogrammierung. Wer bereits eine Idee hat, evtl. gerade daran Programmiert, kann sie ja vorstellen
Bubble Shooter ( VGA + Maus )
Wird wohl jeder kennen und wird eine reine HIVE-Anwendung (läuft also wahrscheinlich nicht auf einem einzelnen Propeller)

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: Games und Programmierung
Öhh Rainer, das ist jetzt aber fies: Wo ist der angehängte Code?
Eine Umsetzung oder hast du das heimlich komplett selbst programmiert? Sieht schon toll aus!

Eine Umsetzung oder hast du das heimlich komplett selbst programmiert? Sieht schon toll aus!
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Re: Games und Programmierung
LOL .. heimlich programmiert *g*drohne235 hat geschrieben:Öhh Rainer, das ist jetzt aber fies: Wo ist der angehängte Code?![]()
Eine Umsetzung oder hast du das heimlich komplett selbst programmiert? Sieht schon toll aus!
Ist eine komplette Eigenentwicklung (das Spielprinzip natürlich nicht, das gibts schon ewig)
Natürlich benutze ich einen Parallax-Grafiktreiber. Source und Spiel selber kommt noch demnächst.
Ich kam auf die Idee, als ich experimentelle Grafiktreiber ausprobiert habe weil ich wissen wollte, wie man Bitmaps auf den Schirm bringt.
Da habe ich dann gesehen wie es gemacht wird .. der Rest ist Fleißarbeit .. gut, die Game-Logik halt noch. Aber die ist halb so wild.
Fehlen tut noch ein Scorezähler und andere Kleinigkeiten.
So nebenbei noch ein Bild einer meiner Versuche mit einem anderen Grafiktreiber (64 Farben, VGA)
Standbild ! Mehr lässt sich mit dem Treiber auch nicht anfangen .. vll. kann man da einen Picture-Viewer draus machen .. keine Ahnung.
Da fand ich die Technik aber interessant. Da werden 3 Cogs mit mit jeweils eigenen VGA-Treiber gestartet, synchronisiert und übereinandergelagert.
Jeder Treiber zeigt dabei eine eigene Farbschicht an (rot, grün, blau).
Das Bld ist übrigens kleiner als es auf dem Screenshot aussieht .. ist nur ein Auschnitt von meinem Monitor. Original-Bildgröße ist 159x174 Pixel

Gruß.
Rainer
Zuletzt geändert von Rainer am So 2. Aug 2009, 00:20, insgesamt 1-mal geändert.
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: Games und Programmierung
Ist das ein Bildschirmfoto direkt vom Hive? Sieht schon toll aus. Sag mal, könnte man den Mario nicht ein bisschen auf Borg pimpen? So mit Augenimplantat und so... hrhr
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Re: Games und Programmierung
Cool 64 Farben mit 3 Cogs
da würde ja mein Dithering (siehe Anhang) aus den 80. noch mal auf dem HiVe zum leben erweckt werden können.
Grüsse Joshy
da würde ja mein Dithering (siehe Anhang) aus den 80. noch mal auf dem HiVe zum leben erweckt werden können.
Grüsse Joshy
- Dateianhänge
-
- dithering.zip
- Man sieht die wenigen Grundfarben und die geditherte Version immer wieder eine Taste drücken.
- (49.44 KiB) 755-mal heruntergeladen
Zuletzt geändert von DJLinux am So 2. Aug 2009, 00:29, insgesamt 1-mal geändert.