About KungPhoo


Ludum Dare 23
Ludum Dare 16

KungPhoo's Trophies

The Official SonnyBone 'RAD GAME' Award
Awarded by SonnyBone
on January 4, 2010

KungPhoo's Archive

Startrash Galaxy – Postmortem

Posted by
Monday, April 23rd, 2012 12:57 am

I so wanted to do this LD, but I had lots of real-life stuff on this weekend. I still tried, and got about what I expected for the limited time I could spend. Seeing some of the other entries, though, makes we doubt if participating was a good idea.

When I read the theme, I was pretty excited. It’s a very flexible theme IMO that allows about any kind of game if done right. I don’t have Super Mario Galaxy, but I always liked the videos and the idea to have a spherical planet to run around. Also, I was wanting to do an remake of the AtariST game “Startrash”, which was really something totally different back then. The spherical wrapping of the map-array was a great challenge to me, so I tired.

First I thought about mapping an rectangular grid across the sphere but I think it would not have worked out properly. Next thought was to make all the world of a 3D object and use 3D collisions for the movements. But usually that approach takes a lot of time for tweaking the right parameters. Also, I really wanted the game to be “blocky”. So I remembered some subdivision techniques I used many years ago to build a sphere from uniformed triangles. The idea is to use an 4-sided tetrahedron and then insert new nodes at each center of a triangle. So this 2-3 times and you have a very smooth sphere.

But how to connect the triangles into an height-array so the ball can move? That was pretty tricky for me and I decided to add a 3-index array to each triangle that has the neighbour indices stored. That way I could move like: current = sphere.triangles[current].neighbour[0]
I also made an separate array for the height of each triangle and later one for the colour.

The path-creation algorithm was pretty easy. Just start at one point, then move to random neighbours until you hit an triangle that’s of a different height. Reverse to any random triangle in that path then, and continue for the remaining steps. Sort of like a tree grows branches. Then iterate the path and randomly lift the steps. In the final version I do a very long path for height=1 to separate water and land before I grow the hills.

