Monday, December 12, 2011

Update on Project Helium

Project Helium is even better since the switch to open source. Although no one else is currently working on the project, I have managed to put some more work into making it a great game. I have updated all the graphics, and all sprites are SVGs. The hope is that eventually I will add SVG manipulation to the game, allowing a simple SVG to do some interesting effects.

Other things that have been worked on are as follows:

  • New level engine. Basically, the code is cleaned up, and making a new level is quite easy now. Still needs some improvements, but its a step in the right direction.
  • New level attribute: colors. That's right, no more plain green on black for each and every level. The colors change to help signify what level you are on. I'll be tweaking the patterns and colors as time goes on, but again, a step in the right direction.
  • Code cleanup. This one is huge now that Project Helium is open sourced. Documentation is still lacking, but at least now the functions and their organization feels a bit more clean. There are still several more cycles of cleanup left, but its starting to look good.
  • Source tree cleanup. Another area I've been working on is making the tree more organized. This means changing some directory names, removing some useless directories, and adding some new ones. The tools have been updated as well and now exist in their own Tools directory.
  • New logo and promotional image. In line with the new graphics, I've decided to work on the logo and the Chrome App images. The new logo is simple, yet awesome. I'll be writing another post about why the logo looks the way it does. Next up for images is new screenshots to show off the latest changes.
  • New hit test functions. I found a bug in the hit test functions that would cause the player to lose a life for no apparent reason. The good news is I have much better hit test functions in place. The bad news is, I probably won't have them published until after the weekend, due to a new bug that causes crashes when hit by enemy fire, and occassionally when you fire at an enemy. Once I finish debugging the new functions, you can expect better accuracy and no more "ghost kills".
I've done a number of other small bug fixes and tweaks here and there, but this list pretty much sums up the main things I've been working on. There's still a lot to do, but if anyone would like to help out, just let me know and I'll add you to the commiters list.

Saturday, November 26, 2011

Project Helium is Now Open Source!

That's right! My first game, built on HTML5 and JavaScript, is now open source! You can find the source on Google Code: If you would like to help out with the project, let me know through Google+ or email and I'll add you to the list of contributors. You'll need Mercurial to get the repository, and Java for using Closure Compiler to create minimised builds. Also, if you want to use the current build scripts, you'll need Linux.

Just go to the project page if you'd like to know more. I've created a getting started wiki page which should answer most basic questions of how everything is set up. Currently, I'm looking for help doing documentation and code cleanup, as well as making sure everything is licensed properly. So again, if you'd like to help out, let me know so I can add you to the list.

Even if you don't want to help out directly, be sure to check out the source. It should make a good starting point for those looking to make similar games or learn basic JavaScript.

Sunday, October 23, 2011

Project Helium 0.9.1 Update

Hey everyone, sorry for the late release and even later post about it. Been extra busy still. I did find some time on Thursday to update Project Helium. This update finishes the new enemy released in 0.9. The yellow enemies now shoot at you. They still travel straight, at one pixel per refresh (~30pps) faster than the sinusoidal enemies. Currently, they will only shoot when they are created and after that will only continue to move towards you. Expect more updates to both enemy types in the near future.

Other features I am working on include a better level system (which will make the first level easier, while also making each level more unique, as well as making levels more modular, so they can be rapidly produced), updated graphics (the current graphics are more or less placeholders for now), more sounds and background music, better sound quality, one more enemy type, better performance for the code, and a smaller version (for those with screens that are less than 800px high).

I welcome my user's feedback as always, and thanks for being loyal supporters of Project Helium!

Monday, October 10, 2011

No Update to Project Helium This Week

Sorry everyone, but this last week has been rather difficult. As a result, I ended up needing more sleep this weekend, and had less time to code as a result. I will be debuting a Google Group later this week for talking about the project in more depth and getting feedback. There will definitely be some kind of update by Sunday. I'm hoping to finish building the new enemies this weekend, so they will fire back.

In the mean time, feel free to follow me on Google+ and send feedback.

Thanks for everyone's support.

Steven Holms aka Superlink X

Sunday, September 25, 2011

Project Helium Beta 0.8.5

This last week was extremely busy for me. I finally got to work at my job, so that kept me pretty busy all week. The good news is that I felt inspired this weekend, enough to make two new updates to Project Helium. I have decided to rename the current app Project Helium Beta and I did add some new screenshots on the Chrome Store. But those are just minor details.

I have introduced a new canvas size: 480x800. This does mean that anything smaller than a Cr-48 won't be able to play the game very well, but there will be a standard edition by the end of the beta, as well as a mobile edition. The current incarnation will become known as Project Helium HD, and will be the primary focus, since it has the most room to add cool features to. Besides changing its size, I've also added more enemies at once, doubled enemy paths to 20, levels now add another enemy to the screen (ie level 1 has 8 enemies at once, level 2 has 9 enemies at once, etc).

