Showing posts with label XNA. Show all posts
Showing posts with label XNA. Show all posts

Wednesday, April 7, 2010

Mission successful!

Newsflash: The game/experiment is over!


We had 99 participants... Damn, so close to 100! :) Anyway, the minimum of 60 was easily achieved.

This means my work is over... Which is not the case for my partner in crime Laura: The experiment was part of her master thesis, and she's currently processing all the data and writing the paper. Since all the data is looking good, "mission succesful" is the right thing to say.

Now the experiment is over, it's no longer possible to submit the survey or your highscore. I removed the download from moddb to prevent people from trying to fill in the survey in vain. But in a couple of days/weeks, I'll have a version of the game online with all the survey stuff stripped out.

Again, thanks to all the people who played and/or told others about the game!

Thursday, March 11, 2010

So how's our online experiment going?

So far, we've had 36 survey participants in the past 4,5 days. Not a huge number, but not bad either... Let's just hope we can keep up the pace and get around a 100 participants over the next three-four weeks.






Of course, we still can't give away what the survey is all about. Let's just say, the collected data is looking good so far. 


Additionally, we've had 772 pageviews on moddb and 140 game downloads.

You can view the highscores here: http://bramdemoor.easywebhost.be/. To get yourself in that list, you have to complete the game on 'hard'. To be the best, you need to beat Sheldor The_Conquerer, who has an impressive highscore of 445 points. Difficult, but not impossible... 480 points is the maximum!

Our thanks go out to Davy for giving us some publicity from his blog, and to all other people who participated and told others about the game! We really appreciate the effort.

If you haven't had the time to play yet, hurry to http://www.moddb.com/games/flight-of-the-strihuhn and give it a try! And spread the word to all your friends, family, coworkers, neighbours, facebook friends, blog followers, twitter followers, myspace buddies and random people on the bus and on the street.






Sunday, March 7, 2010

You can finally play it!

Well, after some delay (exactly one week), the game is ready!


You can download the game from http://www.moddb.com/games/flight-of-the-strihuhn. Check out the screenshots and other info, or navigate straight to the 'downloads' section. After downloading, unzip the archive and follow the instructions in the readme (or just click Setup - next - next - next... if you can't wait any longer).

One more important note: Please do not give away the 'clue' of the survey to other people after you've played the game, and answer the questions as honestly as possible. We need as many 'good' participants as possible.

Thank you for participating, and have fun! :-)

Tuesday, March 2, 2010

BDM vs the bug from hell, episode 1.


Just a short note. My little XNA Game was planned to be released... today. Too bad, in the last few days, a new bug has emerged. Not just *A* bug. The most horrific bug I ever faced. Almost impossible to debug and real bitch to test. And so damn annoying it kinda ruins the fun of the game.

Although I tried everything, from changing every possible parameter to bashing my keyboard until it started to continuously produce 'qkqkqkqkqkqkqk' until I rebooted it (I didn't even know that was possible!), it's still not fixed.

Which implies that the release is delayed until that bitch is fixed. The bad news: no clue how long it's going to take. The good news: once it's fixed, everything is immediately ready for the release.

Well, let's hope I'll have more luck tomorrow. :-)

Tuesday, January 26, 2010

Busy, busy, busy...

I'm very busy with a lot of stuff at the moment... As a result, you won't see too many posts here from now until the end of februari ("most important things first", you know).

After that, I'll be back at full strength: First of all, my XNA game will be promoted. We need as many people as possible to play the game and fill in the survey. Currently the goal is to get at least 100 players/participants in one month. Will it succeed? To be honest, I don't have a clue. :-)


Peace out

BDM

Sunday, January 17, 2010

Why I switched from Game Maker to XNA

As you might have noticed by reading this blog, a little hobby of mine is to play around with software, with a specific interest in casual game development. For quite a long time, I used a free tool called "Game Maker" for this purpose. It's a free (the lite version anyway) tool to make games for windows. It's really simple to use; Most of the work can be done by clicking and dragging - there's absolutely no low-level programming required. But recently, I moved on and started focussing on XNA game studio instead. Read on to find out why.

1) Scalability

As with many drag and drop type tools, development speed and quality are very closely related to project size. For smaller games, Game Maker might be the top of the bill. You click "new game", and your rendering system, collision detection, level editor and whatnot are all in place. What better start could you wish for?

But then, after creating some smaller games, you move on to the real work. You want to create a game with multiplayer capabilities, a physics engine and a custom level editor. And you want to work cooperatively with a team of say 5 persons. *Dang*. The streamlined tool starts getting in the way. It's perfectly understandable; you can not logically expect a large game to sit comfortabely in the simple architecture of a tool that's designed to appeal to beginners. Whether you want to do one tiny thing that the built in level-editor does not support or you want to use complex inheritance trees or do advanced AI debugging... You'll collide with the boundaries sometime. And if you do, there's not really a way back (see point 3 below).

