Author Archives: Chro

Chro

Ich wäre ja immer noch für den Projektnamen Chrotastic... Eine Umschreibung meiner Person lässt sich einerseits anhand bekannter Slogans, wie "Trial and Error" oder "Shit happens" festlegen oder andererseits per Definition. Ein [Chro]: Menschliches (bzw. männliches) Wesen mit Neigung zur Informationstechnologie und deren Einsatz in verschiedenen Medien mit Hang zu ausgeprägter Fantasie und bekannt für teilweise unkonventielle Lösungen.

Spieltutorial zur KI Anwendung: Account und Login

spieletut_login_01

Login der UI

Man einer mag meinen, dass nun hinter “Account und Login” etwas richtig Tolles kommt… und das tut es! ;) Zumindestens aus Sicht der Informationstechnologie. Es sollte einfach sein und sicher und das haben wir auch bei unserem Account und Login versucht. Das heißt, es gibt auch einen ganz normalen Prozess hierzu, welcher mit der Erstellung des Accountes beginnt.

Ein wenig zum Hintergrund kann ich natrülich auch kurz noch etwas schreiben. Jeder erstellte Account bekommt zunächst einen festen NPC zugeordnet, später könnt ihr selbst auch neue NPC erstellen. Zunächst ist somit der Account fest an eurem NPC gebunden und sämtliche Aktionen sind exklusiv euch zugewiesen. Was ihr wiederum sichtbar seht sind die folgenden Schritte: Continue reading

Posted in News-O-Matic. Tagged with , .

Spieltutorial zur KI Anwendung: Events und Optionen

spieletut_events_01Es wurde bereits im Artikel zum User Interface etwas auf das zentral Thema der Künstlichen Intelligenz (KI) eingegangen: Events und Optionen. Und während euer NPC selbstständig handelt und dies durch Optionen ausdrückt, gibt es noch zusätzlich die Events. Doch zunächst einmal kurz ganz zurück zum Start oder in unserem Fall zur “Übersicht“. Im Wesentlichen seht ihr neben dem aktuellen Ort auch die aktuelle Zeit, zu dem euer NPC momentan eingefroren wurde. Bis zu diesem Zeitpunkt ist alles Vergangene nicht mehr änderbar, und alles Zukünftige weiterhin planbar – zumindestens wenn es sich hierbei um Events handelt. Um etwas die Herangehensweise von Events und Optionen zu verdeutlichen versuche ich mich in einer kleinen Geschichte zu unserem abgebildeten NPC namens Cookie. Namensverwandheit mit Mitgliedern der Science-O-Matics ist übrigens absolut gewollt ;)  Continue reading

Posted in News-O-Matic. Tagged with , .

Die Role Play Convention 2014 in Bildern

Der Kostümwettbewerb war, wie jedes Jahr, eine wahre Augenweide an farbenfrohen und einzigartigen Kostümen. Dieses Jahr hatte ich ein bessere Kamera und eine besondere Motivation (Cookie auf der Bühne!), welche mich schon früh in die erste Reihe vor der Bühne brachten.

Zusätzlich konnte ich natürlich weitere Impressionen der RPC 2014 sammeln und auf Bild verewigen. Continue reading

Posted in News-O-Matic. Tagged with , .

Anmeldung zur Closed Beta

logo_p2

Ab sofort kann man sich für eine Closed Beta zum Testen der Künstlichen Instelligenz (KI) registrieren.

beta.scimats.de

Ihr erhaltet rechtzeitig vor dem Start der Closed Beta am 01.06. eine Mail sowie weitere Informationen rund um das Spielen mit der Künstlichen Intelligenz.

Posted in News-O-Matic. Tagged with , , , .

Das User Interface zur Künstlichen Intelligenz

