Idea for a video game

Somewhere around yet again a long session of reading somewhere around at Tropes I came up with a neat and nice idea for a video game mechanic, that I would like to share and maybe see in a game some day. Unless, of course, its already been done, and I may simply have missed it. I don’t find the time to read all of Penny Arcade, or even TGSA, these days (did you know Blastwave moved?).

But here’s the idea: Instead of having the hero gaining equipment and strength and skills and guns as he progresses through the game, untill he finally encounters a Boss whilst carrying the whole TO/E of a small infantry brigade with him, invert the mechanics and fit them more to the plot of a novel: From being perfectly healthy and well-equipped, the hero slowly depletes his ressources. Sure, there might be the opportunity to restock, but basically the question is wether you can husband the limited ressources you own to solve even the final problems.

This mechanism also would “outsource” the learning curve to the player: He gets more adept at handling the problems the game throws at him by progressing through the game, not because the game arbitrarily decides that he will have more options now because his character has now completed 20 miles of runnning straight or has killed the evil witch.

Plus, arriving at the castle gates of the last enemy with only 50% of speed, dexterity and capability to jump left, being deaf on one ear, having no climbing gear left and only a second-rate gun captured from some enemy with three clips of ammo would not only seem more realistic, it would also create more anxiety and tension than the maxed-out shielded hero smashing the gate with three powerups, the magical monstergun while being at 200% health.

So here is the challenge, game designers: All while you design the game surroundings to become more realistic day by day,  why stop at the hero? Make his BFG jam, punch him in the face.

I’d be the first buyer.

New arrivals and new concepts

Although I only know of one person actually reading this blog (Hello, Sebastian!) , I thought I’d keep everyone else informed too, instead of sending an email. My new job provided me with some excellent insights into conceptual work and the requirements of precise and thorough briefings, and thus I’ve started to create wireframes  for all the forms the database will need. Even leaving out doublettes, i.e. forms that will pop up at different parts of the website or will basically look similar, I still will have finished roughly 30 screenshots soon. Additionally I have a new paper with a full catalogue of user cases, which in turn should provide me with enough material to re-phrase the data model. Last step would be reviewing the current model of the database, after whcih I would probably have to take the whole thing professional.

In related news, work on this blog will remain even sloppier than before, since we’re expecting a baby soon and I’ll probably be more busy with him than anything else. maybe after some serious reorganisation in my life I might be able to pursue this project further, but from now on meeting the little man is the first priority, and I’ll keep you updated about that, too :)

Kopieren oder Selbst machen

Die Webseite, an der ich arbeite, besteht im Kern aus einer Vielzahl von Formularen und den durch sie befüllten Datenbanktabellen. Der Anwender wird in erster Linie Eingabeformulare, Listen von Suchergebnissen, oder aber Detailansichten von Datensätzen zu Gesicht bekommen. Viele dieser Formulare und Listenansichten ähneln sich sehr,, es liegt also nahe, die Formulare nicht von Hand in HTML zu schreiben, sondern sie generieren zu lassen, und hierzu ein vollautomatisches System wie Dadabik heranzuziehen, oder aber eine der hunderte bestehenden PHP-Klassen, die diese Aufgaben beherrschen, zu verwenden.

Die Benutzung von Dadabik war leider nicht möglich, da das Tool aus dem Stand nur Tabellen darstellen kann, nicht dagegen Formulare für Abfragen, die Daten aus mehreren Tabellen ziehen. Zudem dupliziert Dadabik sämtliche in der Datenbank vorhandenen Tabellen, was zu erheblichem Überhang an Daten führt und – so vermute ich – auch nicht wirklich performant ist.

Bei den PHP-Klassen ist mit ihrer Anzahl schon eines der beiden größten Probleme benannt: Welche wählen, wie feststellen, welche der bestehenden Klassen die Arbeit leistet, die ich von ihr erwarte? Dokumentation gehört zu den unbeliebtesten Aufgaben jedes Programmierers und ist in der Mehrheit der Fälle schlicht nicht verfügbar, sieht man von einigen mürrischen Zeilen im Programmcode selbst ab.

Die zweite Problematik ist die der Einbettung – selbst wenn sich eine halbwegs dokumentierte PHP-Klasse fände, die meinen Wünschen entspricht, wie viel Arbeit wird notwendig sein, sie in das bestehende Gerüst der Seite einzubetten? Ich werde den Verdacht nicht los, dass der kulmulierte Aufwand für Recherche nach und Anpassung von PHP Klassen in meinem Fall den Aufwand übersteigt, die entsprechenden Funktionen schlechter, aufwändiger und komplizierter selbst zu programmieren.