The second update changed the keys to the arrow keys and the space bar. I originally wanted to use these controls, but was unable initially to keep the browser from scrolling around when the keys were pressed, which was what lead to using aswd and j keys. But that's now in the past! From now on the defaults will be the arrow keys and space bar, and I may add custom keys later on.

Finally, I also added experimental support for the fullscreen javascript api. This means you can play the game without any of the other web page elements getting in the way. This is especially useful on Chromebooks and other 1280x800 screens. If you choose to play in this mode, please keep these things in mind: it only works in Chrome 15+ (this is the earliest version of chrome to have the api, so I don't have any control over this), pause currently won't work while in full screen and neither will clicking to continue after a game over, and finally, you will need to hit F11 (full screen button on Chromebooks) to exit fullscreen mode. I will be doing more tests and try to make fullscreen mode an integral part of Project Helium in the near future. For now, if you have Chrome 15 or higher, please try it out and give me your thoughts.

As always, I welcome feedback of all kinds to help me improve this game. Look forward to another big update next weekend.

Sunday, September 11, 2011

Introducing Project Helium Beta

Hi all, I've had to do a bunch of shuffling with my websites and blogs and have finally decided to use Blogger from now on for blogging purposes. So to start things off for the relaunch of the World of Superlink X, I've decided to announce that Project Helium is officially in beta.

What is Project Helium? It is an HTML5 canvas game I started in my free time. It is still a bit rough around the edges and I still have a bunch of features to add, but it is fully functional and runs well. Currently, Project Helium is targeted at Chrome, though it usually works ok in Firefox as well. You can either install it in Chrome as an app, which gives you full offline access, or you can go to the project page on my web server (which is nowhere near full uptime, just a head up.) at I try to update it regularly, and like I said, I still have a lot more features in the pipeline.

I will be announcing new releases here on the blog, so be sure to subscribe to stay up to date on the latest releases. The most current version as of this posting is v.0.7 and can be downloaded here:

Please feel free to leave a comment here or on the webstore page above and let me know what you think of Project Helium. Also, keep your eyes on this blog, as I plan to have a lot more posts on many different topics in the future.

Thursday, March 31, 2011

New Beginnings

Well, I kicked and screamed and thought I'd go down with a fight. Instead, I have found I have an opportunity to start my life over. I might be young, but I've made some less than desirable decisions already.

Starting today, I'm putting the last 4 years behind me. My girlfriend doesn't want me around. I tried to make peace, but all she wants is war. So that's fine, I'm starting to see she was not a very good person anyway. So I've decided to completely move on and I won't take her back even if she tries.

I'm also not going to go back to Walla Walla University. I love the people and the school, but I think its best if I seek other options. For now, I'm going back to Colorado and might take CS classes at the local community college. Once I complete that, I'll find a job and work on getting my full CS degree.

In the mean time, I'm playing things by ear. I'll wait and see what happens and try to build a good foundation for my life this time around. This time, I'm building a foundation based around me, not around me and another person. That was a huge mistake last time.

So the future is looking good again. I guess you could say I'm back, but then again, its more like I'm dead and a new person has taken my place. Its the kind of person I liked better anyways.

Tuesday, February 8, 2011

What is reality? Part I

Have you ever stopped for a moment and really looked at life? Have you ever wondered what it means for something to be real? How can you tell the difference between reality and fantasy?
I'm not a psychologist, and I don't really have solid answers to the above questions, but I plan to post my musings on such questions and related ideas on this blog.
While I don't really have any answers for these questions, I do think about them a lot. My concept of reality is events flowing along the time stream. Reality is defined by events that occur in sequence along the time stream, and therefore really happen in our universe.
But how can one discern between the "real" universe and fantasy universes (such as dreams). This is something that I still haven't fully figured out. If a fantasy universe contained enough real elements and could feel real, how could a person know for sure that it isn't really a reality. For that matter, why can't there be multiple realities happening almost simultaneously?
For now, I'll continue to dwell on this topic and hopefully in the future I'll have more to share. In the meantime, leave your comments below, or you can contact me on Google Buzz or Twitter.

Friday, February 4, 2011


Welcome to my new blog. I decided now that there's an Android app, I'll start a new blog for personal use. I'll be talking about many things on this blog, sometimes tech, sometimes life, but hopefully always something that is useful. I'll be repurposing, and aatechnology will get an overhaul soon.

So sit back, relax, and stay tuned for more developments.