PixelPub We love pixels and pubs. Fri, 25 May 2018 00:01:39 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.9 Magic Beans – LudumDare 34 /magic-beans-ludumdare-34/ /magic-beans-ludumdare-34/#respond Sat, 03 Sep 2016 13:00:00 +0000 /?p=317 Making games is a lot of fun even if it’s done quick. Assembling a game with at least one fun mechanic in a few days or hours forces to focus on important issues. If you are a into making games you should definitly take part in a game jam, at least once. In December 2015 we made an entry to the ludum dare game jam. The jam lasts 72 hours and always has a theme which all entries must implement in some way. The theme for the 34. jam was Two Button Controls and Growing. 

We created the game Magic Beans during the jam. From a small magic bean grows a beanstalk. To keep it growing it must get its branches into light to let them bloom. If the blossoms don’t bloom the beanstalk will die. The player has to navigate two branches at the same time into the light spots.

Magic Beans Gameplay

Provide browser compatible versions to engage more people to play your game during a game jam.

The team for this jam was rapidly formed and pretty alternative. Additionally to Stefan and me (Torsten) we had our friends Monika, Marcelle and Friedrich with us. None of them have ever programmed or designed a game, but this only makes it more interesting. Monika was creating the graphic and sound assets while everyone else programmed and coordinated the issues. Friedrich and Marcelle are both web developers and familiar with javascript like we. Therefore we chose Cocos2d-JS as our coding framework. It’s also a good prototyping framework and made it easy to generate a browser compatible version of the game.

The core mechanic are the growing branches which always grow towards the upper right corner. While pushing a button the growing direction of the branch is bend towards the upper left corner. Pushing and releasing the button makes the branch grow as a wave while the player aims for the light spots. If a light spot is reached the branch blooms and a new one grows out of the beanstalk. As always we had lots of ideas in our heads but lets start with the ones that got implemented.

All graphics except for the branches are handmade. The challenge with the beanstalk was to divide it into pieces that could be put randomly above each other to simulate the growing. The first and final approach was to divide it into parts of equal length and ensure the beanstalk starts and ends in the exact center of the image. The branches then grow out of those connection points.

The blooming is the only animation in the game that is handmade. It was important for us to have an animation for the blossoms because it’s the main goal. It should feel somehow rewarding to reach it.

The background music is calming and soothing intentionally. The game should challenge and relax you at the same time. We had no one with sound editing experience on the team so we picked the sounds from an open source sound database. Although we had to modify the files a bit. As no one had that much experience or tools for sound editing it was pretty funny and chaotic to get them right.

One field where we had more experience aboard is particle effects. When a new branch starts to grow a green splash bursts out of the beanstalk. Luckily we had used effects in former projects with Cocos2d-c++ version. Plus we already had particle designer, a great tool for creating the effects. It offers a library of user contributed presets. Those are usually a great starting point for your idea.

Always create at least a small menu screen with gameplay explanation!

With all this done we had our core game mechanic running. At this point the jam was running for 1,5 days. Still 1,5 days left. Instead of adding more features right now we decided to create a menu first. If we want people to play the game we need a proper start screen and brief gameplay explanation. A simple start screen and menu is made fairly easy but improves your game dramatically.

By the time we finished the start screen we had 1 day left for the jam. It’s time to balance and polish what we have! Yes, really, although we neither have a progress counter nor a definitive game goal implemented. A working core mechanic which the player understands is worth more than any progress counter. Because people won’t reach any points if they don’t get the mechanic right. For us this meant balancing the growing speed of the beanstalk and it’s branches and adjusting the bend angles for the branches. Getting all this right was quite time consuming. It took almost all of the remaining time. The last minutes were spent to actually commit the entry to ludumdare, write a small explanation and host the game public accessible on our servers.

Always create at least a small menu screen with gameplay explanation!

