Object Centric Requirements

2 Comments

The idea that you can look at a problem and find the solution as a set of objects has been a powerful one. There still are very good uses for functional programing and I think there always will be, but in terms of abstractions,  object oriented programing is a good one.

Object Oriented Programing has shown up in our project design documents as well. Look at UML, its all over. But what about Requirements?

More

Thoughts on Game Complexity and Minecraft

Leave a comment

As you all know Minecraft is awesome! Because of that I was trying to figure out what made Minecraft soo awesome. My thought path came down to complexity.

Really enjoyable games are complex. I strongly believe that the more complex a game it, the more rewarding it is. This presents a major problem for game developers, they need to add this complexity. Complexity creates two problems that I see.

More

TA Spring Oh nose…

Leave a comment

For those of you who don’t know TA Spring is a really nice open source 3D RTS Engine, with some nice games and AI… That is, if you can get it to work. 😦

I play Balanced Annihilation and Complete Annihilation mods, and I love them, its a great game. The engine standardizes all of the user commands, if you know how to play one mod, you can play them all, and enjoy all their uniqueness.

More

Windows Application Icon using Mingw and CMake

Leave a comment

If your a cross platform game dev like me, one of the many issues that come up are how to get an exe to have an Icon on windows. Well it turns out you can do it easily with mingw (I’m sure you can get it to work using other compilers).

Here is the link to the stack overflow article  http://stackoverflow.com/questions/708238/how-do-i-add-an-icon-to-a-mingw-gcc-compiled-executable. All you do is create a file, run this program called “windres” on it (It apparently comes on Windows). That turns the file into object code that you can statically link into your binary. Works awesome,  but “windres” is picky about the image file format, so watch out.

It isn’t really very strait forward to get this to work on CMake. The following is code out of my CMakeLists.txt file that seems to do the trick:

