Subscribe to:

The Kiwi's TaleWitchBlasterDerelict Blow Stuff Up

Syndicate content

Giving up on C++ (for now)

My failed attempt to learn C++ and OGRE

After doing a little bit of experimentation and some of the tutorials with OGRE in Visual C++, I have decided to put it aside for the mean time and instead go to BlitzMax for 3D game development. The reasons why:

  1. I am already quite familiar with the BlitzMax language.
  2. BlitzMax applications can be compiled for Mac and Linux.
  3. At least in theory, porting my existing games from Blitz3D to BlitzMax shouldn't be too difficult.
  4. I invested a lot of time developing the Earok Engine, so I don't want to throw that out.
  5. There are a wide variety of graphics engines that have wrappers for BlitzMax - The Blitz3D SDK, MiniB3D, Truevision, Irrlicht, and yes, even OGRE.
  6. For me at least, the performance gains from using C++ probably isn't enough to justify the extra complexity.
  7. You don't need C++ to make great games - look at the games by Yahtzee and Cactus for instance.
  8. Even though C++ experience is important for the industry, I'm not looking for an industry job yet.
  9. Perhaps most importantly, BlitzMax is a New Zealand product!

I have decided to set some actual goals - something I haven't done in awhile.

  1. Offer Mac versions of all of my games (excluding Derelict) by the end of August.
  2. Offer a Mac version of Derelict by the end of September.

Nanaca Crash Challenge!

Nanaca Crash is a bizarre and highly-addictive Japanese flash game. You play a young girl riding a bicycle, and the object is to ram into some random dude hard enough to make him fly several kilometres.

 

How to play

  • At the start of the game, you have to set the Angle and Power of the hit. Press the mouse button to set the angle, and release to set the power.
  • The poor boy you hit can also crash into several bystanders, who can either slow him down or knock him further.
  • Sometimes these bystanders have special attacks - you need to click the screen as soon as 'special' comes up.
  • You also have several opportunities to hit him again while in mid air. Click the screen while the 'Aerial' button is highlighted.

 

The Challenge

Try to beat the following distances, and post your best scores as a comment on this thread.

Bronze: 2500m
Silver: 5000m
Gold: 7500m
Platinum: 10,000m

You can play it here

For the record, my current highest score is this:

Secondary Challenge


Try to get the lowest score possible. My current low score is 0.80m

Player's Only documentary: Video Games are Dead, Part 1

This documentary by Player's Only discusses how the recession and the high costs of developing for Seventh Generation consoles are affecting the video games industry.

Probably not much in it you didn't already know, but still quite interesting. Also, quite a few notable people in the industry are interviewed, I thought it was nice to finally be able to put a voice and face to names like Chris Taylor.

(Edit - Removed embedded video as it was playing automatically)

Time to walk away from Blitz?

Since discovering BlitzBasic 3D in 2005 I have had a lot of fun with it. It's a pleasure to write with, I learned a lot about programming concepts from it and all of my games on this site were either written in Blitz3D or BlitzMax.

But, after thinking about it recently, I have decided to move on for three reasons:

  1. Blitz3D has a DirectX only 3D engine, so it is not portable to other platforms.
  2. Only C++ programming experience seems to matter in the game industry.
  3. The Blitz3D graphics engine, though slick and reliable, has not changed much since it was released in 2001, and still does not support Shaders.

So, my current train of thought is that I should learn to make games in C++, using Visual C++ as my IDE/Compiler, OGRE as my graphics engine, ODE for collisions/physics and OpenAL for sound. All of which are free for download and use.

After going through a bunch of tutorials, I think my first project will be to port "Blow Stuff Up" to C++. It's a very simple game, probably the dumbest FPS ever, but it gives me a lot of opportunities to learn how to implement certain effects. For instance:

- Cube maps (Building reflections)
- Reflection/Refraction (Water)
- Real time lighting and shadows (From Buildings)
- Collisions and Physics (Buildings falling over on each other)
- Particle effects (Explosions, dust and debris)
- 3D Sound (Jets roaring past, Doppler effect)
- Fog (Underwater, dust clouds from the ruined city)
- Lens flare
- Grass and foliage
- Terrain

So, how long it'll take me to get that far in C++/OGRE etc is anybody's guess. But I'll post some screenshots as soon as I get something cool going.

A method for creating difficulty levels

In many homebrew games the difficulty level is exceedingly high. This is because during the course of creating the game, the developers themselves become experts at it and base the difficulty around their own abilities.

Without a large number of dedicated playtesters, it can be difficult judging how hard a game is. This article covers the methods I use for creating difficulty levels in games.

BlitzMax coder magazine: First issue

The first issue of online magazine "BlitzMax coder" has been released. The highlights:

  1. Interview with BlitzBasic mastermind Mark Sibly
  2. Interview with Pete Carter, who is behind the "BlitzMax community framework", which is essentially a collection of useful community built libraries. Similar in principle to my Earok Engine, though it's for BlitzMax rather then Blitz3D, and it's a community rather then a solo effort (And, presumably, a lot better coded!)
  3. Tutorial on how to code Beizer curves. I might find this useful in future as I wouldn't mind experimenting with Vector shapes
  4. Interview with the guy behind the Bullet Candy games
  5. Interview with a the guy making a faithful remake of the vector based Return of the Jedi arcade game.

