Tuesday, January 24, 2017

Spare time development?

Project TB revision history for the past two months
(don't mind the broken Finnish)
My game development projects can be characterized as a spare time endeavour. But what does that mean in practice when there are two small kids (0 and 2 years) and a regular job as regular responsibilities? Well, the revision history on the right says a lot (don't mind the broken Finnish, those words just stand for January, December and November). The dates and times show moments when I've done at least some changes to the project.

Not that I'm assuming this to be particularly interesting for a random reader here's a breakdown of the listing that contains the 50 revisions committed in 31 sessions divided into four categories according to the time of day in which they occurred:


Early MorningDay time napEveningOther
Sessions18544
Revisions219911

As the 0 year old came into the picture I took a new habit of going sleeping very early, and accordingly I've sometimes waken up very early. If I've then had the energy I've done something with my project. This is evident in the big number of early morning sessions, although as can be seen from the table too, the sessions have usually been a rather short ones with only one revision committed per session if even that.

The second most common session time is the day time nap. What better time to work on a project when it's weekend and the bigger kid is having a nap?

The third type are the evenings, which are slowly getting back and possibly replacing the mornings again.

The fourth time category is "other" times. There have been two occasions when I've had the possibility to do stuff with the project while the 2 year old has been in the kindergarten for a 2,5 hour visit, and two other special situations when I've had some free time to spend on the project.

So what was the point of this? I dunno, I guess I'm a geek who likes statistics. And the listing also goes to show what a hobbyist game programmer's time schedule may look like: even though I currently have quite a good flow and motivation for working on the project(*), the time that's possible to spend on it is still pretty limited.

(* Can't help but admit that a couple of weeks ago I also got yet another idea I'm starting to feel an urge to build a proto for. This in practice would mean a pause for this current project, which could be justifiable do to the simplicity and assumed ease of of developing and finalizing the other project, but still the prospect of having projects on-going is... uff... pretty daunting 😯)

Friday, October 28, 2016

Contest reward raised to 200$!

Some time ago in an earlier post I announced a contest: whoever beats my record in Cubendor will receive a prize. Well, now I've decided to raise the reward to 200$! So check the rules from the earlier post, test your skills and claim the prize! :)

Getting a "double sider" in Cubendor.

Sunday, September 25, 2016

Juggling projects

There are several starting points a game project may have. Some may originate from a beautiful artistic vision, around which a game is to be designed and built. Some may be specifically designed for a specific target audience, whether it's about going for casual gaming or being a pioneer in a small niche. Some may be about making a game the developers themselves would really like to play with the humble hope of others seeing that enthusiasm too and sharing the interest. Some may simply be sequels to existing game series or attempts to cash-in on some other game's success by making a clone of it.

For indie developers making the most technically or visually impressive variation of an existing game concept is usually not that realistic a starting point when planning a game project. With the limited spare time, resources and graphical capabilities at my disposal, this is especially true in my case. Therefore whatever I create, it has to have its foundation around a concept that's at least somewhat unique. I believe Cubendor (the game that I released few months ago) does qualify as being pretty unique despite its obvious similarities with Tetris, but then again its difficulty combined with its simplicity of being just a hiscore hunt probably made it even more niche than I initially anticipated.

So what am I about to do next? The basic starting point hasn't changed: any game has to be built around a core idea that's as novel as possible. Everything from platform to monetization is to be decided so that it supports this core idea. And one hurdle hasn't changed either: how can I make the game have a decent look visually? The latter in particular was one of the reasons why I made Cubendor (and actually also Number Avalanche): a game based on blocks doesn't require much artwork nor resorting to someone else for doing the graphics.

Other than that, plans have been changing a bit. The following table lists four projects along with their intended platforms, required workloads and vague estimations of their potential as games. I've done some minor prototyping on all four, but three of the projects have been on my mind recently. I will refer to these projects with acronym-based codenames here in order to avoid revealing too much about the idea. So if you're reading this, bear with me: it might not be that interesting a read with the limited amount of information I'm willing to share here. On the other hand, if you're reading this at a point where I've actually released one or more of these games, reading this might be an interesting throwback to how I looked upon the projects earlier.

Project codenamePrimary platformProject sizePrimary challengeEstimated potential (1-5)When
Project FDesktopBigTechnical/Visual
5 (Very high)
After TB?
LLMobileSmallBalancing/Visual2 (Too low)Never?
TBMobileSmallVisual3-4Just started
L - The scifi gameUndecidedBigAI design/Visual4?Not in a long time


Project F

This is the project that I'm the most excited about. In fact, I'm sort of surprised that no one has yet made a game like this, and at the same time afraid that someone has or will have the same idea and will make a game out of it before I have the chance to do so.

Broadly speaking the game would be classified as a First-person shooter (FPS), but more akin to puzzle games like Portal or Talos Principle than eg. Doom. In any case, being an FPS means that being able to create a decent visual style and looks for the game may easily be even more of a challenge than with the other projects. Another challenge for this game is technical: there are some fundamental requirements the whole concept has that go beyond those of a basic FPS, but I did some prototyping and planning earlier and I think I've managed to tackle those to an extent that once ready to truly start working on the project, I can do so.

LL

A while ago I decided that as the Project F is so big, it's better to do yet another smaller project first. So I started with this small prototype. But then two weeks ago I decided that it's probably not worth the effort (see the Estimated potential of 2 in the table). Why? Well, the game would have been an infinite runner, which has been a pretty competed genre to begin with. The game would have had a somewhat unique characteristic to it, but I just didn't find that it would ultimately be much more than a shallow gimmick and as such wouldn't really keep the interest of players. 

On top of being a project with less estimated potential even when finished, I realized that one fundamental challenge in the development would be balancing the game's difficulty level so that it would offer a sense of progression while maintaining the feeling of reasonable challenge to the player. This is probably one of the most difficult things for a developer to assess by himself, as having worked on a game for long you get a lot of practice in playing the game, you get blind to a lot of the details, and you know things about the mechanics the average player just wouldn't know. Therefore it would require more intensive testing from outsiders and possibly at earlier development stages than some other projects would. And as the free-time project would drag on due to matters like this, it would take the fun out of it thus causing a vicious circle in the process: when the fun is taken out, things tend to drag on even longer. 

So as a summary: too little estimated potential to begin with + balancing challenges that would probably be emphasized in a one-man project like this = not worth the effort.

TB

I think TB is a good project to work on at this point. It's a lot smaller than Project F, and probably smaller than LL too. At least this project shouldn't have difficult balancing issues similar to what LL would nor the initial technical hurdles that project F had and may to some extent still have, and even the challenge of getting proper visuals shouldn't be as big either.

Being a physics puzzle game though, its potential would have admittedly probably been higher several years ago, when games or game series like Cut the rope hadn't been feeding the players' appetite for the genre for years, or in the best case even before the advent of Box2D engine that's fueled a lot of games (Angry birds being one of the most notable examples). Even so, I haven't seen the concept of TB used in any game, and even more importantly I think it has potential to be a pretty fun game. Of course I've only spent a few short evenings on it thus far, so we'll see how it progresses, but at the moment I have a pretty good feeling about this - better than I ever had about Cubendor.

L - The Scifi Game L

This is a project I tempered with quite a long time ago. It would be built around a sci-fi gameplay mechanic, and compared to the other projects, it would probably also have more of an actual storyline to follow. I haven't even decided what platform this would be (primarily) built for or how exactly the gameplay would work. Nevertheless, I've written a bit of the storyline already and designed a set of core principles around which the gameplay would be built around and which could possibly be introduced through the game's narrative. These core principles could be compared to Isaac Asimov's three laws of robotics, mine are just not related to robotics and also include a bit of dark humor in them.

It's also clear that (apart from the visual challenge shared with the other projects) the challenges imposed by this project would be rather different from the other projects: there's no clear technical challenge, nor a challenge related to balancing. Instead the planned mechanic requires a combination of some sort of a pseudo-AI mechanic, designing the gameplay in a way that supports this AI mechanic while also making it possible to clearly communicate this to the players, and integrating these principles into the game's level design. All in all, the entirety seems like a really big design challenge that cannot be tested with just a quick prototype. Therefore I've at least postponed the project for until I'm done with project F.

Monday, July 25, 2016

Dense Riddle - Three Doors

Here's a riddle I've written. Can you solve it? It's pretty tough, but believe me, it is solvable. :)


There are three doors and three guards

One door leads to heaven.
Another door plunges you to hell, if you open it.
The third door doesn't lead anywhere.

One guard knows which door leads where and always tells the truth about it.
Another guard knows which door leads where and always lies about it.
The third guard doesn't know which door leads where, but always tells the truth.
All of the guards know what the other guards would say.
None of the guards know what the other guards know or whether they speak the truth.

You do not know the order of the guards nor the order of the doors.

You may ask one question from one of the guards. The guard will then answer "yes" or "no", or if truly not knowing the answer or faced with an inherently contradictory question that has no logical answer, he will just stay silent.

How do you find your way to heaven?

Sunday, July 17, 2016

Scoring rules in Cubendor

Scoring rules in Cubendor
To succeed in the 100$ Cubendor Challenge I announced a few days ago or to simply just get high scores in the game, it's good to know how the scoring works, right? So let's have a look at that!

Like described in the in-game instructions of Cubendor, the score you get for smashing lines with one block drop in the game is the product of four multipliers:
  • Number of blocks destroyed.
  • Number of lines destroyed
  • Current level in the game
  • The number of faces on which the lines were formed (or more specifically the minimum number of faces on which the destroyed lines can be determined to belong to).

Concrete examples make rules always easier to understand, right? So let's have a look at a few examples:

Level Blocks Lines Faces POINTS
1 6 1 1 6
1 12 2 1 24
1 16 3 1 48
1 24 4 1 96
2 24 4 1 192
5 24 4 1 480
5 22 4 2 880
5 38 7 3 3990

The first row shows the basic case: one single row smashed on the first level of the game, which results in 6 points, the minimum for any smash. The second row shows two parallel lines, which gives 24 points, a quadrupled amount of points compared to the single line, as it has both double the blocks and double the lines.

The third row shows three lines, but notice how in this example the amount of blocks is 16 instead of 18 (3*6). This means that the three lines aren't parallel to each other: two of the blocks are used for more than one line. The fourth row shows what Tetris games call a Tetris, aka four lines formed in parallel. On level 1 you would get 96 points for this. Fifth and sixth row show how forming these four parallel lines would give you 192 and 480 on higher levels 2 and 5.

The seventh row is where things get interesting. It's still only four lines and on level 5, but now with two blocks less compared to the four-line Tetris. Does this mean that the resulting point amount should be less than with the previous? Nope. In this case the lines were formed on two different faces of the cube, 2 lines on one face, and 2 lines on another, so the player gets a face multiplier of 2, raising the points for that line blast to a pretty nice 880 points. This is what the game calls a Double Sider.

Although seriously not an easy task, it is also possible to form lines on 3 faces at once, in other words to get a Triple Sider. By getting multiple lines on multiple faces on a higher level, it is possible to gain thousands of points with a single smash (see the eighth row in the table).

The example shows how, in addition to just surviving as long as possible, the scoring system is designed to encourage two things:
  • smashing as many lines as possible at once.
  • smashing lines on multiple (two or three) faces of the cube at once.
The first goal is pretty self-explanatory and fully intuitive, but the second one is also crucial when trying to get the best scores possible. The exact definition of the latter just isn't perhaps as intuitive as one could initially expect. This is due to the fact that a single line formed on the edge of the cube is in principle inherently located on two different faces of the cube. I'm guessing that this may be a source of confusion so I could elaborate that in a separate blog post later on.

In any case, the above description and examples should show that just going for the easy lines here and there won't get you very high scores. But as surviving to high levels is pretty much equally important to getting those sweet combos, it's good to avoid getting too greedy in the hunt of those double or triple siders either.

Wednesday, July 13, 2016

Cubendor Challenge - Win $200 !

Do you want to win $100 $200 (in U.S. Dollars)? It's simple: just be the first to beat me at my own game! It's not easy, but it's entirely possible. In fact, I'd expect someone to be able to even double my current record score!

My current record in Cubendor is 10 802 so you need to be the first to get a score of over 10 802. And no, I myself am not eligible, so you won't lose the right for the reward even if I happen to beat that score first. Other than that, all you need to do is share a video of your gameplay online eg. through Everyplay by using the game's Everyplay sharing feature, or by sharing it on YouTube. Also, in order to easily transfer the 100 $200 USD, you need to register for a Paypal account (unless you already have one), so I can send you the money. So a recap as a list of steps:

  1. Get the game from App store or Google Play.
  2. Beat my score of 10 802. 
  3. Be the first to share a video of that hiscore breaking game session online either by just simply pressing the video sharing button in the game to share it to Everyplay, or by using some other tool like QuickTime to record and share it on YouTube.
  4. Let me know that you beat my score eg. by posting a comment to this blog post or sending me email to contact@densegames.net, so we can work out the details on where I can send the reward.

Note: in order to avoid problems with sharing the gameplay through Everyplay, I recommend checking that there is something like 500 megs of free space available on your device for the recording, and also try to make the recording in one session (in other words not shifting to other applications in the middle of the recording or letting the device go to idle mode).

Finally, here's a fast motion video of my hiscore session for inspiration:


Good luck in beating my score! :)

Update 28.10.2016: Prize doubled to 200$!

Monday, July 4, 2016

Cubendor out for Android!

Cubendor is now out for Android too! After the iOS release there have been a few small changes including small bug fixes, a visual improvement and a new icon. Otherwise the Android version is just like the iOS with the exception of the main menu having a slightly different look.

In any case, if you own an Android device, you can get the game from Google Play and start smashing those lines and try to get some huge combos!