Das zweite bereits umgesetzte Feature ist eine KI für das Verhalten der NSCe. Dabei geht es nicht um sehr kurzfristige Entscheidungen wie Entscheidungen auf dem Kampffeld, sondern um überlegte Entscheidungen. Darum, dass jeder NSC ein Leben hat, Gründe, morgens aufzustehen, Gründe, sich zu verhalten wie er es tut. Um das zu erreichen braucht ein NSC wohl erst einmal Ziele, und diese werden ermittelt mit Hilfe der Maslowschen Bedürfnispyramide. Aus offenen Bedürfnissen und ihren Gewichtungen ermittelt sich die empfundene Bedürfnisse. Mit Hilfe einer SOM ermittelt er dann die Handlungsoption, die ihm der Erfüllung dieser Bedürnisse am nächsten bringt. Das Ganze tut sich schon ganz gut aus – und bald freut es sich auf Tester von außerhalb :)

Dieser Auszug aus der Projektbeschreibung trifft kurz und bündig sehr gut, was die Künstliches Intelligenz aus unserer Sicht leisten muss, um wahrlich als künstlich intelligent bezeichnet werden zu können. Keine Scripts, welche durch ihren Umfang bestechen, sondern ein selbsständig agierender NPC.

ui_ki_overview

Die Übersicht der Anwendung

Nun gab es bei dem ersten Feature “Generierung der Umwelt” bereits in Bild und Ton die Ergebnisse präsentiert. Bei der KI bedarf es dann doch eher etwas mehr Interaktivität als nur Bild und Ton. Zumal die KI erst einmal lernen muss, und jeder NPC seinen eigenen Charakter bilden soll. Daher bedarf es auch Hilfe von “außerhalb” und somit auch einem User Interface, kurz UI, zur “Kontrolle des NPC”. Wie das Ganze aussieht und welche Rolle ihr dabei spielen werdet möchte ich kurz zeigen. Denn direkt kontrollieren könnt ihr den NPC nicht.
Ihr habt euren eigenen Schützling in Form eines NPC. Dieser NPC lebt momentan an einem bestimmten Tag zur einer bestimmten Stunde an einem Ort mit seinem Inventar. Eingefroren. Das heißt die Zeit steht still und wartet darauf für die nächsten Tage oder Stunden weiterzulaufen.

ui_ki_events

Die Planungsübersicht

Hier kommt ihr ins Spiel. Der NPC hat in der Vergangenheit bereits Aktionen bzw. Handlungsoptionen (Options) ausgeführt und Ereignisse (Events) haben stattgefunden. Alles hatte bereits Einfluss auf euren kleinen Schützling bis zum oben genannten Zeitpunkt. Wo es eine Vergangenheit gibt, gibt es auch eine Zukunft. Und auch diese wurde bereits minutiös geplant, mit Aktionen und Ereignissen. Nun gibt es aber die Umwelt, und das die nicht immer läuft wie geplant liegt an euch ;)

So liegt es nun an euch für die Zukunft Events zu streichen, zu planen und zuzuschauen, wie reagiert euer Schützling darauf? Und wie entwickelt er sicht erkennbar in seinen Options? Seid ihr eine grausame Umwelt, die das tägliche Training durch Hagelschauer ruiniert und eventuell euer Schützling zwingt doch Sticken zu lernen anstatt ein Krieger zu werden?

Dies könnt und sollt ihr aktiv mit der UI steuern, um so euren eigenen Charakter zu bekommen, individuell und garantiert unterschiedlich zu jedem anderen Charakter :)

Zusätzlich bekommen wir durch eure verschiedenen Handlungsanweisungen Informationen über die KI, können diese verbessern und letztlich eventuell auch als Charakter in das Spiel setzen.

Geplante Closed Beta Features

  • Gestaltet bereits zu Beginn das Aussehen eures Schützlings.
  • Plant und entfernt Ereignisse (Events), welche sich direkt auf das Verhalten (Options) eures Schützlings auswirken.
  • Gebt eure Planung frei indem ihr die Zeit für x Tage oder Stunden ausführt.
  • Euer hungernder Schützling findet zufällig ein Brot in seinem Inventar? Seht am Inventar direkt Auswirkungen und Änderungen.
