Category Archives: Coding updates

If you are following along with the recent posts of what has been going on around here then you will know that I have been on a bit of a javascript kick for the past few months. Because of this kick I have decided to start writing some lessons for those that are interested in learning javascript.

I plan on posting these lessons not only to but also to If you are interested in reading over these articles I will provide the links.

Along with the updates to sum3 I have been writing more articles for code with design.

Day 4 of development results.

The game thus far has gotten a little more complicated. The graphics are less than ideal but I have spoken to a man that knows graphics so hopefully that will get going soon enough. I worked on porting to Android last night and the whole process took about 2 hours which wasn’t bad. (time includes environment set up).

The problems I am currently facing are the following: the canvas on android is slow. I haven’t hit any issues yet and the game is running at 20 frames per second but I feel like this is going to lag with long lasting games so cleanup will need to be done on some of the objects in the game. The second problem is that I am using Cordova (formerly PhoneGap) which is an excellent product but it is not built for game development so there is a lot of un-necessary overhead which makes me want to do it all again in Java.

There is a demo version located here but it doesn’t include a pretty large list of features.

The linked version is lacking randomly generated map, units unbalanced, specific logic, large list of bug fixes.


I will not be working on the game today but there is a very large list of things to do that will make this game a little more unique. One of which is sound…

30 Day Project

New years resolution time!

Work out more.
Make meals from home to take to the office.
Make a new web/proof of concept/mobile application in 30 days every 30 days. (should spark some new things to write about)
Index 1 billion websites.
Work with perl again.

This article is more about the 30 day projects every thirty days and this is the first day of this project cycle. I am actually going to just pretend that it is the 3rd day of the project just so I can work on something new every month. I can then have a better range of articles to work with and categorize them based on when I started development for said project. I also plan on giving my projects better names in the articles rather than call something an engine and just refer to it as an html5 project…

Anyway, just wanted to update and I might as well bring up the new project. I have just finished the OAuth script and tied it in with twitter to allow user access via the tweets. I have also registered a new domain for the project The idea is that a user will be able to insert how far along they are in a series or check off the episodes that they have seen already. Simple concept and I should be able to OD on monster and have something operational in the next week or two.


A Dreamhost Issue leads to a new server

Oh Dreamhost…

Recently my crawling attempts came to a very swift end. I may filled up dreamhosts mysql server ‘madal’ which caused multiple peoples websites to go down until the issues were resolved. Unfortunately for me the resolving meant them moving my mysql information to a temporary location until I contacted customer support.

Turns out that their ‘unlimited’ policy only allows for 3GB of mysql usage rather than the 109GB of indexed websites I had sitting on there. This means that I had to find another solution for my problem.

Solution A: Dump archives of the indexes, dump raw content, dump backups and try to work with virtually no storage.

Solution B: Go and buy a mini form factor computer, pull the dvd drive out and replace it with a second hard disk. Turn the computer into a home server and start the process again with a better code design behind it.

New Server

I went with solution B because it allowed me to have a new toy and work with my own system. The server has an i3 putting out just over 3.0Ghz, 3TB total of hdd and 8GB of ram. This is hooked up via gigabit and allows me to better work things out and write some of the processing scripts in C++. This way I can constantly crunch information.

I don’t mean to hate on dreamhost. They really are an excellent company and they are pretty immediate when it comes to answering your problems for help. The so called unlimited policy is on the retarded side of things but for what I pay annually I can’t complain.

Indexing stats:

stored urls: 1.8m
checked urls: 56m
url count:  27m

HTML 5 Engine Update

The other day I started on an HTML5 engine and due to the project being started from a lack of bordom I ended up writing zero documentation, aside from the gravity and collision, which means that this is going to be one of those ‘write once then again’ kind of projects.

The structure of it so far is specific to the player, the characters drawing, there are no proper objects and no proper object handling because of this. Before the project is done I would like to incorporate these things to make the application run better faster smoother etc. As for now I would just like to create the game and make it relatively fun though.


