DGL
https://delphigl.com/forum/

Game of City Life
https://delphigl.com/forum/viewtopic.php?f=14&t=10573
Seite 1 von 1

Autor:  Bergmann89 [ Di Aug 28, 2012 13:30 ]
Betreff des Beitrags:  Game of City Life

Kommentar-Thread zum Projekt Game of City Life

Autor:  Lord Horazont [ Di Aug 28, 2012 14:15 ]
Betreff des Beitrags:  Re: Game of City Life

Nen Makefile oder sowas zum Bauen wäre super. Oder gleich ne Linux-Binary. Sonst bekommt ihr von mir wohl keine Stimme :P

grüße

Autor:  Bergmann89 [ Di Aug 28, 2012 14:29 ]
Betreff des Beitrags:  Re: Game of City Life

Hey,

hab grad bemerkt, das ich die Links total vergessen hab :/
Link zum Game und zum Source sind jetzt drin. Linux Binary kann ich leider nicht anbieten, das kann mein Delphi 7 leider nich, aber du könntest versuchen das Ganze nach Lazarus so portieren, das sollte eigentlich ohne Probleme funktionieren.

MfG Bergmann.

Autor:  Lord Horazont [ Di Aug 28, 2012 14:31 ]
Betreff des Beitrags:  Re: Game of City Life

Ich fürchte dafür hab ich nicht die Zeit ;). Mal ganz abgesehen davon, dass ich Pascal über ein Jahr nicht mehr angefasst habe…

grüße

Autor:  Bergmann89 [ Di Aug 28, 2012 14:57 ]
Betreff des Beitrags:  Re: Game of City Life

Okay, ich schmeiß dann ma mein Linux an un guck ob ich die ne Binary zaubern kann :)

Autor:  sharkman [ Mi Aug 29, 2012 13:03 ]
Betreff des Beitrags:  Re: Game of City Life

Zitat:
Linux Binary kann ich leider nicht anbieten, das kann mein Delphi 7 leider nich
Sollte aber mit wine laufen. Zumindest bei mir lief noch alles, was mit Delphi7 gemacht war.

Autor:  Martok [ Mi Aug 29, 2012 15:14 ]
Betreff des Beitrags:  Re: Game of City Life

sharkman hat geschrieben:
Zitat:
Linux Binary kann ich leider nicht anbieten, das kann mein Delphi 7 leider nich
Sollte aber mit wine laufen. Zumindest bei mir lief noch alles, was mit Delphi7 gemacht war.
Sollte, ja. Zwischenzeitlich war das auch mal Designziel, aber AFAIK hat das aber noch keiner getestet :mrgreen:

Autor:  Bergmann89 [ Mi Aug 29, 2012 21:04 ]
Betreff des Beitrags:  Re: Game of City Life

Hey,

das mit den LinuxPort wird leider doch nix. Ich hab das ganze unter Windows zwar erfolgreich nach Lazarus protieren können, aber auf Linux geht nix mehr. Da wir den OpenGL Context fein säuberlich von Hand erzeugen bricht uns das bei Linux das Genick. Da müssten wir das alles nochma für Linux erstellen und uns da erst einarbeiten :/ Oder hat zufällig jmd nen Tutorial wie man das fix hin bekommt? Ich hab mir das Ganze schonma bei der Lazarus Komponente angesehen, wie die das machen und das sah weitaus komplizierter aus, als bei Windows...

MfG Bergmann.

Autor:  Lord Horazont [ Do Aug 30, 2012 10:31 ]
Betreff des Beitrags:  Re: Game of City Life

Ich hab das nur als C++ code da… Aber das ist das was ich immer sage: Entweder man plant es gleich Plattformunabhängig oder man bricht sich das genick.

grüße

Autor:  darkinsanity [ Do Aug 30, 2012 17:11 ]
Betreff des Beitrags:  Re: Game of City Life

Grundsätzlich finde ich die Kontext-Erstellung unter X11 deutlich schöner und einfacher als unter Windows. Fies wird es erst, wenn man dann Fullscreen-Support und ähnliches will, das hat bei mir auch ewig gedauert, bis das lief.
Eine recht kurze Implementierung in C++ findet man auch hier ab Zeile 555 (Header ist hier). Allerdings ist sie nicht perfekt, fullscreen funktioniert zwar, aber mit Multimonitor-Setups soll es wohl Probleme geben. Konnte ich aber noch nicht testen.

Lord Horazont hat geschrieben:
Aber das ist das was ich immer sage: Entweder man plant es gleich Plattformunabhängig oder man bricht sich das genick.

Das sehe ich auch so. Plattformunabhängigkeit später "nachzurüsten" ist immer eine hässliche Angelegenheit.

Autor:  Martok [ Do Aug 30, 2012 17:22 ]
Betreff des Beitrags:  Re: Game of City Life

Danke euch Beiden!
Wir benutzen ja Lazarus, da nimmt die LCL schon fast alles ab (Fenster, IO, Input etc). Was jetzt fehlt: auf einem GTK2-Widget einen Context erstellen. Das gibts sogar schon fertig (LCL: TOpenGLControl), ist da aber sehr verquer gelöst. Das können wir besser (also, bisher noch nicht, aber kann ja noch werden) :D