Making a game in 72 hours is lots of fun. It requires a highly iterative project management style. As I mentioned previously it’s important to have all aspects of a video game covered, i.e fun core mechanic, start screen plus explanation, graphics, animations, sound effects and maybe particle effects. But you will rarely have the time to make them all pretty. You have to get a working prototype really fast and then improve the parts you think will be most important to your game specifically. We had lots of mechanic ideas on our todo list, a couple of animations and sounds, the progress counter and a game end of course. But we coulnd’t finish all this. Nevertheless we are happy with the result and the people that played it wrote some nice comments. We achieved as much as we could and didn’t waste to much time to create stuff that did not make into the game.

]]>
/magic-beans-ludumdare-34/feed/ 0
Tikal – A board game in 3D /tikal-a-board-game-in-3d/ /tikal-a-board-game-in-3d/#respond Sun, 12 Jun 2016 09:24:37 +0000 /?p=298 Dieser Post zieht einen versunkenen Schatz aus der Tiefe zurück ans Licht. Ein Studienprojekt, das nicht vergessen werden soll.

This post pulls back a lost treasure. A study project which shall not be forgotten.


I want to  show off an older project of mine. It’s an adaption of the board game “TIKAL” by Ravensburger. It’s a turn based strategy game where you have to send out your archaeologists to explore the unknown world.  There are treasures and temples to discover. On each turn the player gets to draw a new tile from the stack and append it to the existing terrain. Afterwards he has 10 action points which he can spend to move to other tiles, dig for treasures or increase the value of a temple. The goal is to gather as much points as possible during the 5 evaluation rounds. These appear if a vulcano is drawn and added to the terrain.  Rules and gameplay are simply adapted from the original, but the visuals and controls are all 3D related making it a different experience.

I developed this together with a friend of mine as a small project for university. Because we recently attended a lecture on mobile development for android, we wanted to make the game an android application as well. We decided to adapt an exisiting game to gain experience in coding and designing a game application rather than designing a game. So we picked a board game we knew and liked playing. But to make it stand apart from the board game we decided to make it 3D. With this in mind I searched for a proper game engine to use and found LIBGDX. Hurray, all problems solved! A big thank you to the LIBGDX crew at this point, great work. It’s that good, we didn’t even had to consider much android specific stuff because LIBGDX hides this very well behind their API. I ended up spending half the time on reading through the LIBGDX API just to learn from them

So take a look at the outcome.

This is how the game starts.

This is how the game starts.

 

Here are the different tiles to makeup the terrain. Each tile is a hexagon with 0-3 stones at the edges. They define how much it costs to move a figure across that edge. The stones are added in code.


We tried to keep the required interface to a minimum and focus on the fact that it’s in 3D. Therefore we chose to model all actions as little spheres which are placed above a tile if you click it. There are never more than 3 actions per tile so it won’t stack to high.  But this decision let to another problem. If the interface is inside the world you might not see it depending on the camera position. We fixed this and significantly improved the ease of use by moving the camera to always focus the clicked field. By that you can click your way through the tiles and it’s always a smooth motion allowing you to see what actions appear.

All action buttons are placed as 3D objects above a tile.

All action buttons are placed as 3D objects above a tile.

 

But for those elements that required a 2D representation we tried to keep it simple. On the left side is the interface which shows the players, action points and earned points. Every time you draw a new tile an info panel slides in to the top right corner. And each gamestep is announced via a centralized label. Handling text overlays isn’t as easy as I thought it would be. You have to consider display duration, placement, priorities and different screen resolutions if you support multiple. If you don’t consider this you’ll probably end up with overlapping or lost messages and a great mess on the hud. Because of this I wrote a little helper to manage placements and priorities. The timing is managed with LIBGDX actions that you can apply to actors in the 2d scene graph. All 2D animations are done that way.

Example of overlay placements and fading.

Example of overlay placements and fading.

 

We did a lot of stuff besides the actual gameplay. Basically it’s been more learning than developing. We digged into 3D modelling, 2D interfaces even on multiple screen resolutions. We played with lighting and modeled a sun which orbits around the world. It’s also raining in Tikal from time to time. Therefore we checked out the 2d particle system of LIBGDX. We also made first steps with shaders and OpenGL in general. All the colored rectangles above temples and camps are billboards. Usually they are used to model clouds in a cheap manner, because they are only rectangles which always face the camera. This behaviour is programmed directly in a shader.

