BlockLeftTop, PRELOAD BlockLeftBottom, PRELOAD BlockLeftStretch, PRELOAD BlockTop, PRELOAD BlockBottom, PRELOAD BlockStretch, PRELOAD BlockRightTop, PRELOAD BlockRightBottom, PRELOAD BlockRightStretch, PRELOAD
DeltaEngine

Dungeon Quest Updated with Source Code now

by Benjamin Nitschke 31. July 2007 06:35
Hey! Finally some News about Game Development again. All this Silverlight and VS2008 stuff is nice, but XNA has become pretty popular recently (lots of posts in blogs, more articles everywhere and a lot more news).

Anyway, I wanted to release the Dungeon Quest Source Code for several months now, but I never found the time to package everything up, do some cleanup and release it. Recently some people have requested the source code and emails keep coming in. To finally make everyone happy, here is the new Dungeon Quest version with some nice additions, much cleaner code with quite a lot of refactoring and some nice unit tests (see below). This version also does not require PS3.0 anymore, you can now run Dungeon Quest on a PS2.0 graphic card!

First of all: The downloads, all of them can be found on XnaProjects.net too:
  • DungeonQuestSetup.exe (40 MB): Game installer for Windows with everything you need to play.

  • DungeonQuestSourceCodeAndContent.zip (103 MB): Full Dungeon Quest source code with all content files.
    Please note that the collada files (xml text format) and the sound/music are very big (extracted ~200 MB).
    This download also contains the full game in the bin/debug/ directory, you only need to download this file
    for development and testing.
    Contains solution and project files for VS2005, VC# Express (XNA Express) and Xbox 360!

  • DungeonQuest.wmv (21 MB): Higher quality version of the YouTube video below

Here is the good old YouTube video from the game to give you a first view if you don't know about Dungeon Quest yet.



If you want to drive into the source code I highly recommend starting all the unit tests in Program.cs after checking out the directory structure of the project:

  • UIManager.TestUI();
    Show the graphical user interface of the game (boxes for health, player values, rpg levels, etc.)

  • ShaderTests.TestNormalMappingShader();
    Test the normal mapping shader, for more shader tests check out the XNA Rocket Commander and XNA Racing Game projects.

  • ColladaModel.TestCaveColladaModelScene();
    This tests the big cave collada file (80 MB) and renders it with the cave shader. Looks very nice.

  • ColladaModel.TestLoadStaticModel();
    This is straight from the SkiningColladaModelsWithXNA project from February. This test show shows a static collada model.

  • AnimatedColladaModel.TestPlayerColladaModelScene();
    Also from the SkinningColladaModelsWithXNA project. This shows the player or the goblins running, dying, staying, etc.
    This is a useful unit test to test animations for skinned collada models.

  • PostScreenGlow.TestPostScreenGlow();
    Test post screen glow, more details can be found in the Rocket Commander tutorials and most of my XNA projects.

  • PlaneRenderer.TestRenderingPlaneXY();
    Test to render a plane on the ground, which is also used in some other tests. Also good for testing shaders.

  • ShadowMapShader.TestShadowMapping();
    Test Shadow Mapping unit test, pretty complex stuff, but kinda nice for this game. More details can be found in my book, this is a complex topic and involves a lot of finetuning to get it right.

  • EffectManager.TestEffects();
    Since DungeonQuest uses some effects for fire, smoke, blood, etc. it has a simple effect system build in. Use this test to see whats possible and to extend the effect system.

  • StringHelper.TestConvertStringToFloatArray();
    An example of a dynamic unit test, which can also be started from NUnit or TestDriven.Net (right click if you have the addin installed).

  • Sound.TestPlaySounds();
    And another test to play the sound effects used in the game, just press A, B, 1, 2, 3, etc. to play sounds.

  • ColladaModel.TestCaveColladaModelSceneSplitScreen();
    This test shows how the engine supports split screen support, but it was never fully implemented into the game itself yet.
    To finish this the game logic + handling input from 2nd player has to be implemented.

Some Screenshots from the last post on my blog about Dungeon Quest:


Ok, let's get started. What is this guy doing there. He doesn't look very friendly, maybe it is better to hit him in the head!


First quest completed. This key is important to open the door to the second level.


Nonstop fighting action. Well, at least if you don't lose your way.


This is how it looks like after I got angry. I told those guys, don't start any fights!


Ohh no. I did not use all my skills (see right side) and this Ogre killed me too quickly. I guess I have to start over.


The credit screen when the game ends. Notice my book :)


No reason to stop, let's start over and try again. The fight is continuing. The game is not that hard, you just have to use all skills and avoid being hit by fireballs or big enemies when you have low hit points.

I hope you like Dungeon Quest and that the source code can be useful for your XNA projects. Enjoy!

Comments


7/31/2007 1:03:56 PM #

The game doesn't work on Vista! The installer cannot install the XNA frmework. I've installed the XNS Refresh manually then, and then when I loaded the game it doen't even show up, and Vista said that the application stopped working.Frown

Poke80728 | Reply



7/31/2007 6:24:52 PM #

I get this error, there is probably an easy fix to this.

An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module.

Additional information: File or assembly name 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089', or one of its dependencies, was not found.

Alfons | Reply



7/31/2007 6:59:26 PM #

Hi abi.

Everything works nice (good old xp ^^)
Thanks for the nice code it helps much
for my own fantasy RPG. ok it wouldn't be
an only dungeon rpg but it helps!

regards from the Wedemark
Marcel

Marcel Friedrichs | Reply



8/1/2007 8:05:32 PM #

Hello,

