Browsergame – Tücke der Aktion

Ich sinniere mal wieder über ein Browsergame nach. Ich stelle mir ein Spiel vor, wo ich sehr viel selbst produzieren kann – Grafik muss nicht, aber schöne Skills und Massen an herstellbaren Gegenständen.

Zuerst dachte ich, man könnte die Produktion – zum Beispiel die Rohstoffbeschaffung – so lösen wie in einigen bekannten Browsergames – nämlich, wenn man was im Spiel tut, muss man warten. Das ist weit verbreitet – der Charakter/Held/Bürgermeister macht irgendwas, und das Produkt braucht Zeit x bis es fertig ist. In der Zwischenzeit kann der Spieler etwas anderes tun oder sich langweilen.

Und genau da war bei meiner Idee das Problem. Wenn alle Skills zentral auf dem Spielercharakter liegen, gibt es reichlich Auszeiten, wo Langeweile entsteht. Alternative wäre, die Produktion direkt umzusetzen, was dann jedoch zu Massen an Produkten führt (oder zu vielen Fehlversuchen, wenn man die Massen einschränken möchte) – ich möchte aber eine überschaubare Menge an Produktion, die dadurch auch den Wert behält.

Da kam mir der Gedanke, dass der Ansatz verkehrt ist. Statt den Spieler warten zu lassen, wenn im Spiel produziert wird, sollte der Spieler an der Produktion mitwirken. Also in einem kleinen Minigame die Produktion erst ermöglichen.

Ich habe mir ein simples aber effektives Konzept für ein „Minigame“ zur Produktion überlegt. Der Spieler ist während der Produktion beschäftigt, und durch ein wenig Nachdenken wird der ganze Prozess auch automatisch entschleunigt. Die Produktion bleibt wertvoll, der Spieler bei der Sache. Und wenn er off geht, schickt er seinen Avatar eben schlafen, statt ihn die Nacht über schuften zu lassen.

Das Minigame ließe sich im übrigen komplett in Html+PHP abbilden, da man einen Satz Werte auf Wahrscheinlichkeiten verteilt – und dann auf „OK“ klickt. Je nach Ergebnis ist die Produktion erfolgreich oder ein Fehlschlag. Simpel, aber komplex genug, um als kleines Minispiel durch zu gehen. Jetzt warte ich auf meinen Urlaub Ende des Jahres – dann will ich mit der Umsetzung beginnen.

OpenSuse

Habe seit letztem Wochenende auf OpenSuse gewechselt. Nachdem die Ubuntu-Versionen sich bei mir nicht installieren ließen, entschied ich mich für openSuse mit KDE. Das ganze läuft noch nicht 100% stabil – jedoch habe ich erst heute Mittag den richtigen Grafikkarten-Treiber installiert – ich hoffe, die Abstürze, die gelegentlich auftraten, lagen an diesem.

Im großen und ganzen ist es ein riesiges Abenteuer – abgesehen davon, dass ich mal wieder mit Java angefangen habe und dort meine Kenntnisse wieder auffrische, habe ich auch wieder neue Ansätze für die PHP-Programmierung gewonnen – auch wenn ich vorerst keinen Apache-Server unter Linux installieren werde. Ist aber auch gar nicht notwendig, da ich mit dem Datei-Browser direkt über FTP auf meinem Webserver zugreifen kann – das ist ja mal geil 🙂

Da ich nahezu blutiger Anfänger in Linux-Systemen bin, ist das alles für mich totales Neuland. Kopfüber ins kalte Wasser. Fachliteratur wäre mal angebracht – mal gucken, spätestens zum Jahresende hin wird wohl ein Linux-Buch fällig werden. Java hab ich noch „Java ist auch eine Insel“ von Christian Ullenboom als Hardcover und natürlich in der hervorragenden OpenBook-Version vorliegen. Sehr lesenswert für alle, die sich in Java mal ein wenig einarbeiten möchten und vor Lektüre nicht zurückschrecken.

Ich hoffe, nach Einarbeitung in Linux zu einigen „Problemzonen“ wie Apache-Webserver und Gid Zugang zu bekommen. Aber erst mal die Basics.

Erstmal klein anfangen…

Abgesehen von einer hartnäckigen Erkältung, die mich in den letzten Tagen ziemlich „beschäftigt“ hat, habe ich Zeit gefunden, 2 kleine Tools für 2 Browsergames zu schreiben, welche ich zur Zeit noch spiele.

Beide Tools basieren auf dem MVC-Grundgerüst von Thomas Lemme (MVC-Tutorial) – welches ich entsprechend ausgebaut habe. Dabei habe ich vieles wieder neu gelernt, was ich schon lange vergessen glaubte und musste mich erstmals wieder mit ein wenig Logik herumschlagen.

Dennoch bin ich in beiden Fällen zu einem Ergebnis gekommen. Das ganze vorerst noch ohne Einsatz von Javascript, da ich mich erstmal auf PHP/Html/Css konzentrieren wollte.