Das größere Problem ist grade, ein Lazarus auf Host=Win32/Win64 zum Crosscompilen nach Linux einzurichten. Lazarus 1.1, FPC 2.6.1. Wenn da jemand zufällig ein passendes Verzeichnis an Binaries rumliegen hat (686 oder x86_64 ist erstmal egal), würde uns das sehr viel Gefummel abnehmen...
Es muss nicht mal linken, wenn man das Target einstellen und damit die DEFINEs alle aktivieren kann würde mir persönlich das schonmal reichen.

Autor:  Lord Horazont [ Fr Aug 31, 2012 11:47 ]
Betreff des Beitrags:  Re: Game of City Life

Crosscompiling macht nur von Linux aus spaß, zumindest wenn man der Crosscompiling-Guide von den Lazarus-Leuten glauben darf.

@darkinsanity: Fullscreen mit Multimonitor haben wir ;). Schau dir den von mir oben verlinkten Source an, vielleicht hilft dir das!

@Martok: Ja, bloß finde ich die LCL wie auch die VCL für OpenGL einfach superunangebracht. Die Systeme sind nicht darauf ausgelegt, zu definierten Zeiten Input zu erhalten. Man hat viel Overhead durch die ganzen Abstraktionslayer, die man dann eh wieder wegwirft bzw garnicht nutzt sobald man sich einen Kontext anlegt. Da sind die paar zeilen um nen X11 Fenster mit OpenGL zu erzeugen ziemlich harmlos.

grüße

Autor:  Martok [ Fr Aug 31, 2012 13:33 ]
Betreff des Beitrags:  Re: Game of City Life

Von Linux aus ist das auch nicht wesentlich schmerzfreier. Es ist jedenfalls wesentlich einfacher, eine VM pro Zielsystem zu haben und da zu compilieren. Das einzige was geht ist 32/64bit auf dem gleichen OS. Lazarus benutzt zurecht keiner, stell ich immer wieder fest, egal was ich damit machen will.

Siehste, das seh ich grade andersrum. Input zu festen Zeiten braucht man ja eigentlich nicht. Mausereignisse oder sowas sollen ja schon asynchron passieren, und beim Rendern wird nur irgend ein State dargestellt. Und was "die paar Zeilen" angeht... das war ein LD48, da sind 100 Zeilen in einer Umgebung die man nicht kennt tödlich ;-)

Wegen der TextSuite bräuchten wir für Cross-Platform sowieso die SDL (SDL_ttf), aber... gibts eigentlich noch aktuelle Header? Die bei den Jedis sind 5 Jahre alt, das ist nicht mehr so dolle vertrauenerweckend.

Was mir grade auffällt: macht eigentlich irgendwer Cross-Platform-Game mit FPC/Lazarus? Entweder C++ oder Python (pyglet ist ganz schön verquer), mehr finde ich gar nicht mehr.

Autor:  Lord Horazont [ Fr Aug 31, 2012 13:49 ]
Betreff des Beitrags:  Re: Game of City Life

Das X-Toolset entwickelte ich cross-plattform. Da habe ich auch regelmäßig Cross-Plattform kompiliert, ich hab mir sogar RPMs für die Crosscompiler des FPC gebaut. Das war sogar erstaunlich einfach, und dann war es wirklich nur noch in Lazarus das Target umstellen. Getestet hab ich dann in der VM, aber den nerv inner VM zu kompilieren und dafür immer Daten hin und her zu schieben wenn was nicht auf anhieb klappt hatte ich nicht ;). Allerdings habe ich da auch keinen RC gebraucht, bzw. ich hab einfach den von der TOpenGLControl genommen, das hat gereicht (war ja nur visualisierung und nicht high-performance-game-engine-rendering ;) ).

Und doch, Input muss getimt sein. Vielleicht nicht bei eurem LD48 Projekt, aber man muss doch ein Inputevent genau einem Logikframe zuordnen können, sonst kann man die reproduzierbarkeit übers Netzwerk gleich vergessen.

TextSuite bzw SDL allgemein mit FPC unter 64-bit kannst du übrigens ebenfalls vergessen. Das wird nix (segfaults wohin das auge reicht, texturen funktionieren nicht ordentlich, …)). Das könnte auf die veralteten Header zurückzuführen sein. Ordentlicher Fullscreen (zumindest mit Multiheads) geht mit SDL auch schonmal garnicht, dafür ist das viel zu eingeschränkt.

grüße

Autor:  darkinsanity [ Sa Sep 01, 2012 18:41 ]
Betreff des Beitrags:  Re: Game of City Life

@Lord Horazont: Ja, den Code hab ich mir vor einiger Zeit schon einmal angesehen, aber es fällt mir immer sehr schwer, den Code anderer wirklich zu verstehen. Leider habe ich auch gerade kein Linux-Multimonitor-System, daher kann ich auch nicht wirklich an meinem Code basteln und testen. Wobei, wenn ich hier etwas mehr Platz hätte, könnte ich vielleicht den alten CRT-Monitor an mein Notebook hängen...

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/