# This sets up the exe icon for windows under mingw.
set(RES_FILES "")
if(MINGW)
 set(RES_FILES "Win32/client.rc")
 set(CMAKE_RC_COMPILER_INIT windres)
 ENABLE_LANGUAGE(RC)
 SET(CMAKE_RC_COMPILE_OBJECT
 "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
endif(MINGW)

add_executable(OpenSpaceClient client-main ${RES_FILES})

 

This works by creating some sort of additional compiler that calls “windres” as a RC compiler (RC is a made up name, I think you can use anything). As you can see this only gets run if the development environment is mingw.

I hope this is useful.

Humble Buggy Indie Bundle

2 Comments

I never got around to participating in the first HIB so when the second one came around (The Humble Indie Bundle #2), I thought I would jump in. Besides, 5 games!! That’s a steel. I payed 60 USD to get my bundle of joy and set aside the rest of my night to try all the games. I should note that you can pay what ever you want for the bundle, apparently nothing less than a penny. I was feeling generous because I like games that are made for Linux.

I started off with Osmos and Machinarium, for some chill gaming. They were both really good games. I ended up getting stuck in Machinarium and Osmos got difficult (I didn’t expect this). Having tried and enjoyed these games, and the fact that my frustration level was rising, I decided to jump into Cortex Command as it looked really cool.

Then sadness struck. Right out of the box, the 64bit installation of Cortex Command was borked on Ubuntu 10.10 64bit. I chatted with the person behind the chat at the bundle hoping there was a quick fix, he/she couldn’t help me, and redirected me to the fan base forum. I wasn’t the first person to have this issue. All that was offered was condolences and instructions to download and install the 32bit of the game. Luckily the 32bit version worked, but not great.  I was crashing due to audio issues and I got a kernel panic here and there. There was nothing about this on the forums, so this might be a configuration issue on my part.

Long story short, I spent the rest of the night debunking Cortex Command. I did get some play time in, and I really liked the concept of the game. I know its not finished yet, but seriously, did they even test their linux 64bit build? If they did, did they have to skip over Ubuntu? After looking around it seems that people were having problems with  Braid and Revenge of the Titans as well.

I guess this is just a re-education for me to avoid non-open source software. Yea, I would have been in the same situation with games not working and such, but at least I could get it fixed with in an hour,  I could do it my self without having to bother the one or two devs, and finally I would have that open source happy fuzzy feeling that I was lacking with these games.

In the end, it has been 12 hours since the post about Cortex Command x64 not working in Ubuntu. The Cortex Command devs have not made any statement acknowledging our existence while many other linux users are waiting for some returned value on the money they spent on the game. I am trying to figure out what exactly my $10 (approx) got me.

My expectation is if I pay for a piece of close source software, then that software should work just out of the box. If your an independent developer of this nature, and you cant handle this, go home. You are just going to upset and frustrate your customers.

Ok, so, I have stated the problem. The solution, IMHO is to have the source code distributed with the game. I don’t mind paying for open source software. Or have the ability to link the game or something. As a linux user, I understand the difficulties that are involved in getting software to linux users, I am willing to work to get the software to work, if only you will give me the tools I need.

Minecraft

Leave a comment

I know I just mentioned it, but I figure I will write a review now.

Minecraft is difficult to describe mainly because its not really a game, more like a sandbox. So I guess I will just give you all a scenario, as I think this will be the best way to describe the game.

You start off as a character in first person view. If you look around, you will notice that everything is made up of cubes. There is a cube for grass, a cube for dirt, a cube for rock, a cube for wood, and cube for leafs. Lots of different types of cubes that are interacting with each other. You can watch a dirt cube turn into a grass covered dirt cube if sunlight is hitting it. You will also notice that the world is huge (I haven’t found the end, and its randomly generated)!

So what do you do next? Start punching trees. I’m not kidding, after you punch some trees down you collect the wood. You can turn this into may things using crafting. I have build axes, shovels,  picks, work benches, torches, etc…

You can also place block and build your own little structures. I usually build my self a house to stay safe at night (Monsters come out at night).

This all may seem quaint and simple minded, you would be right. There is an addictive element here that I have yet to pin down. Some sort of primordial drive to survive, build, and create. Also right now its a cheap game, it’s about 15USD.

Here are some things you can do in this game:

  • Dig a hole to survive the night.
  • Dig a mine to find coal, iron, gold, red stone, and diamond.
  • Fall into a lava pit and die
  • Get eaten by zombies, spiders, and slimes.
  • Make torches to light up the area so monsters don’t spawn.
  • Make a mine cart track.
  • Use red stone dust to create elaborate logic devices
  • Kill chickens for feathers and kill pigs for ham
  • Cook ham for better healing affects.
  • Grow Reads, and Cacti
  • Make mushroom soup.
  • Farm up some wheat to make bread.

Its a really good game, and worth looking into.

Mahjong

Leave a comment

So I just learned how to play Mahjong, and not the tile matching version.  This is a seriously fun game to play with 4 people.

The learning curve is difficult, but it is totally worth it to play. I highly recommend this game! I also highly recommend that you find someone to teach you to play.

The Future is Wireless

Leave a comment

So as you all know, people are moving more and more toward wireless communication.  Phones, for  a while now, no wires. Networks have been wireless. Now it looks like we will be getting wireless power for our small devices, yay!

But one thing has not been made wireless yet… Peripheral devices…

Now you can say “Hey what about Bluetooth!”. Yes, yes, that technology, well the thing is you have to mate a sender and a receiver together. And not all PCs have a Bluetooth adapter.

Why is this such a huge inconvenience for me?? I’m glad you asked. Lets look at the humble thumb drive. Its a good device. It allows me to share data with all of my computers plus share certain types of data with others. It has one major annoyance though… You have to plug it in!

If I had a Bluetooth thumb drive, I would have to sit down, and configure their adapter to talk to my thumb drive; at this point I might as well plug my thumb drive in. 😦

So now one might ask “Wait, if your drive is wireless, than anyone can access it!!”. Yes, this is true, this can be solved by adding a way to validate the user for access to some of the data (A password for example).  You could have the authentication as part of the device or just encrypt the device itself. You could even leave some directories as unencrypted so that anyone my access them (I think this would be useful because there exists some data that I wouldn’t care if people took).

It could be even more controllable, you could have user accounts setup on the device in a *nix fashion.

Granted this is giving the user a lot of control and the ability to f*** things up, but I could find usages for it. I also think that this would be a good way for multiple devices to talk with each other, with out the use of a computer as an intermediary. Say for example you want to move some files from your digital camera to your thumb drive or your friends thumb drive. Or just have every one bring their cell phone for a share fest (Quick, people with IP look away!).

Finally, some systems have the ability to scan bar-codes. You could store authentication information in the bar-code to get access to the data stored in the device, or maybe the bar-code also has a command to move data a round.

Well, what about when you want to transfer really big files, or need to live stream video?? You ask good questions! So in this case, you will need to plug-in. What you are doing is way to heavy for an ad hoc wireless communication thingy. I’ll bet most data to be transferred would be photos, documents, or other small things. I am also willing to bet that the average person wouldn’t mind waiting a little longer for large file to transfer if they didn’t need to know what pocket their drive was in. 😉

If no one has really thought of this idea, you can use it as long as you cite me as the originator, and you keep the standards open. This will never work if companies patent it, and make others pay for usage. I don’t care if I don’t get rich.

So hurry up and make this! I am tired of plugging stuff into USB  and other odd annoying ports.

Dungeon Crawl Stone Soup

Leave a comment

I like to keep my eye on the Open Source community an see what really cool stuff pops out… Maybe I should say what did pop out a while ago, but is still really cool!

I found this game called  Dungeon Crawl Stone Soup. This game at first looks really old and not that interesting, so much so that I passed over it a couple of times. But like any good gamer I wanted to get back to my roots.

Roots of what you may ask. Well if you liked Diablos or are just an RPG fan I would suggest having a look at this game.

Dungeon Craw Stone Soup has many cool features, here are some:

  • Randomly generated maps, that look really good.
  • There are 23 species to chose from for your character.
  • There are 28 backgrounds to chose from for your character.
  • A Really powerful spell and ability system.
  • Many Monsters and Uniques.
  • A wiki that you can use for help, or to ignore if your hardcore.
  • Death is permanent.
  • The game is turn base .
  • A choice of ASCII or Tile graphics.

Your mission is to find the Orb of Zot. I honestly have never been able to put soo much of my time into an RPG like game (I think I like permanent death). Its a really good way to kill time!

It has its down sides, so to be fair, here are the things I don’t like:

  • Dieing really sucks, especially if you have made it some distance.
  • Sometimes there is nothing you could have done to prevent your death when a new character.
  • ASCII mode is confusing sometime and keyboard controls can be overwhelming.
  • No sound or music.
  • No really cool 3D graphics.

In the end I give the game a 4/5. Most of the bad points are cosmetic. You will ether love or hate this game.