Überlege gerade, ob ich in Zukunft mir ein CMS anschauen sollte, um für solche kleine Module zu programmieren – früher hab ich mal für Joomla sowas angefangen – aber auch WordPress oder Drupal wären interessant.

Im Großen und Ganzen brauche ich wohl noch mal einen roten Faden, denn ich verliere mich wieder zwischen den Möglichkeiten anstatt eine solide Basis aufzubauen. Eigentlich wollte ich ja ein wenig Apache-Konfiggen lernen, um das Pferd von vorne aufzuzäumen.

Ich denke, es wird darauf hinauslaufen, dass ich mir zu Weihnachten ein paar Fachbücher zulegen werde. Vielleicht gelingt es mir dann, mich etwas zu erden.

Aber das proggen der Tools hat trotzdem total Spaß gemacht 😛

MVC und Konsequenzen

Gerade mir das MVC-Tutorial von Thomas Lemme angeschaut. Ich muss zugeben, so leicht fällt mir der Überblick nicht, auch wenn es ja noch recht überschaubar gehalten ist. Im Ansatz versteh ich allerdings schon den roten Faden – nur das auf ein eigenes Projekt umzusetzen, könnte schon ein wenig knifflig werden. Abgesehen von ein paar kleinen Fehlerchen (ich hab 2 Tippfehler gefunden und in einer static-Function wird $this verwendet, was angeblich nicht geht laut php.net

Aber was weiß ich schon – ich versuch ja nur den Überblick zu behalten.

Ich habe mir überlegt, ich bau erstmal meine Konzept-Seite richtig auf, mit Bezug zum Detail, Programmiertechnischen Anmerkungen, einer Kommentarfunktion für Interessierte, Datenbankanbindung mit PDO – und versuche das alles im MVC-Pattern zu erstellen.

Damit schlage ich zwei Fliegen mit einer Klappe:

  1. stelle ich das Projekt auf stabilere theoretische Füße
  2. kann ich daran viele Dinge lernen, und wenn ich das Konzept in den Sand setze vom Ansatz her, ist das eine Erfahrung, aber kein Desaster.

Bin übrigens mitlerweile bei Peter Kropff bei Html5 angelangt und denke, die Funktionalität kann man ruhig mitnehmen. Mir steht zwar nicht der Sinn nach Videos oder Audio – aber allein der <progress>-Tag hat es mir angetan 😛 – wobei … wenn man sowas selbst mit JS macht, siehts wenigstens überall gleich aus … also, da muss ich noch mal drüber nachdenken.

Konzeptentwicklung darf ruhig die nächsten Wochen/Monate bis Jahresende und darüber hinaus beanspruchen. Hab ja Zeit und solange ich dabei lerne ist alles gut.

Kleines Login und Browsergame-Konzept

Gerade ein Konzept für ein Browsergame erstellt, welches mir schon lange im Kopf rumspukt. Das ganze in html gegossen und mit einem kleinen Login online gestellt. Seit langem zum ersten mal wieder mit Sessions gearbeitet – war aber relativ einfach. Etwas kniffliger war das erinnern an CSS… wie war das noch mal mit class und id? Wie Sachen zentrieren? Float: left und clear funktionierten doch irgendwie …

Naja, habs soweit hinbekommen, auch wenn man Augenkrebs bekommt. Ich brauch einfach ein Projekt, an dem ich arbeiten kann – nur Theorie macht mich wuschig. Als nächstes werde ich mir noch ein paar Grundlagen durchlesen und noch mal recherchieren, wie das mit dem MVC-Designpattern für PHP ging – ich möchte nämlich mein kleines Projekt – eben obiges Browsergame(chen) ordentlich aufbauen und da legt man am besten auch einen ordentlichen Grundstein mit oop und mvc. Allerdings werde ich da noch paar Abende zu nachlesen dürfen – so vieles habe ich vergessen in den letzten Jahren.

Jquery bzw. generell JS will ich im übrigen erstmal drauf verzichten – schön machen geht später immer noch – ich wäre mit einem rauen, rein funktionalen Prototypen ohne Grafik schon erstmal sehr happy.

Hallo Welt

Manchmal ist es gut, wenn man kleine Schritte macht. So habe ich eben eine Mini-Seite aufgebaut, die „Hallo Welt“ in h1-Tags ausgibt. Doll, ne?

Das einzig schöne daran war, das der header mit php included wurde, die Doctype-Definition korrekt war (xhtml 1.0 strict) und ich für die 2-3 Tags, die ich verwendet habe, auch ein Häkchen vom Validator bekommen habe.

Weiterhin habe ich die Seite auch hochgeladen zum Testen und bei der Gelegenheit direkt auf SFTP umgestellt. Jetzt werde ich noch ein neues Passwort für den FTP-Zugang vergeben (das hat schon einen Bart, so alt ist das) und dann bin ich auch ganz zufrieden mit dem Tagewerk.

Bei der Gelegenheit habe ich mich entschlossen, vorerst – wenn möglich – in xhtml 1.0 Strict zu arbeiten, aber die Seite ohne XML-Tag auszuliefern, so dass die Seite als HTML ausgeliefert wird. So sehr ich auch XML mag, überwiegen die Vorteile, von denen ich gelesen habe, für die HTML-Version. Sobald meine Kenntnisse in HTML wieder aufgefrischt sind, werde ich eh auf html5 wechseln – dann hat sich das Thema eh erledigt.

Erste Schritte bei Peter Kropff

Ich hab eben erstmal die komplette Einführung auf Peter Kropff´s Webseite gelesen. Der Teil für die 2-Rechner-Lösung konnte ich ignorieren, da ich zur Zeit nur einen PC zur Verfügung habe und mich somit nicht um die Einrichtung einer „echten“ Client-Server-Verbindung kümmern muss. Hier würde ich auch gerne tiefer einsteigen in die Administration von Linux-Rechnern, insbesondere Ubuntu – da werde ich wohl zu gegebener Zeit mir noch das eine oder andere Buchwerk zulegen dürfen – aber erstmal schaffe ich mir einen Überblick mit kostenfreien Mitteln.

Ab morgen arbeite ich auf obiger Webseite dann erstmal den Html-Part durch… ich brauche da dringend eine Auffrischung. Gerade was sauberes xhtml angeht und auch Html5, wo ich nicht auf den aktuellen Stand bin.

Interessant waren in der Einführung nicht zuletzt die Links zu weiteren Tutorials und Fach-Foren. Immer gut zu wissen, wo man an die Infos dran kommt. Auch hier werde ich beizeiten mal Besuche abhalten und ein wenig stöbern, welche Seiten noch in Frage kommen. Das gute alte Selfhtml scheint es ja in etwas anderer Form immer noch zu geben …

An meinem System hab ich heute nix mehr gemacht – weder Script- noch Configtechnisch. Ich denke, ich probiere morgen die html-Beispiele aus und hoffe, auch zügig zu Html5 und CSS 3 übergehen zu können.

Mal sehen, was sich am Wochenende alles ergibt.

Zurück in die Zukunft

Ich werde nächstes Jahr 46 Jahre alt. Die letzten Jahre habe ich mich so gut wie gar nicht mit PHP, jquery & Co auseinandergesetzt. Ich hab zwar ein wenig angestaubtes Wissen, aber das stand schon früher auf tönernen Füßen und weist mitlerweile riesige Lücken auf.

Dennoch hab ich mir vorgenommen, mich wieder mit der Materie Webprogrammierung auseinander zu setzen. Da ich den Prozess des Neu-Lernens und Experimentierens durchaus spannend finde – und ich mir vorstellen kann, dass es Menschen gibt, die sich ebenfalls auf den Weg machen möchten, mehr über Webprogrammierung zu erfahren, habe ich mich entschlossen, hier eine Art Tagebuch zu führen, um die Entwicklung festzuhalten – als Protokoll, aber auch als Gedankenstütze (bin ja nicht mehr der jüngste) und gleichzeitig als Experiment.

Was bisher geschah…

Vor zwei Tagen habe ich mir Xampp 5.6.24 runtergeladen und installiert. Das ist ein Webserver mit Apache 2.4, PHP 5.6, MariaDB 10.1, PHPMyAdmin, Perl, Tomcat und noch dem einen oder anderen Modul, dessen Nutzen ich erst noch erforschen muss. Damit ist es mir schon mal möglich, PHP-Scripte auf meinem PC auszuführen. Soweit gut.

Zudem habe ich seit langem Webspace gemietet, den ich nun evtl. wieder besser nutzen werde – falls sich mal ein größeres Projekt (außer diesem Blog) anbahnt.

PHP habe ich ein wenig auf selfphp.de aufgefrischt, aber das dortige Praxisbuch erscheint mir ein wenig veraltet. Bin darum gestern noch im Netz unterwegs gewesen und habe die Seite von Peter Kropff entdeckt – peterkropff.de hauptsächlich bei der Suche nach einer Einführung in PDO – PHP Data Objects – aber so wie es aussieht, kann ich mich in nächster Zeit noch zu anderen Themen dort belesen.

Das ist Stand der Dinge…

Wo soll es hingehen…?

Es gibt ein paar Dinge, die ich in den nächsten Jahren auffrischen/lernen möchte

  • Html 5 auffrischen
  • CSS 3
  • Webserveradministration – gerne auch unter Ubuntu über die Shell konfigurieren – da muss ich mich jedoch noch komplett einlesen
  • PHP-Programmierung
  • jquery auf den aktuellen Stand bringen
  • nebenbei noch Fachenglisch bisschen verbessern

Das sind so die Baustellen… wahrscheinlich werde ich damit die nächsten Jahre dann auch beschäftigt sein. Aber ich sehe es als Hobby. Im Idealfall habe ich in paar Jahren ein kleines Webprojekt, um das ich mich kümmern kann. Wie gesagt – die Meßlatte ist nicht der hauptberufliche Webprogrammierer, sondern ganz klar liegt mein Fokus auf Hobby-Niveau.

Ich bin gespannt, wohin diese Reise geht. Sie sind gerne eingeladen, mich ein Stück zu begleiten.