To sum it up it’s been a good learning phase in game development. LIBGDX taught us much about game architectures, rendering and so much more. But the game did get no further than a simple prototype. There is a lot of space for improvements although the gameplay is completly implemented. But animations, effects, multiplayer, networking and stuff like this which are unique to computer games are missing. Im not overly proud on this work but it’s okay and teached me the basics for further projects. I would share the game with you but I’m not sure about licensing because this is originally a Ravensburger game. I’m not sure if I can publish it. But anyways it’s more of a tech demo than a fun game

]]>
/tikal-a-board-game-in-3d/feed/ 0
Food Truck Alert – Essen stressfrei genießen /food-truck-alert/ /food-truck-alert/#respond Wed, 08 Jun 2016 09:06:51 +0000 /?p=287 In den letzten Wochen haben wir unser neue App Food Truck Alert im echten Einsatz getestet. Food Truck Alert ist für alle die das Essen auf Rädern lieben und nicht mehr verpassen wollen.

A food truck is a large vehicle equipped to cook and sell food. Some, including ice cream trucks, sell frozen or prepackaged food; others have on-board kitchens and prepare food from scratch. Sandwiches, hamburgers, french fries, and other regional fast food fare is common. (Wikipedia)

Die Betreiber der Trucks haben entweder täglich wechselnde Standorte oder fahren gleich mehrere Standorte pro Tag an. Die Kunden müssen immer neu informiert werden, wo der Truck gerade ist. Mit Food Truck Alert gehört das der Vergangenheit an. Kunden können die Standorte der Trucks abonnieren und der Händler informiert selbstständig per Knopfdruck über seine Ankunft. Die App benachrichtigt dann jeden Kunden gezielt über das Smartphone.

Vielen Dank an Minas Hot Dogs aus Trier. Als erster Food Truck haben sie unsere App ausprobiert und sind begeistert. Auch die Joghurtfreunde aus Saarbrücken mit ihrem leckeren Frozen Joghurt sind seit neuestem in unserer Liste vertreten.

Mehr Infos und Details gibt es unter www.food-truck-alert.de

Food Truck Alert Flyer

 

]]>
/food-truck-alert/feed/ 0
Notifire Update /notifire-update/ /notifire-update/#respond Fri, 27 Mar 2015 16:34:30 +0000 /?p=226 Wir haben unserem Plugin Notifire ein paar Updates spendiert. Neben Bugfixes gibt es natürlich auch neue Funktionen. Seit Version 1.0 kam hinzu:

  • Anzeigen der Notification je nach Uhrzeit
  • Neuer Style: Metro
  • Aktivieren/Dekativieren von Schlagschatten
  • Deckkraft/Farbe von Schrift und Hintergrundfarbe ändern
  • Möglichkeit kein Icon anzuzeigen
  • Anzeigen der Notification je nach Benutzerrolle des aktuellen Besuchers
  • Automatische Benachrichtigung über Updates im WordPress Backend
Notifire Styles

Notifire Styles

Wir sind immer offen für Feedback und Wünsche! Falls auch du ein Notificationsystem für WordPress brauchst dann schau auf Codecanyon vorbei.

 

]]>
/notifire-update/feed/ 0
Notifire /notifire/ /notifire/#respond Fri, 27 Feb 2015 17:22:38 +0000 /?p=189 Unser erstes WordPress Plugin ist fertig gestellt und hört auf den Namen Notifire. Das Plugin ermöglicht jedem WordPress Administrator Popup-Notifikationen im Frontend anzuzeigen. Über ein intuitives Backend können Notifications an 8 verschiedenen Positionen angezeigt werden. Außerdem noch eine ganze Reihe an weiteren Optionen. Für mehr Informationen besucht unsere Projektseite. Bald wird es das Plugin auch auf Envato zu kaufen geben.

 

]]>
/notifire/feed/ 0
Post Mortem: Katzenjammer – Wie Kitty Jumpr im AppStore unterging /post-mortem-katzenjammer-wie-kitty-jumpr-im-appstore-unterging/ /post-mortem-katzenjammer-wie-kitty-jumpr-im-appstore-unterging/#comments Mon, 23 Feb 2015 17:43:56 +0000 /?p=115 Am Montag den 29. September 2014 war es so weit: Unser erstes Spiel Kitty Jumpr war endlich online erhältlich. Bis dahin hat es ca. ein halbes Jahr, mit kleineren Unterbrechungen, gebraucht um das Spiel in einen Zustand zu bringen, den wir beruhigt der Öffentlichkeit präsentieren konnten.