A worthwhile read even for non-Blitz users, the magazine can be read here

World altitude record for amateur radio ballooning

The Clark School team has broken the world altitude record for Amateur Radio Ballooning, besting Cornell University's record set last year by a good 3000 feet.

Yes, you really are at Earok.Net. I know I don't normally post this sort of stuff on the site. However part of the team included Matt Griffith, a friend of mine who I met because he liked Derelict. Congratulations to Matt for his outstanding achievement.

You can read all about it here

Tags:

Earok the Troll

The other day I had a poke around the "Playmaker NZ" forums at http://www.playmaker.org.nz, it's a new community portal for New Zealand game developers (a successor to the more or less dead forums at the NZGDA).

I noticed that the FAQ of the Design forum stated that it was the place where "Make my MMORPG" requests are to be posted, so for bit of a laugh I decided to write one. It was based in part on some forum posts I read from time to time (such as http://www.devmaster.net/forums/archive/index.php/t-3257.html).

The post I made is at http://www.playmaker.org.nz/mod/vanillaforum/vanilla/comments.php?DiscussionID=31

However, Playmaker's administrator took my tongue-in-cheek humour to be a deliberate troll (my intention was to amuse, not to annoy) and he knew my site had been taken down earlier this month so he drew the conclusion that the hacker got hold of my email, logged in with the credentials I had been sent and made that post. Now I can't log in any more!

I'm finding the whole thing hilarious. I haven't been accused of trolling since I was making dumb comments on the Perfect Dark forums at the age of 16!

Tags:

Website plans

I am back in Auckland now after an extended work trip to the South Island. It was good catching up with family and friends, and meeting my niece Elizabeth, but it's great to be back here with Kirsty again.

Time to get back to business. My main focus at the moment is improving the website. I have a few ideas for enhancements but they may not be popular choices. So, I posted them here so that they can be discussed publicly.

Here are the plans that I have:

1. Indexing and Categorisation of useful articles.

I have already begun to do this. Interviews I posted or linked to on this site, as well as game design tools I have reviewed, are now easily accessible through the articles link at the top.

The idea of doing this is to make the site more useful to aspiring game developers who only visit the site casually, rather then reading through everything I've posted since day one!

Still, there's a lot more work to be done. There are a lot of articles buried deep in the site that still need indexing, and the "Views" I use to dynamically generate the Article pages need to be tidied.

2. Use of "Teasers" to summarise content

A "Teaser" is a short introduction or summary of an article. Teasers are shown on front pages and RSS feeds, but if you want to read the full article you have to click a "Read more" link.

Generally, news sites use teasers, and blogs simply show the full article. I have started adding teasers to some of my old articles and I'm wondering if it's worth doing it for all new content.

The way I see it, the advantages are articles you don't want to read are easier to skip past and it keeps the front page tidier, but the primary disadvantage is it forces you to click the "Read more" link for every article you want to read.

Any preferences, anyone?

3. Addition of powerful additional Drupal modules

I am planning to add some cool Drupal modules to enhance the look and feel of the site, including ones for Autosaving and for more functional forums (Similar in power to stand-alone forum packages).

It may be overkill for a small site with a tiny following, but there's no major reason why I shouldn't do it. Plus I can use this site as a test bed for technologies I use in other Drupal sites that I administer.

4. Renewed focus on interesting Content

I can only improve the site so far with feature upgrades, in order to make it truly worthwhile I need to continually add useful original and linked articles about game design. So, I'm going to strive to add at least 2-3 new articles on game design every week.

I'd be keen to publish content submitted by users, so let me know if you have any ideas.

Earok.Net - Back with a Vengeance

Due to a hacker attack, all data and content on Earok.Net was wiped.

I was not specifically targeted; the target was MakoSolutions, who my hosts (Hole in the Wall) rent a server from. The hacker group apparently had a problem with one of Makosolution's clients, and decided to wipe as much of Makosolution's data as possible. This apparently included every backup that either Makosolutions or Hole in the Wall had ever made.

Fortunately, I had a backup on my laptop from the 15th of June. I normally backup more frequently then this but I have been unable to due to a work visit to the South Island. Also thanks to the suggestion of Guilherme Chirinéa, I was able to recover the four blog posts I had made since then from Googles cache, though the attached comments are more or less lost. So, overall it wasn't a disaster.

I am obviously very frustrated at the malicious actions of the individuals behind the attack. But the more I think about it, the more I get frustrated both at Hole in the Wall Hosting and Makosolutions; neither of which apparently offered adequate backup solutions. Makosolution's website itself advertises "Amazing backups" as one of it's key features; obviously this is an incredible overstatement. Hole in the Wall will now be offering backups as an additional premium service rather then part of it's core package, I felt this was effectively saying "We're sorry that we let this happen, but if you don't want it to happen again, you have to pay us more".

So, I resolved to switch web hosts. The administrator of http://maxpenguinslab.com/ has generously donated some space on his server I can use, and I got around to re-uploading the site today. That's all I have to say at the moment, but I will post some further news soon.