Posted in News-O-Matic. Tagged with , , .

How-To: UI für Anfänger – jQuery Mobile (I)

Keep it simple.

mobile_website_vs_appMobile Webanwendungen oder -webseiten sind keine Apps, sondern Webseiten die für die mobile Betrachtung optimiert wurden. So gibt es kleine Skripte, welche die mobile Browser erkennen und einen direkt auf die mobil optimierte Webseite weiterleiten (siehe z.B. IKEA). Die mobilen Webseiten können natürlich auch auf dem heimischen Computer aufgerufen werden, aber der knapp dimensionierte Platz wird bei inzwischen standardmäßigen Auflösungen von 1920×1080 kaum genutzt. Inzwischen gibt es auch “Compiler” (Phonegap), welche die mobile Webseiten in eine native App umwandeln. Hierbei wird der Browser durch ein Framework simuliert und eine gesonderte API ermöglicht die Kommunikation mit der Kamera des Smartphones. Hier tut es uns aber einfach mal eine einfache mobile Webanwendung, denn wir wollen es einfach halten.

Continue reading

Posted in Code-O-Matic. Tagged with , , , .

How-To: UI für Anfänger – Die Einleitung

Seitdem immer mehr Anwendungen in das Internet wandern und zudem das Internet immer mehr auf Smartphones genutzt wird, liegt es nah diesen Trend zu begleiten und eine UI-Unterstützung als Web-Anwendung für mobile Endgeräte zu erstellen. Gelegenheit dazu gibt es unter anderem, um die parallel laufende KI-Entwicklung von Cookie zu unterstützen. So ist es geplant, die KI bequem mehr mobilen Endgerät auf Herz und Nieren zu überprüfen. Eine Web-Anwendung ist im Prinzip nichts anderes als eine Homepage gestaltet als Anwendung im Web, welche damit logischerweise nur im Browser läuft und nicht installiert werden brauch. Passt man das Format auf mobile Endgeräte an, so laufen diese Homepages Smartphone-optimiert auf den jeweiligen Browsern.

Nun gibt es gerade im Umfeld des Internets einige Schlagwörter und Begriffe, welche nicht allen zugänglich sein dürfte. Zudem stehen einem zumeist eine große Bandbreite an (Open-Source) Programme, Frameworks und Standards zur Verfügung. Um vorab alles zu klären und zu erklären werde ich Schritt für Schritt auf die einzelnen Elemente eingehen und beginne in diesem ersten Blogeintrag der Serie erst einmal mit den Dingen, die ich gerne verwenden würde. Natürlich können diese sich noch im Laufe der Zeit ändern, da diese Blogserie laufend zur Entwicklung entsteht.

Continue reading

Posted in Code-O-Matic. Tagged with , , , , , , , .

Torque 3D Beispielterrain

Damit man einen kleinen Eindruck von der geplanten Torque 3D Engine bekommt, haben wir uns entschieden einfach mal ein kleines Beispielvideo hochzuladen. In diesem Video wurde eine einfache Default Höhenmap geladen, drei verschiedene Vorgabetexturen darauf gelegt und neben der Sonne mit ein wenig Wolken noch einen wolkigen Horizont eingebunden.

Finden könnte ihr das YouTube Video in unserem Channel oder direkt hier.

Posted in Graphic-O-Matic, News-O-Matic. Tagged with , , , .

Ein etwas anderes Bewertungssystem

Zunächst dachte ich bei repost.it an eine klassisches Sternerating. Nutzer können sich anonym und schnell zwischen meist einem und fünf Sterne entscheiden, um ihr eigenes Feedback direkt an andere Nutzer weiterzugeben. Nachdem Cookie dann aber ein zweidimensionales Bewertungssystem eingeworfen hatte, war ich sofort begeistert von der Idee. Der Ansatz ist simpel. Warum dem Nutzer nur eine Zahl in Form eines Sternes vergeben lassen, wenn man visuell auch in eine andere Richtung gehen kann ohne dabei an eine feste Zahl gebunden zu sein. Das etwas andere Bewertungssystem war geboren!