Entwicklung

Das Projekt startete wie so viele als Spielerei. Inspiriert von Online Flash Games schusterte Stefan einen Prototyp auf dem iPhone zusammen. Weder Grafik noch Ton waren hier wirklich durchdacht oder aufeinander abgestimmt, aber es erfüllte eben den Zweck. Um das Projekt jedoch veröffentlichen zu können, musste ein echtes Framework her. Unsere erste Aufgabe bestand also darin eine Game-Engine zu finden mit der “Jump, Kitty, Jump” (damaliger Titel) umgesetzt werden kann.

Als Framework kommen nur C++ Engines in Frage, da auf iOS keine Java-Applikationen laufen. Damit fällt die Sprache, welche wir am besten beherrschen also weg und wird ersetzt durch eine die wir nur rudimentär verstehen. Aber wir wollten professionell mit nur einer Codebase für beide Plattformen entwicklen. Nach einigem Suchen und Ausprobieren entschieden wir uns für Cocos2d-x (Version 2), ein open-source Framework, das in der Entwicklerszene viel Lob erntet. Neue Sprache, unbekanntes Framework, das wird Spitze! Nach anfänglichen (großen) Problemen und (kleineren) Ausrastern wegen der doch recht spärlichen Dokumentation, kommen wir aber zu einem guten Fazit. Cocos2d-x hat ein simples und schlankes Konzept. Auch komplexere Spielabläufe sind recht schnell ohne umständlichen Code umgesetzt und C++ Features machen das ganze nochmal eleganter. Umständlicher wird es aber, falls man versucht, auf Mac und Linux gleichzeitig zu entwicklen ohne C++, den Compiler, den Linker, etc. so ganz zu verstehen. Während es für Mac bereits vorgefertigte Projektdateien für xCode gibt, muss der Linux-Benutzer alles von Hand einrichten, Makefiles pflegen und kompilieren. Möchte man den Vorteil einer IDE muss man selbst ein Eclipse oder QT Projekt anlegen inklusive aller Abhängigkeiten. Das kostete uns einige Zeit und führte am Ende dazu, dass wir nun beide mit einem Mac arbeiten.

Die Cross-Platform Thematik ist durch ein C++ Framework schon sehr viel einfacher geworden, aber nicht ganz verschwunden. Für iOS ist es einfach denn xCode kann natürlich eine iOS App kompilieren und das xCode Projekt war ja schon da. Um eine Android APK zu erhalten, muss man sich auf die Konsole begeben oder ein Eclipse Projekt aus dem vorhandenen Code erstellen. Egal welche Methode es gilt wieder, Makefiles manuell oder per Eclipse zu füttern und den Buildprozess (Compile, jarsign, zip) aufzubauen. Im Vergleich zur “1-Klick-Politik” des Mac definitiv mehr Aufwand. Außerdem kommen die Social-Features und GameCenter Integration noch hinzu. Wiedermal bietet Apple eine native Integration der großen Social Networks bereits an. Ein einfacher Objective-C Wrapper reicht und Twitter kann auch aus dem C++ Code benutzt werden. Unter Android mussten wir erstmal eine Bibliothek finden, die das ermöglicht. Eine einfache C++ Bibliothek war nicht aufzutreiben, also nahmen wir eine auf Java basierende. Das bedeutet aber das wir uns mit JNI (Java Native Invocations) auseinander setzen müssen.

Kitty Jumpr Level Builder Kitty Jumpr Leveleditor

