|
|
|
|
|
|
|
|
FICK YA!
Mir ist grad während der Arbeit ein Klasse Idee gekommen für ein Spiel. Werde jetzt das Wochenende drüber nachdenken weil ich eh nicht an den Rechner komme und wenn es funtkioniert dann geht Sonntag abend der Codestorm los!
Die Besten ideen kommen einem dann wenn man nicht drüber nachdenkt ...
|
|
|
|
|
|
|
Und mir gefällt meine Idee gar nicht mehr
Würge gern mehr Physik verwenden, aber dann müsste ich die Perspektive ändern oder alles in 3D machen .. der ganze Content bis jetzt wäre für die Katz erstellt ..
|
|
|
|
|
|
|
Das würde Freak freuen .. hast ja noch genug zeit
|
|
|
|
|
|
|
Juhu, nach 10 Stunden Programmieren auf der Arbeit geht es in die nächsten 4 Stunden potjam haxx0rn. Ick freu mirrr
Habe gerade ein paar Berufe implementiert. Wer hat Lust einen Scherenschleifer mit +4 auf Reparatur-Würfe zu spielen?
|
|
|
|
|
|
|
| Zitat von anoX*
Ist das Conceptart oder ingame?
| |
Konzept :/
Sollte aber im Grunde nicht allzu lange dauern, weil ich schonmal ein Projekt hatte bei dem die Map generiert wird.
Und der Rest, bischen Movement, dies das...
Leider noch keine Zeit gehabt anzufangen. Wollte gestern eigentlich den ganzen Tag streamen, aber musste mich dann um ein anderes Projekt kümmern was dann letztendlich komplette Zeitverschwendung war.
Eventuell fang ich nacher mal an.
|
|
|
|
|
|
|
Kein Streß. Wir wollten ursprünglich eigentlich eh erst morgen anfangen
Vier Wochen sind meiner Meinung nach auch zuviel. Ich werde hier nur so 2.5 Wochen aktiv sein. Aber gut, dafür können halt auch mal Leute mit "Prüfungsstreß" mitmachen :P
|
|
|
|
|
|
|
| Zitat von anoX*
Kein Streß. Wir wollten ursprünglich eigentlich eh erst morgen anfangen
Vier Wochen sind meiner Meinung nach auch zuviel. Ich werde hier nur so 2.5 Wochen aktiv sein. Aber gut, dafür können halt auch mal Leute mit "Prüfungsstreß" mitmachen :P
| |
Ich find 3-4 ganz gut. Da hat man auch nochmal zeit zwischendurch was anderes zu machen
Die ein oder andere idee gibts nach 2-3Tagen Ablenkung auch noch und man hat genug Zeit übrig ums umzusetzen
|
|
|
|
|
|
|
Los alle in den IRC!
quakenet #potjam
|
|
|
|
|
|
|
Heute den main game loop gecodet und der Hauptgenerator wurde mit einer GUI ausgestattet.
Ansonsten gibt es nun drei mögliche Krankheiten die je nach Berufung der NPCs selbst geheilt werden können oder auskuriert werden müssen.
Die Umgebung bestimmt die Dauer und Art der Krankheiten. Gut gefütterete Personen sind weniger anfällig für Krankheiten. Einem Schlangenbiss kann jedoch nur ein richtiger Abenteurer entkommen :P
|
|
|
|
|
|
|
Warum ist die drawMap Funktion static?
|
|
|
|
|
|
|
Die Karte wird in verschiedenen GuiHandler-Klassen verwendet. Manchmal wird die Map auch mehrfach (user-gesteuert) neu generiert. Deswegen wird sowohl ein Map-pojo als auch ein Image übergeben. Je nach GUI und Spielstatus wird dann ein anderer Filter drüber gelegt.
|
|
|
|
|
|
|
Und wieso klappt das nicht ohne static? Sollte doch auch ohne problemlos möglich sein.
Das soll kein meckern sein, klingt im ersten Moment aber nach vorher wenig durchdachtem Software-Design (ne Art Singleton / globale Methode)
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Daddi89 am 18.09.2014 23:10]
|
|
|
|
|
|
Wenn du sie in mehreren klassen nutzt sollte sie doch gerade nicht static sein, nein?
|
|
|
|
|
|
|
Ihr habt eine static-phobie.
Die Methode hat keinen Instanz Bezug und wird über mehrere Klassen hinweg aufgerufen. Warum kein static?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von anoX* am 18.09.2014 23:12]
|
|
|
|
|
|
| Zitat von Daddi89
Das soll kein meckern sein, klingt im ersten Moment aber nach vorher wenig durchdachtem Software-Design (ne Art Singleton / globale Methode)
| |
Klar, ich könnte die Klasse auch als Singleton implementieren und rufe die static methode über die static Instanzvariabel auf. Machts aber auch nicht besser.
|
|
|
|
|
|
|
Eben, das würde es (noch) schlechter machen. Singletons bzw. global verfübare Klassen/Methoden sind ein schlechter Stil der zu ungewollten Abhängigkeiten innerhalb des Codes führt. Mit dieser static Methode hast du eben genau das gemacht.
Interessanter Lesestoff für sowas sind z.B. die SOLID Prinzipien. http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Daddi89 am 18.09.2014 23:28]
|
|
|
|
|
Codebeispiel
|
|
Code: |
public class Mapper {
BufferedImage bi1, bi2;
class MapView1 {
private Map m;
public MapView1() {
m = Tools.drawMap(genMapByType(Terrain.Rocky), bi1);
}
}
class MapView2 {
private Map m;
public MapView2() {
m = Tools.drawMap(genMapByType(Terrain.Alien), bi2);
}
}
class Tools {
public static drawMap(Map m, BufferedImage bi) {
for (int y = 0; y < map.mheight; y++) {
for (int x = 0; x < map.mwidth; x++) {
buffImg.setRGB(x, y, map.rgb[x][y]);
}
}
}
}
}
|
|
Die Abhängigkeit besteht an einer Stelle. Will ich etwas refaktorisieren kann ich dies genau an dieser Stelle tun. Würde ich eine Tools Instanz durch die Logik durchreichen hätte ich die gleiche Abhängigkeit nur mit mehr boilerplatecode (Getter/Setter) und Refaktorisierungen wären umfangreicher.
Ich denke ein static geht hier schon klar. Anderes Beispiel: Wer braucht schon eine java.lang.Math Instanz? Keiner! Weil alle Methoden in sich abgeschlossen und deswegen static sind.
Edith sagt eine statische Methode widerspricht dem SOLID Konzept in keiner Weise.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von anoX* am 18.09.2014 23:31]
|
|
|
|
|
|
Nein, du hättest nicht die gleiche Abhängigkeit, da du ja nicht die konkrete Klasse sondern nur ein Interface/Contract "durchreichst". Insofern passt es zum "D" aus SOLID. Aktuell hast du eine feste Abhängigkeit zu einer festen Klasse und das ist eben das Problem. Ist die Frage wie Ernst man sowas nehmen soll in eher kleinen Projekten, aber ich will es trotzdem angemerkt haben.
Und dass eine statische Methode ansich gegen SOLID spricht hab ich so ja auch nicht behauptet
Noch ne Frage zum Code (im Bild): die drawMap Methode deklariert beide Paramter als final, trotzdem bearbeitest du das Objekt in der Methode selbst. Kompiliert das überhaupt ohne Fehler?
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Daddi89 am 18.09.2014 23:44]
|
|
|
|
|
|
| Zitat von Daddi89
Noch ne Frage zum Code (im Bild): die drawMap Methode deklariert beide Paramter als final, trotzdem bearbeitest du das Objekt in der Methode selbst. Kompiliert das überhaupt ohne Fehler?
| |
Ja ist valide.
Ich manipuliere die Attribute aber weise die Instanz nicht neu zu. Will damit sicher gehen das ich die Variabel nicht aus irgendeinem fail-grund neu instanziiere und damit dann weiterarbeite. Wurde mir mal als guter Stil in C++ beigebracht und ist in Java hängengeblieben.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von anoX* am 18.09.2014 23:58]
|
|
|
|
|
|
Ich möchte nicht allzu viel Spoilern zu meiner spielidee aber das Szenario wird "fantasy" sein mit einem Zauberer.
Schon blöd solche Wochenenden wo die Mutti zu Besuch ist und man lieber dauernd vor dem Rechner hocken wollen würde.
Wer schauts bei euch aus?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von X-Tender am 20.09.2014 12:48]
|
|
|
|
|
|
Ich seh meine Mama am Sonntag
|
|
|
|
|
|
|
Noch so viel zu tun das Wochenende, keine Ahnung ob ich irgendwas coden kann.
|
|
|
|
|
|
Progress report
|
Der Farb-Differenz-Rechner arbeitet jetzt auf Bitlevel und tut das, was er soll.
Der Farb-Auswahl-Algorithmus (K-Means) tut auch endlich, was er soll! YAY!
(8 Farben, immer noch "paint random blobs")
Nächste Schritte:
- Bisschen UI
- Painter parametrisierbar machen
- Multithreading
- Schlauere paint-Algorithmen schreiben
|
|
|
|
|
|
|
Hast du auch ein Design fürn Spiel oder ergibt sich das irgendwann?
|
|
|
|
|
|
|
Da.. bin ich dran
Wollte nur mal die Basisalgorithmen zuerst machen, da sonst das ganze Spiel keinen Sinn macht.
|
|
|
|
|
|
|
Wie lange braucht der algo für die Berechnung?
|
|
|
|
|
|
|
Neuster Stand:
Animationen, Integration von Tiled Maps, Kamerasystem, Physikengine. Die Schussanimation ist auch nur das, eine Animation. Aber macht schon was her. Generiert ist bisher noch nichts im Spiel, aber das kommt noch.
Tileset ist von opengameart.org, das Playersprite aus Risk of Rain. Falls jemand Lust hat für mich zu Pixeln, dann wäre ich sehr erfreut. Ansonsten wird's wohl eine Mischung aus selber Hand anlegen und freien Grafiken.
|
|
|
|
|
|
|
| Zitat von anoX*
Wie lange braucht der algo für die Berechnung?
| |
Kommt drauf an. Der jetzige ist wirklich der Anfänger Painter.
Macht nur random Punkte mit den zur Verfügung stehenden Farben.
Wenns nicht gut werden muss, tja... sagen wir, er ist nicht sonderlich schnell.
Aber es ist relativ interessant, dem ganzen zuzusehen. Daher nicht so extrem schlimm.
Spätere Versionen werden aber etwas intelligenter arbeiten. Daher.. naja. Ich schätze mal, dass er für 10h ingame malen real 5 minuten brauchen wird. Ganz grob geschätzt.
Ich hoffe, dass man mit erweiterten algorithmen dann vernünftige Bilder in 3-5 ingame Stunden machen kann.
Aber das ist bisher reine Spekulation
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von NightBooster am 20.09.2014 20:21]
|
|
|
|
|
|
| Zitat von X-Tender
Ein Space shooter wäre zu einfach...
| |
Woah, seh ich ja gerade erst...
Ich hab beim letzten jam blut geschwitzt!
|
|
|
|
|
|
Thema: pOTJam VI ( http://i.imgur.com/HTisMpC.jpg ) |