Das repost.it Bewertungssystem sollte alle Anforderungen eines klassischen (Sterne-)Bewertungssystems erfüllen. Darunter Anonymität, Einfachheit und Sicherheit bei der Bewertung. So entschieden wir uns für ein klassisches Dreieck, welches die Reposts für eine Bewertung in sprichwörtlich alles Richtungen abdeckt. Man sollte nicht nur über “Gut” und “Schlecht” entscheiden können, sondern ob es eventuell einfach zu “Normal” ist und zwar rein visuell ohne eine Note zu vergeben. Auch technisch war ein schneller Weg gefunden dies umzusetzen. Die JQuery Bibliothek lieferte sämtliche Funktionalitäten, die benötigt wurden. Man musste diese lediglich kombinieren. Im Hintergrund nimmt eine Datenbank jedes Rating seperat für jedes Reposting auf, wobei über eine PHP-Funktion die Mehrfacheingabe unterbunden und die X- und Y-Koordinaten weitergegeben wurden.

Lediglich der Platzbedarf des Dreiecks ist höher als bei einer Sternebewertung, auch konnte ich bisher technisch nicht den Knopf zur Bewertung umgehen und die Bewertung direkt auf der Hauptseite war sehr verbuggt… Beides sollte aber sowohl designtechnisch, als auch technisch noch möglich sein. Ihr könnt aber bereits jetzt schon das Bewertungssystem testen, welches bisher als am Interessantesten hervorgehoben wurde. Das freut uns natürlich sehr, weil doch einiges an Arbeit drin steckt und uns euer Feedback besonders wichtig ist – egal über eine Bewertung oder direkt per Mail, etc. :)

Posted in Theory-O-Matic. Tagged with .

Die Pixar Ausstellung Hamburg

Wie bereits Cookie in ihrem Blogartikel erwähnt hat, waren wir auf einem Betriebsausflug :) Da wirklich sehr viele Eindrück gewonnen wurden, lohnt es aus unserer Sicht, wenn nicht nur einer über die Ausstellung schreibt, sondern auch ein Chro ein paar persönliche Eindrücke wiedergibt.

Besonders interessant war für mich generell der Blick hinter die Kulissen: genauer gesagt die Prozesse, welche auch jeder Pixarfilm unterliegt. Erst hierbei wurde mir klar, man muss eine ganze Menge Vorarbeit leisten bevor es überhaupt mal an den Computer zur Animation geht.

Das Spannende aus meiner Sicht kommt ganz zu Beginn eines jeden Films, jeder zeichnet seinen ganzen Gedanken zu einem Setting erst einmal auf Papier (welche auch großartig in der Ausstellung zu sehen sind). Dabei merkt man schon, die Figuren sehen zum Großteil überhaupt nicht so aus, wie man sie am Ende aus dem Film kennt. Anschließend wird erst das Drehbuch geschrieben, Storyboards erstellt und alle Hauptfiguren aus Hartplastik detailgetreu modelliert, dann noch synchronisiert und dann geht es erst an den Computer zum Animieren. Und während all dieser Prozesse merkt man, dass selbst die Hauptcharaktere noch bis zum Ende nicht “Final” sind.

So wird während des Modellierens am Computer noch experimentiert, ob Sullivan aus der Monster AG noch Tentakel statt Beine haben soll oder diese zu sehr ablenken. Ob er eine Brille tragen soll oder die Gesichtsausdrücke (im Speziellen die Augen) zu sehr verdeckt sind.

Gerade beim Vorgehen von Pixar bei all seinen Filmem merkte man deutlich wieviel Liebe und Details während all der Entwicklung bis zur Fertigstellung in die einzelnen Filme gesteckt werden. Und wieviel Vorarbeit in jedem Film steckt bevor es überhaupt mal an den Computer zur eigentlichen Animation gibt. Dieses strukturierte Arbeiten und das Festhalten der Gedanken hat mich persönlich am meisten beeindruckt und genau dies wird sicherlich auch hilfreich bei der Spieleentwicklung sein.