Mit Kitty Jumpr ist auch unser Leveleditor in PHP entstanden. Da wir alle Spielinformationen (Position, Typ und Geschwindigkeit der Katzen) in einer JSON-Datei halten, war es schon nach kurzer Zeit nicht mehr möglich diese sauber per Hand zu pflegen. Mit diesem Editor können die Katzen mit wenigen Klicks positioniert und konfiguriert werden und abschließend einfach als JSON-Datei exportiert werden.

Marketing & Presse

Schon während der Entwicklungszeit haben wir andere Entwickler in deren Marketingbestreben beobachtet und versucht die für uns besten Möglichkeiten zu adaptieren. Daraufhin ist unser Account bei Twitter, Instagram, YouTube und Tumblr entstanden. Twitter hat sich dabei als der beste Kommunikationskanal herausgestellt. Mit den Hashtags #indiedev, #screenshotsaturday und #gamedev kann man in Sekundenschnelle sehr viele Leute erreichen. Zusätzlich haben wir schon früh angefangen E-Mail-Adressen von spielespezifischen Internetseiten zu sammeln um unsere Pressemitteilungen möglichst weit verbreiten zu können. Am Ende waren es über 200 Adressen. Des weiteren haben wir Gameplay-Videos auf YouTube veröffentlicht und diese über die sozialen Netzwerke geteilt. Das beste Video, unser Release-Trailer, hat bis heute über 1.000 Aufrufe.

Am 26.09. haben wir Kitty Jumpr an einem kleinen Stand beim City Campus in Trier vorgestellt. Über 100 Leute haben an diesem Abend unser Spiel angespielt und uns sehr viele nützliche Tips gegeben. Besonders bei der jungen Zielgruppe kam das Spiel besonders gut an, was sich in einem kleinen Downloadpeak bei den Android-Downloads bemerkbar machte. Wir vermuten dass die meisten jungen Leute aus Kostengründen ein günstiges Android-Handy besitzen und es deshalb keinen Ausschlag bei den iOS-Charts gab. Im Nachhinein war die Teilnahme am City Campus die beste Gelegenheit um das Spiel einer breiten Zielgruppe vorzustellen und somit noch grobe Fehler auszumerzen.

MailChimp Open rate Öffnungsraten Pressemitteilung vom 29.09.2014

Drei Tage später, am 29.09., hatten wir endlich die Freigabe von Apple und konnten richtig starten. Noch am gleichen Tag haben wir unsere Pressemitteilung über die ganze Welt versandt. Von 217 über MailChimp versendete E-Mails wurden immerhin 42% geöffnet, wir waren also optimistisch gestimmt. Durch unsere, speziell für Kitty Jumpr erstellte Landing Page und eine eigene Presseseite mit vorgefertigtem Pressematerial, hatten wir uns einige Rückmeldungen und Reviews erhofft. Doch leider wurden unsere Erwartungen nicht erfüllt. Möglicherweise hatte unsere Pressemitteilung nicht genug Aussagekraft bzw. es wurde nicht klar worum es bei Kitty Jumpr geht und was es alles bietet. Vielleicht fehlte uns aber auch der Bekanntheitsgrad um zwischen den tausenden Indie-Veröffentlichungen nicht unterzugehen. Unsere Namenswahl hat sich definitiv auch als Fehler herausgestellt. Der von uns bewusst gewählt Rechtschreibfehler musste immer wieder erklärt werden und hat dazu geführt, dass wir seltener in den Stores gefunden wurden. Auch den Bezug zu Katzen gibt es in den Stores schon viel zu oft.

report-2015 Anzahl der Downloads pro Tag (iOS und Android)

Deutlich erfolgreicher als unsere E-Mail Kampagne war die Kontaktaufnahme mit der lokalen Presse. Diese hat teilweise sehr schnell reagiert und uns zu einem Interview eingeladen. Am Ende konnten wir einige sehr schöne Zeitungsartikel verzeichnen. Besonders der Artikel im Volksfreund hat sehr viele Resonanz und Downloads gebracht. Unsere erfolgreichste Kampagne war jedoch völlig ungeplant. Wenige Tage nachdem wir Kitty Jumpr als Free-Version im AppStore angeboten hatten, sind wir als “Free App of the Day” auf einer großen Thailändischen Spieleseite erschienen.

