Games und Programmierung

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Games und Programmierung

Beitrag von Rainer »

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
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Janaha
Beiträge: 213
Registriert: Fr 29. Mai 2009, 08:30

Re: Games und Programmierung

Beitrag von Janaha »

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
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Games und Programmierung

Beitrag von BorgKönig »

Janaha hat geschrieben:Hm, also eine speicherung...
(quote gekürzt)

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...
Janaha
Beiträge: 213
Registriert: Fr 29. Mai 2009, 08:30

Re: Games und Programmierung

Beitrag von Janaha »

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
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Games und Programmierung

Beitrag von BorgKönig »

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

Ok, nun aber wieder BTT: Hier gehts ja um Spieleprogrammierung. Wer bereits eine Idee hat, evtl. gerade daran Programmiert, kann sie ja vorstellen :)
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Games und Programmierung

Beitrag von Rainer »

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 :)
Gerade am programmieren (da ich sowieso gerade ein paar Sachen über Speicherzugriff ausprobiere).
Bubble Shooter ( VGA + Maus )

Wird wohl jeder kennen und wird eine reine HIVE-Anwendung (läuft also wahrscheinlich nicht auf einem einzelnen Propeller)

Bild

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Games und Programmierung

Beitrag von drohne235 »

Ö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!
"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
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Games und Programmierung

Beitrag von Rainer »

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!
LOL .. heimlich programmiert *g*

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

Bild

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."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Games und Programmierung

Beitrag von drohne235 »

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
DJLinux

Re: Games und Programmierung

Beitrag von DJLinux »

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
Dateianhänge
dithering.zip
Man sieht die wenigen Grundfarben und die geditherte Version immer wieder eine Taste drücken.
(49.44 KiB) 597-mal heruntergeladen
Zuletzt geändert von DJLinux am So 2. Aug 2009, 00:29, insgesamt 1-mal geändert.
Antworten