Einige Skizzen können auf der offiziellen Seite betrachtet werden (Hier) oder, wenn sich die Gelegenheit ergibt, einfach mal persönlich vorbeischauen :)

Posted in Inspiration-O-Matic, Off-Topic-O-Matic.

Episode IV – A new hope

tracert 216.81.59.173

Ausführen – cmd – tracert 216.81.59.173 – Enter – Spaß haben :)

Posted in Off-Topic-O-Matic.

Was war. was wird: repost.it

Kurz vor dem Release bleibt immer ein klein wenig Zeit darüber zu resümieren was bereits vorhanden ist und was alles noch geplant ist. Und dies lässt sich immer schön in Listenform präsentieren.

Was wird also zum Release von repost.it bereits alles verfügbar sein:

  • Scrollen was die Datenbank hergibt. Endloses Scrollen auf allen Seiten mit Reposts wurden erfolgreich implementiert. Hierzu gibt es auch ein Artikel im Blog.
  • Die Registrierung ist so einfach wie möglich und kommt lediglich mit einem Minimum an Informationen aus.
  • Unter “Repostastic” findest du momentan alles was es über das Mittelmass geschafft hat (noch unabhängig der Anzahl an Bewertungen)
  • Auf “Neu” dagegen findest du dagegen zeitlich absteigend sortiert alle Reposts.
  • Unter “Upload” kann jeder Benutzer eigene Reposts einstellen, sowohl anonym als auch registriert. Dazu braucht man nur ein Link zum Bild und einen Titel. Idealerweise auch gleich einen Link zum Anbieter für eine Bestellung. Die Kommentarfunktion ist momentan nur registrierten Benutzer vorbehalten. Zudem müssen anonyme Benutzer bis zu 15 Minuten warten bevor sie einen neuen Repost einstellen können.
  • Jeder Repost hat eine Detailansicht, erreichbar über das Produktbild. Hier kann jeder seine Stimme abgeben, den Repost liken, plusen oder tweeten oder registrierte Benutzer auch Kommentare hinzufügen.
  • Zusätzlich hat jeder registrierte Benutzer eine Profilseite mit einer kurzen Info zu seiner Person und darunter alle bisherigen Reposts.
  • Zuletzt noch eine “Bug/FAQ” Seite, welche gerade auch zu Beginn jeden Benutzer die Möglichkeit gibt Bugs zu melden.

Soweit zu den Features, die es bereits mit Release gibt. Nun zu dem was noch geplant ist:

  • Reposts, Reposts und Reposts uploaden. Zumindestens werde ich weiterhin versuchen so viel wie möglich Produkte täglich uploaden, um die Datenbank zu füllen ;)
  • Kritische Bugs so schnell wie möglich ausbessern.
  • Benutzer sollen ein eigenes Profilbild einstellen können.
  • Die Anbieter können kommentiert und bewertet werden.
  • Eine Smartphonetaugliche Webseite bzw. dann später auch eine eigene App für iPhone und Androids. Darüber soll es möglich sein mit der Kamera on-the-fly neue Reposts upzuloaden.

Und natürlich alle weiteren Ideen in naher Zukunft, die uns einfallen bzw. wir eventuell auch als Feedback erhalten.

Posted in News-O-Matic. Tagged with .

repost.it Release

Science-O-Matics freut sich über den Release von repost.it am 24.02.2018

Posted in News-O-Matic. Tagged with , .

JavaScript debuggen

Man mag nicht viel vom Internet Explorer halten, aber momentan ist mein liebster Browser zum Debuggen. In der neusten Version findet man bei dem Zahnrad die “Internetoptionen”, “Erweitert” und “Browsen” folgende drei Checkboxen:

  • “Sktipdebugging deaktivieren (Andere)”,
  • “Skriptdebugging deaktivieren (Internet Explorer)” und
  • “Skriptfehler anzeigen”.

