Introducing ‘The History of Light’

The History of Light

The History of Light - Main Menu

The History of Light is a Lights Out-type of puzzle game: There is a grid of lights that are either on or off and your goal is to switch them all off. Clicking on a single tile will toggle it, and its adjacent tiles, on or off.

There are five worlds in The History of Light, each with 20 levels and a new unique mechanic. On the second world for example, the player is introduced to the concept of bombs. In addition, the last 8 levels of each world has a bigger grid.

The game was developed by me and Dimitris Xanthopoulos. Audio was provided (with permission) by Brandon Morris, Louis Hostos and various other artists found at OpenGameArt.org.

The game is currently available at the Ovi store and its official website is http://pekalicious.com/thehistoryoflight.

Post Mortem

While the development of the game took us less than a week (what with Dimitris learning QML and me learning C++) I kept tweaking and refining it until I felt comfortable enough to release it. However, I spent most of the time on the interface rather than the level design which, I believe, will cost me a lot of downloads. I have already got some feedback from some friends and I plan on working on them in the next couple of weeks.

One of the biggest things that didn’t get to the release was music. The game has one track for the menu and one when playing a level. My initial design was one track for each world from the very talented people at OpenGameArt. Unfortunately, the size of the game leaped from 5MB to more than 15MB. I believe that 15MB is not an acceptable size for a mobile game, so I had to cut it down. I’m thinking of making a “Director’s cut” edition of the game with full audio. At least that way the player will have a choice of the size of download.

Finally, let’s talk about the elephant in the room: The Ovi Store. I know that, in this day and age, with iOS and Android being the center of everything, many will wonder why we chose the Ovi Store. iOS was an easy decision; the cost was simply too high: buying a Mac, an iPhone, creating an iOS account etc, etc. Android vs Ovi Store needed a little more thinking. I have a good background in Java but nothing in C++ while Dimitris has a good background in C++ but no Java. Both of us didn’t have any experience in Android Development or Symbian, so, as far as development time went, they where both the same. It all came down to competition: Android has A LOT of competition compared to Ovi. A friend of Dimitris had previously released a couple of Symbian apps and he provided some good insights on how his apps went. So we went for Ovi after that.

Developing for Symbian had many hiccups. Especially in the audio department. It took me about two weeks to figure out how to fade in/fade out the background music and play sound effects. I finally came with a work around, but I didn’t like it at all.

There is another platform out there that I would really like to work on: Windows Phone 7. Especially because I am already working on an XNA game which is supported (with some limitations) on the platform. We’ll see. For the mean time, have a look at the other project Dimitris has released on the Ovi Store: Galaxy Jump.

by Panagiotis Peikidis on 12 Jan 2012 - No Comments »

Working on Xanor: The Dialogue System

As promised, I will be making a series of posts regarding my upcoming video game, Xanor. In this post I will be demonstrating the dialogue system.

Continue reading…

by Panagiotis Peikidis on 08 Aug 2011 - No Comments »

Introducing ‘Xanor’ (WIP)

Last month I attended the Paris Game AI Conference. Now I’m back and things look awesome! Time to get back to work!

Continue reading…

by Panagiotis Peikidis on 18 Jul 2011 - 3 Comments »

Training!

I’ve been into Game AI a lot lately, and in one of the interviews I watched, the developer had to wait 2-3 days while the AI of the game trained its Neural Network. I then ran into xkcd’s classic Compiling comic and…

Continue reading…

by Panagiotis Peikidis on 19 Apr 2011 - No Comments »

Introducing my dissertation: StarPlanner

It’s about time I shared my final year project with the world. Due to my country’s military obligations I joined the army right after I got my bachelor, which meant that I didn’t have time to polish some stuff. However, I had some time off, so here it is! My dissertation: StarPlanner – Demonstrating the Use of AI Planning in a Video Game.

Continue reading…

by Panagiotis Peikidis on 31 Mar 2011 - 2 Comments »

CodeSOD: How to avoid the expensive “If-then-else” statement

About two years ago, in Data Structures and Algorithms, our lecturer briefly talked about the “If-then-else” statement and how much expensive it is as an operation. Leaving us with many questions, I extensively researched the topic and found out that the word “expensive” is, well, really relative. Nevertheless, a particular student found a way to avoid the cost…

Continue reading…

by Panagiotis Peikidis on 03 Sep 2010 - 2 Comments »

Custom JPanel cell with JButtons in JTable

If you ever wanted to add a JPanel with various interactive components (e.g. JButtons, JCheckBoxes etc.) in a JTable cell and could not figure out how to make them work, then this post is for you. Otherwise, continue googling ;)

Continue reading…

by Panagiotis Peikidis on 31 Aug 2010 - 14 Comments »

Microsoft Word 2007: Numbered Headings Done Right

In my previous post I only briefly talked about numbering your headings. Well, today I discovered how to do them the right way. Interested? Continue reading after the jump.

Continue reading…

by Panagiotis Peikidis on 29 Apr 2010 - 8 Comments »

Microsoft Word 2007 made simple

I finally figured out how to use some features in Microsoft Word 2007. Wanna join the fun? Read after the jump!

Continue reading…

by Panagiotis Peikidis on 28 Apr 2010 - 1 Comment »

Introducing ‘JSpriteSheetCreator’

One of the first things you will need when developing a 2D game will be a sprite class. This sprite class will eventually need to handle animations. So what do you do? As any prototyping tool you develop, you go look for free graphic resources. Unfortunately, most animated sprites are in a gif format. So now you need something that will convert that into a single sprite sheet. Here is where JSpriteSheetCreator comes.

Continue reading…

by Panagiotis Peikidis on 16 Oct 2009 - No Comments »
Page 1 of 3123