I added in a cloud and the cloud kind of moves at the moment. Rather slowly but that’s just because it doesn’t look back around to the other side yet. I would like the could to rain and require the player to have to eat the rain in order to jump, move etc. Once the rain bar is filled then the level is over.

Platforms are going to be in the way of the rain falling and this will allow forcing of the player to jump up onto the platforms to get said water. The trick to the game is going to be a risk vs reward factor which means that the player is going to have to make judgment calls on whether or not the rain drop is worth trying to get to.


HTML5 Plat-former Engine Update 1

I have now added in some gravity and velocity to the game. I still need to tweek a few things to make it a little more enjoyable and give it a better transition of movement. At the moment everything tends to happen rather quickly and it looks really blocky and buggy.

At the start of the round the player drops from the top left and lands on the floor. This is the first proof of concept that the dropping of the character is working.


The next thing on the list is to go through the blocks that the character can land on. This is going to involve creating an array of platforms and checking to see if the character should have landed on it based on where it came from, where the platform is and where it is going.

Yay math! Yay branching statements!

HTML5 Plat-former Engine

Currently working on a little plat-former game engine that is currently being built rather slowly but I am happy with the current rounds of performance and how well everything has been coming together. I now have colliding objects and an integration of tweening motion between points with movement levels. An example of this is the sun moving right, down, left and up again by 50 blocks per 50 or so cycles.


The next step in the project is to built a proper gravity engine that will allow for player velocity through the x and y co-ordinates along with object collision with all blocks that will act as ground blocks meaning that if the player hits them they will then be registered on that level and will be able to be moved with the keyboard again.

Project: Tower Defence – Day 6

Just recently started to work on the mobile application again and this is going to be the sixth day of development. The main focus on this post is what I am planning on adding to the application. So far I have a few extra zombies that will be added to the application and a few new extra turrets that need to be added.
I know what you are thinking and I’ve said it before. I am not a graphic designer but I am the farthest thing from it. In fact I am primarily a server side developer and thus the graphics were whipped up on the fly. I do need to change a few features of the build menu. One of the things that I need to do is move it so it cannot be moved off of the screen.


Project: Tower Defence – Day 5

Unlike the previous posts for this project this one is not a consecutive day since I picked up another side project that has taken a bit of time. It doesn’t help that the Minecraft server that I play on was reset…


Tonight the Tower defence game has gotten a little bit of an overhaul as far as functionality goes. I have finally started up again and implemented build and upgrade menus. These menus are not completed because there are some game features that need to by tied into them but it will come and it will most likely come soon since I am rather excited about the current state of the project.

I know you like images.

Right now you are probably thinking something along the lines of “Caleb, why the heck would make it that ugly.” And my response is something along the lines of “I don’t do graphics very well.” On the bright side each of those tiles displays at a different size once on the actual phone. They are about 50% of their current size on the screen because of the pixel density.

Final notes

I am happy to have written high concept document and a low concept document that covers all of the features of the application. Creation of the application happened rather spur of the moment but I have to many ideas that have been stored in doc files over the years. This game was fully written up about 2 years ago now when I originally wanted to create it for IOS but instead I chose to build it on Android.

Back to writing full documentation… This is the most important thing that you can possibly do. Write out everything and be clear about it for future reference. I had two pages of font 11 type that just went through what happens in game when there is a click event and I am so great-ful that it was part of the design and already thought of prior to implementation.

There are a few things in the game that I would like to change. First and foremost is drawing out the graphics. Things like grass and concrete paths don’t change and thus they can be drawn out once rather than cycled through on each pass of the game. This is my largest fault of lag that causes my SGSII to have CPU spikes around 40%; which isn’t a lot but it is a little more than I would like for a game that is this far into development.

This episode was brought to you by Season 5 of Lost. (I didn’t die of boredom.)