Since my time and energy are limited due to my full time day job, most projects I start have a tendency to stall before they really takes off. I’ve been thinking about how I can find the motivation to actually do things when I have time free time. Earlier this week I came up with an idea for the perfect project for me.
The Hello World Project
The idea I had was to make “Hello, World!” programs. That might not sound very hard, does it? No, and it also not very time consuming either. At least not in it’s simplest form. But this is not about making it easy.
I am going to write Hello World programs for old school computers and consoles, in assembly language. Instead of just calling an os or bios function to write a string to the screen or console, I will access the hardware directly to output my Hello World graphics in whatever form I like, should it be a bitmap or using sprites or whatever else is available.
My interest in old school platforms and the the demoscene is what inspired me to do this. I want to learn about the hardware for the platforms I grew up with and saw all those cool demos on. When this project has started, people, including myself will hopefully have some example code as a starting point for other project, be it demos or games or anything else.
I will try to write blog entries for each platform, and the code will be available on the project page at bitbucket.
I hope to keep the motivation flowing!
Since a few month back, I am no longer enrolled in Apples developer program for iOS. A side effect of this is that any application I had on App Store are no longer available. The major reason for this is that I don’t have an iOS device that can run anything newer than iOS 4, and my old iPhone 3G has troubles even running that.
I am planning to buy the new iPhone 5 when it is released. When that happen, I might enrol as a developer again. Whether or not I will re-release a bug fixed version of Row Chaser is another story.
In other news, I’m working on a postportem for Row Chaser – which might be ready in a not so distant future in a post very close to this one.
About a year ago, I got fed up with just sitting around at home thinking of all the programming I could be doing, instead of watching TV-series. Triggered by a tweet someone in my feed retweeted, I decided to start with the project. The tweet was something like Make a game, not an engine, which made me realize that I had made two or three more or less working engines, but never actually used them. I decided to start fresh.
Inspired by a dream I had one night, I made up some game mechanics and a basic theme. This was the list of goals I had when starting the project.
- Release the game, even if it’s not perfect.
- Be platform agnostic. Use SDL, but try to abstract away the SDL dependency.
- Don’t obsess over details. Even if code is not optimal, it will do fine as long as it’s bug free.
- Try out new techniques I haven’t used yet.
- Have fun. It’s fun to code, so code! Don’t ponder on the best way to solve things.
- Learn from mistakes for future projects.
The first thing I did was to install a trac, and write down the project goal, basic game design and a project plan. And then I started to produce code.
At least that’s what was supposed to happen. Instead after creating the initial file structure and a skeleton project with some glue code, it took a halt. The two main reasons; I almost immediately forgot was I was set out to do. I started to think about the best way to do things. Even reading keyboard input, which in this case was really simple since SDL provides the hard part, felt like a major obstacle.
My first milestone – drawing a box on screen and moving it around the the arrow keys – was supposed to be done in the first week. Today, 10 months later there still is no box on screen. The input is working though, but when it comes to rendering, I have decided to add an abstraction layer on top of the rendering API (OpenGL in this case).
I just picked up the project again a few weeks ago, and I hope to get up to speed this time, and I think blogging about it might help.
An update will come soon, I hope.
Since demicode have been more or less dormant for the last couple of years, due to me having a day job to pay my rent , this site will change. From not being used at all my intention is now to use this blog as a outlet for all my programming related blogging. I realized that incorporating such blog posts in my more personal blog, that I’ve had since the beginning of the previous decade, was not really what my handful of readers would appreciate.
So, this will now be the place where I blog about my programming, and in contrast to my personal blog, this one will be entirely in english.
So, what can you expect? Probably not that many posts, but when I do post the topics might be everything from hacking Z80 assembly for my SEGA Master System to web development or creating games for personal computer and consoles. And everything else tech related.
Lets see where this will lead.
Last weekend I had a meeting with my game designer friend at antroia where we decided what our next game should be. This time we could actually test the game play in analog form without the need of a prototype, and we both agreed that this game have the potential to be really good.
Since this game is more about thought and less about brainless poking the screen, I can cut the production time quite a bit. There is no need for scripting, no need for an advanced game engine and no need for OpenGL. The most important thing in this game will be your brain.
One more thing – this game will support the iPad.
The plan was to update this page and have it at a near-final state when the games was released, but time as it seems, flies.
None of the sites I’ve made have ever had a final state anyway, so this site will probably be it constant change, just like the web is supposed to be.
My first game is now available in the AppStore! Only in Australia for now, but within a day it will be available in an AppStore near you.
After realizing that using drupal would be to aim a bit too high, I decided to use a more fitting system for this site. Due to laziness and recent work with other things, the game I’ve been working on has been postponed for quite some time now. We now aim to release it some time in the coming month, that is some time in January 2010, depending on how long it takes for apple to approve it.