The next problem I encountered was the 3D view and rotation matrix for each cell.
This took a lot of my little time, because it turned out a lot trickier that I first thought. The main idea was to store the center-of-sphere to center-of-triangle vector for each triangle. Then build a rotation matrix from this and the direction something is moving to. do a cross product for the “right-side” vector then. Before rotating, move the object up the y axis to reach the top of the triangle (scale up vector by sphere.radius + height[itriangle]*sphere.height_per_step.

The movement of the enemies was pretty easy, because they cannot change to a different height platform. I just got the 3D position for the new triangle to move to and linearly interpolated between the old and the new position.

LD is always great fun. This time I had very little time and so I didn’t benefit and contribute to the social aspects of LD. That’s a shame. Next time I try to get the weekend off and chat a bit more and take time to see what others do. Also, this time were so many entries, that the reading of all the texts would take a full week to complete. I will try to read all this in the time until the next LD. 😉
What when right:
-The idea is pretty good if done right. I made a non-violent game with a wrapping world to walk around.
-graphics. I’m not much of an artist, but I think with my minimalistic skills and time the visuals got to a state that might invite to have a play.
-path creation: It’s not as good as manually crafted levels, but for the short time I had it does a good job.
-time management: Knowing I had little, I concentrated on the bare playability basics without the use of any placeholders. I always had the partial targets to reach in view and was pretty much able to reach them. I am a full time developer in my real time job, so I could quite foresee how much I can do. Tip for not-so-experienced devs: Have small targets and plan double the time you think you might need.
-Language: 😉 Pinping a bit here, since GLBasic is my baby, but I think it’s really a great tool to produce quick results of some value.
-AC3D as a modeler. This tool is very fast at modeling easy shapes. Only the texturing is always a bit complicated. I should see if I find something better here.

What went wrong:
-There’s not much to explore. Manually crafted levels and some extra skills to the ball would be required.
-The game might be a tad boring. More different enemies and extras would have helped. Also a story and several planets to move between.
-no sounds due to lack of time. I have a song in my mind that I wanted to “SongSmith” and sfx would do good, too.
-controls: It works as expected. But… somehow the view rotates way too much. Maybe I should have implemented an slider for the rotation independently from the movement direction. Would have saved me lots of math as well.
-Using MSPaint was a bad idea. The Win7 interface is totally wrong. Usually I use CorelDraw, but I had no time.

Ludum Dare stats

Posted by
Monday, April 23rd, 2012 12:16 am

1116 entries. Amazing.
That is like 33×34 people sitting all there and writing a game on one weekend.
33 people, that’s the size of a school class. So you have 34 classes all lined up. That’s the size of an average school here in Germany. Dude!

Lets say in average each developer spent 24 hours on each game. That would be 26784 man-hours in total. Taking an average of 150$/hour we get 4.017.600$ worth of games in one weekend.

It’s got stars

Posted by
Saturday, April 21st, 2012 9:44 pm

and that’s a good thing! I can move now, and the ball is bouncing.
NExt to be able to collect them. Then add some enemies to get the basic game working.
Then polishing…

Time to get a nap

Posted by
Friday, April 20th, 2012 9:15 pm

it’s 6am and I need to get a nap until 8:00. I have a hard day ahead :(

I can build 3D pathes now on my “tiny world” and I can rotate the current platform into view. Math done, tonight comes the fun.

It’s a start

Posted by
Friday, April 20th, 2012 7:09 pm

It’s a start. I sort of like the theme now. It’s very flexible and I expect people to bring totally different games here.
My idea is to make a 3D world with different elevations and then build some sort of a maze. So, you might only be able to do one height-step at a time. Let’s see where this heads…

I’m in. You can win.

Posted by
Friday, April 20th, 2012 12:23 am

Two messages.
I’m in. I might be (as usual) very short on time, but I am pretty fast with prototyping, so that’s OK for ranking #899/1000. Olympic spirit, you know…

I use:
-Corel Draw
-MS SongSmith or some random music generator. I’ll see.
-Audacity+Microphone / SFXR for sounds

The second announcement is you can win! A fat, shiny 7″ Android tablet. All you have to do is using GLBasic this time instead of the language you almost picked. It’s really easy to use, very powerful and free for 2D games. You ain’t got nothing too lose – give it a try.

More Details…

Join LD48, win Android Tablet!

Posted by
Monday, April 16th, 2012 12:49 am

You heard it right. For the anniversary you might consider switching to a new language, and win big:


GACK is finally on sale and made 1$

Posted by
Friday, November 25th, 2011 6:06 am

I miserably failed the October challenge 2011. Mainly because I wanted to polish the release version a bit and add some website and example games.
But! I finally made it. You can get the GACK (Gaming App Construction Kit) now for your touchpad (HP, WebOS) or any Android Tablet that has a 1024×768 screen at least.

I sold already 10 pieces. Here’s a link to promo codes for the Touchpad:

October Challenge – Failed

Posted by
Thursday, November 10th, 2011 1:37 am

Yes, I failed miserably because I had to fix some issues in GLBasic that took too much time.
But!! The thing is done. I’m just updating a few example games now and release before x-mas. Here’s a trailer for the complete package:
GACK – gaming app construction kit

Insert/Delete and Power-Ups

Posted by
Thursday, October 20th, 2011 12:53 am

I have a new button that allows the users to insert or delete images, that are correctly updated in the animations and level-background lists then. Tiny feature but a lot of work.


The next great thing I added are “elements”. Each player/enemy and shot and “vulnerability” has a set of 4 elements to choose from. You can control what happens on collisions between player-enemy, player-shots, enemy-shots and so on with them. Awesome! I’m so excited.

The last step is to implement a small menu for customizing the controls and an export function that makes stand-alone Apps for WebOS, Android, iOS and PC, Mac, Linux.

Challenge accepted

Posted by
Tuesday, October 11th, 2011 3:56 am

I always wanted to make my SEUCK remake into a touchpad app, so you can create games ON your iPad/Touchpad. Now that I have my HP touchpad and development is so much faster and easier, I started finishing it.
I hope to bring it quickly enough to the market to get a $ from it. I also hope that people are willing to buy it.

Plan is to make a touch-only GUI to create full games and make an exporter so you can “sell” the created games for iPhone and WebOS phones (Pre2,3, Veer…)

I also plan to bring at least one proper game as a reference/tutorial.

Current status: It’s working pretty much with touch input only.
I added a lot of ace features like:
-shots/players/enemies have “elements”, so water can attack water and such
-I plan to bring powerups
-I need an option screen for the controls of the mobile devices

sprite editor

GACK sprite editor


How I made a game in 3.5 hours

Posted by
Friday, July 8th, 2011 1:09 am

It’s quite some read, but it might be of interest for you, especially when you want to participate a LD48 for the first time. I wrote some lines about how and in what order I created a tiny math game for a mobile device.

My try – LD logo contest

Posted by
Wednesday, January 26th, 2011 2:12 am

Not a winner, judging by the already submitted images, but since it’s done, I’ll post it here.

Posted by
Monday, October 11th, 2010 2:56 pm

OK, update! Wohoo, finally got something done.
The game is fully playable now. The next step will be some sort of menu system to implement.

You can try it out on windows. Since it’s an iPhone game, the controls are a bit awkard, making the game loose it’s spirit a bit. Please try it – don’t judge it by the boring screen shot. It’s nicely animated.


get it here

game physics in

Posted by
Thursday, September 30th, 2010 12:52 pm

I have the game physics working now. You can grab a Windows version at:

Please read the README.txt, because the PC input differs from the iPhone one.

I finally managed to get the corners auto-rounded to avoid very steep angles.

Whop It – starts getting playable

Posted by
Tuesday, September 28th, 2010 3:43 pm

I think a picture says more than 1000 words (which would be 128 bytes), and a movie even more, so I just made a quick one. Sorry for bad accent.

Whop It – pre-alpha

[cache: storing page]