Deaktiviert man die ersten beiden Checkboxen und aktiviert die letzte Checkbox, dann meldet der Internet Explorer sofort Skriptfehler und bietet ein Debugging an.

Posted in Code-O-Matic. Tagged with .

How-To: Endloses Scrollen mit jQuery

Da es nur sehr wenige How-Tos im Internet gibt, welche mal eine funktionierende Variante des endloses Scrollen zeigen, bietet sich hierzu ein Tutorial geradezu an. Basierend auf http://www.jquery4u.com/tutorials/jquery-infinite-scrolling-demos/ habe ich eine modifizierte Variante geschrieben, welche beim Scrollen einen DIV-Container an die Seite anfügt.

Zunächst benötigt man in jedem Fall die jQuery Library, welche man direkt unter der jQuery Homepage stets in einer aktuellen Version herunterladen kann.

Vorbereitungen für die Webseite. Einerseits zunächst das Einbinden der Library in den Header. Anschließend fügen wir folgenden Codeblock ein (ebenfalls JavaScript)

var n = 9;

function pageLoad() {
	$.ajax({
		url: "getReposts.php?n="+n,
		success: function(data){
					if(data){
						var html = $.parseJSON(data);
						$("#contentwrap").append(html);
					}
				}
	});
}

Und noch folgenden Aufruf in den BODY-Tag der Webseite.

onLoad="pageLoad();"

Beim Laden der Seite wird zunächste der Content initialisiert, welcher anfangs zu sehen ist. Dies geschieht mittels Ajax-Aufruf der PHP-Datei “getReposts.php” dessen zurückgegebener Inhalt an das DIV “contentwrap” hinzugefügt wird. Nun ein Blick in die PHP-Datei

$n = $_GET["n"];
	$response = ""; 

	$page_idx = ( $n / 9 ) - 1 ;
	$from = $page_idx * 10;
	$to = 9;

	$query = "SELECT * FROM repost as A ORDER BY date DESC LIMIT ".$from.", ".$to;						
	$result = $mysql->query($query);

	while($row = mysqli_fetch_assoc($result)){										
		$response = $response . '

‘; } $mysql->close(); die(json_encode(utf8_encode($response))); exit;

Im Prinzip ist das PHP ganz simpel aufgebaut. Wir bekommen den zuvor definierten Wert “n = 9″ an die PHP-Datei übergeben. Diese verwenden wir, aufbereitet, für eine “FROM…TO”-Bedingung an die Datenbank. Die Antwort fügen wir in einem LOOP-Befehl an den $response-String. Am Ende übergeben wir den String im JSON-Format. Dies ist genau der Teil, welcher per Append-Befehl an das DIV “contentwrap” gehängt wird. So hätte wir die ersten neun Tabelleneinträge als initialien Inhalt beim Seitenaufruf. Nun zum “nachfüllen” auf der eigentlichen Webseite

$(window).scroll(function(){		
	if($(window).scrollTop() == $(document).height() - $(window).height()){
		n += 9;
		$('div#loadmore').show();
		$.ajax({
			url: "getReposts.php?n="+n,
			success: function(data){
						if(data){
							var html = $.parseJSON(data);
							$("#contentwrap").append(html);
							$('div#loadmore').hide();
						} else {
							$('div#loadmore').html('

No more posts to show.

');
						}
					}
		});
	}
});

Sobald wir das untere Ende erreicht haben (nach dem neunten Container) wird dieses JavaScript ausgelöst. Es erhöht die Variable “n=9″ um weitere 9 und sendet die gleiche Anfrage erneut an die PHP-Datei. Die PHP-Datei führt genau den gleichen SELECT aus, aber dieses mal mit der entsprechenden “FROM…TO”-Bedingung für die nachfolgenden 9 Einträge. Und das war es auch schon. Das DIV “loadmore” etc. wurde aus der zu Anfang genannten Quelle übernommen.

Posted in Code-O-Matic. Tagged with , .