was natürlich der gesamten Idee der Script-Seiten zuwiederläuft, oder aber zumindest der Idee, seine Arbeit der Öffentlichkeit zur Verfügung zu stellen. Sicherlich enthalten Seiten wie hotscripts oder php-resource nützliche Schnipsel, von denen ich bei anderen Projekten schon sehr profitiert habe. Aber für dieses Problem habe ich bisher einfach keine Lösung auftreiben können. Was ich bräuchte wäre eine Klasse die

  • sicher zu einer Datenbank verbindet.
  • Aus einem Konfigurations-File oder Konfigurationsdaten in der Datenbank ein Formular generiert.
  • Daten aus der Datenbank in ein Formular zulädt und/ oder Daten aus einem Formular in die Datenbank schreibt.
  • Die Datenbank-Interaktion auf SQL-Injection und andere Sicherheitslücken prüft.
  • Zuläßt, dass die automatisch generierten Formulare per CSS gelayoutet werden.

Sollte doch so schwer nicht sein.

Database Worries

After basically half a year I’m back to zero with my database project. I had found a PHP programmer that was willing to help me smoothen my programming of all the forms and tables that the Database needs to interface with the website, and he said his work had progressed quite a bit. Then in the last weeks he ditched some dates, and it looks like I won’t get anything out of the cooperation. His reasons sound convincing, but in the end the result is the meter to be judged by, and… I am back to Zero. Means I can devote more of my free time to the project and start to do it all by myself again, or I can start looking again for someone to help me, either in exchange for stuff I can do better like CSS and Webdesign, or I might need to pay someone. In either way a very frustrating experience – particularily so since so far I’ve made only good experiences collaborating with friends.

Next step in any case will be registering a new website and putting the stuff online again, for debugging, testing, and as a showcase. But thats only getting me to where I left the whole darn thing in 2007.

So, if there is some nice PHP-programmer out there who is interested contributing to a very uncool, data-heavy, sober historical database project that will bring us nothing but fame and glory, let me know, and I’ll be happy to provide details.

Sorum, Andersum, und Was noch alles

Nun stehe ich vor der Entscheiung, entweder die gesamte Seite über WordPress zu betreiben (einfache Lösung), oder aber das Blag in das bestehende Design der Exzession einzubinden. Hätte den schönen Vorteil, das ich flexibler bin, und das ich mehr dabei lerne. Die Schwierigkeit hierbei scheint weniger der komplexe Code von WordPress zu sein (die Tutorials die ich im Netz gefunden habe sind da recht verständlich), sondern was mich eher noch zweifeln läßt ist die lange Liste an Dingen, die ich sonst noch so angehen will computertechnisch…

Da ist zunächsteinmal der Generalstab, der dringend wieder ein Update braucht – gottseidank ist das schon größtenteils vorbereitet, aber ne Stunde werd ich trotzdem darauf aufwenden müssen, mindestens. Immerhin steht das neue Layout.

Dann ist da mein alter Rechner, der eigentlich eine prima OpenBSD-Box abgeben würde, einfach nur um mal ein paar neue Unix-Sachen auszuprobieren und meine Kenntnisse mit PF und Firewalling zu verbessern.

Außerdem stapeln sich bei mir auf dem Schreibtisch immer noch die einzuscannenden und wegzusortierenden Papiere, darunter noch fast ein Dutzend großformatiger Fotoalben meines Urgroßvaters aus dem ersten und zweiten Weltkrieg.

Als nächstes steht noch an das ich die bereits gescannten Sachen mal ordendlich wegsortieren wollte…

Und dann ägere ich mich immer noch mit meiner Militärdatenbank herum. Derzeit sitzt ein Programmierer dran, der allerdings seit Wochen nichts von sich hören läßt. Entweder, weil er unzuverlässig ist, oder weil ich ihn nicht dafür bezahle, sondern es eine Gefälligkeitsleistung ist. Oder ein bißchen von beidem.

Und von demKram, der in der Wohnung zu erledigen ist, will ich gar nicht erst anfangen…

Genug mit dem Gejammere. Letzten Endes reizt mich die Aufgabe zu sehr, ähnlich wie damals die Einbindung des Kalenders in die Exzesoin mehr Zeit kostete, als das Ergebnis rechtfertigte – aber ich hatte viel Spaß dabei, und darum gehts ja schließlich hier. Ergo werde ich mich wohl mal in einer ruhigen Stunde nächste Woche dransetzen, und Euch auf dem Laufenden halten, wie es gelaufen ist.