Kitty Jumpr Einnahmen Einnahmen pro Woche (iOS und Android)

Der Graph mit den Einnahmen korreliert nicht mit den Anzahl der Downloads, da wir uns nach einigen Wochen dazu entschieden haben die App komplett als kostenlose Version anzubieten. Die Entscheidung kam durch die immer weiter sinkenden Downloadzahlen und die Hoffnung durch eine kostenlose Version mehr User zu erreichen und damit unseren Bekanntheitsgrad zu steigern. Bis zum heutigen Tag haben wir sagenhafte 167,52 € Einnahmen durch Verkäufe generiert. Durch Einblendung von Werbeanzeigen wurden 2,95 € generiert, dabei muss jedoch erwähnt werden dass wir zur Zeit nur Werbung in der kostenlose Android-Version anzeigen und das auch noch sehr sparsam. Dem gegenüber stehen Ausgaben in Höhe von ca. 345 € für Softwarelizenzen, Assets und Kleinkram.

gamestar Indie-Entwickler in Deutschland (Gamestar)

Eine andere schöne Überraschung war die Zusammenstellung von deutschen Indie-Studios der GameStar. Hier sind wir zusammen mit unseren Freunden von gentlymad. in der Printausgabe gelandet.

Fazit

Der ganze Prozess war wie eine wilde Achterbahnfahrt und am Ende haben wir es nicht geschafft die kritische Masse an Spielern zu erreichen und die Entwicklungskosten zu decken. Dennoch würden wir Kitty Jumpr nicht als Fehlschlag bezeichnen. Wir haben jede Menge tolle Leute kennengelernt, sehr viel gelernt und viele Fehler gemacht die wir bei unserem nächsten Projekt bewusst vermeiden können.

]]>
/post-mortem-katzenjammer-wie-kitty-jumpr-im-appstore-unterging/feed/ 1
KittyJumpr in der Presse /kittyjumpr-in-der-presse/ /kittyjumpr-in-der-presse/#respond Thu, 25 Sep 2014 16:23:30 +0000 http://dev.pixel-pub.de/pixelpub-relaunch/?p=101 Gestern hatten wir ein schönes Interview mit der Redaktion von Input Aktuell und Prüm Aktuell. Das Ergebnis könnt ihr euch hier anschauen.

]]>
/kittyjumpr-in-der-presse/feed/ 0
KittyJumpr for Android /kittyjumpr-for-android/ /kittyjumpr-for-android/#respond Tue, 23 Sep 2014 16:22:11 +0000 http://dev.pixel-pub.de/pixelpub-relaunch/?p=99 Hey Guys,

yesterday we launched KittyJumpr for Android.

]]>
/kittyjumpr-for-android/feed/ 0
City Campus Trier /city-campus-trier/ /city-campus-trier/#respond Sun, 21 Sep 2014 16:21:00 +0000 http://dev.pixel-pub.de/pixelpub-relaunch/?p=96 Hallo Leute,

es gibt tolle Neuigkeiten. Am 26.09. dürfen wir KittyJumpr im Rahmen der Veranstaltung City Campus trifft Illuminale in Trier vorstellen. Wir haben jede Menge Tablets für euch dabei und würden uns freuen wenn ihr ein bisschen mit uns zockt.

Letzte Woche haben wir KittyJumpr zum Review gegeben und drücken nun die Daumen und hoffen in der nächsten Zeit endlich im AppStore zu sein. Des Weiteren sind wir an den letzten Zügen der Version für Android.

]]>
/city-campus-trier/feed/ 0
Photo Shoot /photo-shoot/ /photo-shoot/#respond Wed, 03 Sep 2014 16:19:52 +0000 http://dev.pixel-pub.de/pixelpub-relaunch/?p=93 We ordered some t-shirts with our own design on July 16th from spreadshirt.com and they arrived only three days later. The shirts look really great and last week we had a photo shoot with Sabrina Probst.

Furthermore, we have published our first project: thome-bormann.de

]]>
/photo-shoot/feed/ 0