I was waiting for this code for a long time but sadly it doesn't works, all I got is a black screen.I've tried to run it on a Vista laptop with integrated graphics controller, Intel 945GM chipset.

Can anybody confirm that the integrated chipset is not able to run the shaders. Intel says the chipse supports shader 2.0:
www.intel.com/support/graphics/sb/cs-014257.htm

Log.txt shows lots of "Failed to execute GameScreen Error: System.InvalidOperationException : The method call is invalid."
First error in GraphicsDevice.DrawIndexedPrimitives and all the others in Graphics.Effect.set_CurrentTechnique at DungeonQuest.Shaders.ShadowMapShader.GenerateShadows (ShadowMapShader.cs:437)

Rares | Reply



8/2/2007 8:07:12 AM #

Poke80728: Dungeon Quest runs fine on Vista 32 and 64 bit. Not sure what the issue is, try to install XNA Refresh and XNA Game Studio Express (which should install all necessary files).

Alfons: You do not have .NET 2.0 installed (at least that is what the error is telling us). If you have Vista, it is already installed. For XP, install the .NET 2.0 Redistributable from here:
www.microsoft.com/.../details.aspx

Rares: I would say your graphic card is just too weak, check out this list of supported graphic cards for PixelShader 2.x:
en.wikipedia.org/.../List_of_computer_games_that_require_Pixel_Shaders

Keep in mind that the Dungeon Quest Game was solely developed for the Xbox 360, it originally required PS 3.0 and both a fast GPU and a fast CPU. I just added compatibility to Pixel Shader 2.a by request from many emails. It runs on NVidia FX (Geforce 5 and higher) and ATI 9800 and upwards, but it is slow on those old cards and even older cards might not work at all.

Tips to get it to work:
- Run the unit tests first and see what works, what doesn't work.
- Disable as much as possible, keep the resolution small
- I tested it on many computers and most of them seem to support ps 2.a.
Using PS 2.0 is also possible by reducing the number of instructions
in the pixel shaders. If you want you could download FX Composer from
NVidia, change the Pixel_Shader_2_a setting in all .fx shader files to
Pixel_Shader_2_0. The easiest way to make this work would be to reduce
the max. number of lights (MAX_NUMBER_OF_LIGHTS_PS20). Doing this
involves some testing, you should be able to compile the shader in FX
Composer first, then test it in the game.

Good luck.

abi | Reply



8/2/2007 6:01:13 PM #

I have all the requirements on Vista (pixel shaders 3.0, NET 2.0, XNA Framework refresh installed), except XNA Game Studio Express.

The game doesn't start. Vista said that the application stopped working. Please make it works even without the XNA Game Studio Express installed. Portability is the number one feature of .NET.

Thx!

Poke80728 | Reply



8/11/2007 8:27:59 PM #

Thanks for releasing the code Ben, it's greatly appreciated.

Dominique | Reply



8/21/2007 6:57:43 PM #

Yay, i have been waiting for this for quite a while. Thanks for releasing the code!

Tzirrit | Reply



10/24/2007 5:22:43 PM #

Thank you for posting the code, it's a wonderful gesture!

Unfortunately, on the three machines I've been able to try it on, the collision response simply doesn't work.  The character invariably falls through the floor as soon as you move him.

Nevertheless, it's good to be able to look at all of the code, and we appreciate it.

Takuan Daikon | Reply



12/26/2007 12:35:34 AM #

Can't get it to run on XNA GS 2.0.

Can you do an update for XNA GS2.0? =) Would be awesome to have.

Spyrrho | Reply



1/4/2008 8:02:38 PM #

Hey Ben.  I love your work ethic and your contributions to the XNA community.  Quick question - do you model yourself or do you have an artist/other resource available?

Thanks!

Ethan | Reply



11/19/2009 2:49:46 PM #

I guess there's always an easier way ...

payday loans | Reply



12/26/2009 7:55:44 AM #

is there a valid link a mirror or something for this? cause it just brings me back to the games page

thanks

mike | Reply



1/7/2010 2:16:26 PM #

Nice resource. rss feed added

faxless payday loans | Reply



2/19/2010 11:45:20 PM #

It's just amazing. Thank you so much for your help. I will reccomend you to my collegues.


La martina

La Martina | Reply



4/12/2010 12:55:34 PM #

Wow what a nice post. You have shared some important videos as well as link for downloading which are really incredible. I like this post and bookmark the site for further reading. Thanks a lot for sharing.

Axa Annuities | Reply



4/18/2010 5:36:00 PM #

Blown away by the content and quality of your site.  I like the layout and the archives.  Keep up the good stuff, ill check you out again soon.

us | Reply



4/28/2010 11:35:27 AM #

I\'m happy I found this blog, I couldnt discover any info on this subject matter prior to. I also run a site and if you want to ever serious in a little bit of guest writing for me if possible feel free to let me know, i\'m always look for people to check out my site. Please stop by and leave a comment sometime!

Rapidshare | Reply



5/17/2010 3:49:13 AM #

I had got a dream to start my own business, nevertheless I didn't have enough of cash to do that. Thank God my fellow told to take the <a href="lowest-rate-loans.com">loans</a>. Hence I received the commercial loan and made real my desire.

LindaLE31 | Reply


Add comment




biuquote
  • Comment
  • Preview
Loading



Disclaimer: The opinions expressed in this blog are own personal opinions and do not represent the companies view.
© 2000-2011 exDream GmbH & MobileBits GmbH. All rights reserved. Legal/Impressum

Poll

Which platform should Soulcraft be released on next?











Show Results Poll Archive

Recent Games

Soulcraft

Fireburst

Jobs @ exDream

Calendar

<<  February 2012  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011