I know very well that creating advanced games is possible with tools like GM - Perhaps a thousand times cooler than anything I'll ever manage to put together. But from a coding/architecture point of view, I still say no. Full-scale projects require a different approach. Although you CAN make them with a tool like game maker, you're better off using something more custom. Because at one point, development will slow down, and you'll pay the price.

With XNA, I'm using C# and all possible tools to make coding easier, faster and more robust. I can architect the game code the way I want it. And if it turns into a mess, it's my own responsibility.

2) Gap between GML and professional experience

In my day job, I develop business applications in C#, using Visual Studio and Resharper. For game development, I use exactly the same toolset. I already had many moments at work where I could use something I learned during game development, and vice versa. I really like this interaction; it's nothing I'd easily give up. And if I'd choose to work with game maker and its scripting language (GML), that's exactly what'd happen.

You might say "It's better to know many different languages/environments". In another context, I might agree. But the gain of learning a specific scripting language that is used nowhere else is rather small. It's like learning a new language that you can speak only to one person.

3) No way back

Additionally, I find it hard to accept the fact that once you choose to use game maker, you're bound to keep using it. Once you start dragging and dropping and scripting, there's no possible way you can say: "Let's extract the code and move to [some completely other platform]". You have a bunch of scripts that are not meaningful in another environment. Most likely, they're not really clean and well tested either. You'll just throw them away and start from scratch, instead of converting them. While I'm quite confident that I can do exactly that last thing with XNA. Converting C# code to Java for example, is not that hard...

Conclusion

So let's wrap this up. In it's own way, game maker is a brilliant piece of software. Brilliant in the way it allows people with little experience to create games, have a lot of fun and learn many things about game development. Really, there's not one tool I'd rather recommend to people who are new to programming but want to create their own little game from scratch. But as any other tool, game maker needs to be used in the right perspective.

I used the learning perspective, but now I'm ready to move on. For actual development, that is. Because recently, I discovered another perspective to use GM... I still use it to create prototypes for my games. This requires some more explanation - I'll talk about this practice in a later post.

Monday, January 11, 2010

My XNA Game: Progress update

60% Complete!


Yup, that's right. I'm more than halfway done. So it's time for some more info on the game, in addition to what I wrote in this post.

The game's protagonist, as seen in this draft, is a little but slightly overweight bird. The main objective of the game is to collect as many points as possible by picking up bonusses and moving objects from A to B. You have to evade dangerous objects such as spikes, because they can destroy the object you are carrying and/or harm your bird. If you run out of health, you respawn at your birdhouse. Each level has a time limit, so you have to rush a little if you want a highscore :-).


Level 1 is set in the forest, where the bird lives. It's an easy level that allows the player to familiarize him/herself with the controls and game mechanics. Level 2 is set in the city and has an increased difficulty. The actual playing time is around 10 minutes for the two levels combined. The controls are easy: just the arrow keys and the spacebar. Sounds ok for an all-age casual game, right?

Final (?) words on the installer


I decided to go with the visual studio setup project for the installer. While not being 100% convinced of its superiority, to say the least, I had to pick something and go with it. I tested the setup on a number of windows PC's with XP, Vista and 7, and had no problems so far. The installer downloads all missing dependencies.

There's just one last issue with the installer: the setup project creates two files - a .msi file that performs the actual install, and an .exe that checks the prerequisites. This leads to two problems...
  • For the download, I should create a zip file that contains both files. This seems slightly unprofessional. Players expect to download a single installer file which they can immediately execute after dowloading.
  • The players should in some way be forced to run the .exe file. If they run the msi file instead, the prerequisites are not checked. They can install the game even if the .NET framework or XNA runtime are missing. If they subsequently try to launch the game, they'll get a very nasty error message.
A solution would be to use a zip self-extractor, that runs the .exe file after extraction. Sadly, many web resources report problems with this approach as well. So I'm well underway but not yet done with this...

Conclusion

As the tests have proven, the game runs smoothly without framerate drops, so that's one less thing to worry about. But there's still a lot of work to in the next 1,5 months...

P.S: Still no screenshots, since there's some heavy graphics rework being done at the moment...

Sunday, December 27, 2009

Creating an installer for my XNA game + Prerequisites

Installer

Recently, I was looking into the possibilities I had for packaging my game (read more here). The first option I tried was the so called ClickOnce installer that is integrated in Visual Studio 2008. It turned out to be a bad choice for my particular needs; I don't need a java webstart clone, just a regular MSI installer package.

So I began my search for an install creator on the internet. Very soon, I stumbled upon Advanced Installer, which looked decent at first sight. It uses a reasonable licensing model; You have to pay for advanced features, but the basic use is free. I don't need advanced features, so I gave it a shot. And it turned out to be pretty good.


A particullary nice feature of this install creator is the nice prerequisites management screen. I defined the system requirements for my game there:
  • Windows version: XP or later
  • .NET Framework 3.5
  • DirectX 9.0c
  • XNA Framework 3.1
  • 1024 x 768 minimal screen resolution

The installer will check automatically if all prerequisites are present, and shows a warning if they don't. This is great, but not perfect (see next section). The result is a nice Setup.msi ready to spread around. I still need to test the install on a lot of different configurations though, but I'm quite confident that it will work.

System requirements

Some more on the system requirements: I think they are very reasonable in general, but two problems arise:
  • .NET Framework 3.5. I know for a fact that not every user has this installed, although it comes with windows updates if I recall. Yet, it is a large download and a requirement I can't drop.
  • XNA Framework 3.1: It's required to run games created with XNA gamestudio. I'm pretty sure no living soul has this installed, but it's a very tiny download.
I have not yet found a way to make the installer download these dependencies automatically. Including them in the package is not an option either. So most likely, the final download page for my game will include two old-fashioned download links. Sad but true.

This makes it obvious why most casual games are created in flash. All a player has to do is navigate to the webpage, wait 5 seconds for the game to load and play. And probably 99,99% of all people has flash installed.Too bad I'm a C# programmer, not an actionscripter...

Another platform I could have used is Microsoft Silverlight. Silverlight has the advantages of flash, and allows me to use C#. I seriously considered using Silverlight when I started this project... But the DirectX features you get with XNA are just... They make you feel like you're actually developing a game (with decent GPU support), instead of trying to turn a business application or browser plugin into something that looks like a game :-).

So that's the way it will be. Anyway, considering the amount of promotion/spam we'll throw at it, I don't expect that it will be too hard to find 100 "test subjects" willing to try it out. Let's just hope these system requirements are not too annoying. Anyway, I'd love to get some feedback on this one...
  • Do you have Microsoft .NET Framework 3.5 installed? (you can check this in "add or remove programs")
  • Is it too much to ask from a potential player to install the XNA Framework, or even the .NET framework in some cases?
  • Finally, if you are a software developer: Any experiences with 'advanced installer'? Any other install creators I should check out?

Tuesday, December 22, 2009

Work In Progress: Side-scrolling game

It's about time to present my latest hobby project here. I'm developing a small 2D side-scrolling game, which will be used in a university experiment. The people who take the experiment (which will be 'recruited' all over the internet) have to play the game, and provide input data for the experiment by means of in-game measures and a survey. This data will be processed and presented in a university paper.

I can not disclose anything about the actual subject of the experiment. But for me, it boils down to this: I have pretty much carte blanche for the whole game concept, which made me quite happy but nervous at the same time. Failure is not an option...

I made the following design choices for the game:
  • Casual game, similar to many flash games
  • About 10 to 15 minutes of gameplay time (which is long enough for the experiment)
  • Side scrolling 2D platform game
  • Fit for all ages: no blood and gore this time...
  • Easy controls
  • Two levels: Tutorial level + Real level
  • No complicated story line
  • Free sound effects (plenty of good ones on the web)
  • Royalty-free music from the free domain (which saves me weeks of composing-time!)
  • Fullscreen (resolution fixed at 1024 x 768)
## Technical talk starts here ##

I use the folowing technology for the development of the game:
  • Microsoft Visual Studio 2008 (With the Resharper plugin - there's simply no life without it!)
  • XNA Gamestudio 3.1
  • Farseer physics engine
  • Mercury particle engine
 The time I can dedicate to this project is very limited. There's not much time for second thoughts. I try to pick  an approach that works and go with it. Despite that, I try my best to keep  my code organized. It's a constant tradeoff between code quality and time, but so far I'm still satisfied with most of the design. The constant refactoring really pays off: adding new objects to the game domain takes almost no time, since all the behaviour is utterly generified. The use of the physics library also helps a great deal with this. I'm also somewhat proud that most of the code is clean domain code, not cluttered by engine details. Theoretically, I could copy the domain code, and reuse it in a completely different environment.

## End of technical talk #

The lesson learned so far: I could look at this limitations and time constraints as serious fun wasters, but I don't. Rather, I see them as a challenge. Complicated problems long for creative solutions, and that's what I like most...

As for progress: I'd give the game a 35% completion  rating. But this is a loose estimate. I'm picking up some speed in the last week since the game has to be finished in about 2 months.

I can't provide any screenshots yet... But I will, soon enough :-)

After the experiment is over, I will keep the "game engine" as a "pet project" to play around with, and/or reuse it in another game. In a later stage, I might even open source it...