FAQs and Troubleshooting for version v0.263 and earlier
- I'm getting an error when building the project that says 'error loading pipeline assembly: Nuclex.UserInterface.dll'
- Sadly due to issues with Windows Vista/7/8 and Visual Studio 2010 and newer this bug is something that I cannot fix on my end, you'll have to do a bit of work. Please follow these steps to fix the issue:
- Find the folder named QuickStart Engine vX.XXX/target (where X.XXX is the version you've downloaded). Within this folder if you find a folder named 'Windows' then delete it.
- Now find the folder named QuickStart Engine vX.XXX/framework/code/target. If you find a 'Windows' folder here, delete it.
- Navigate to the folder named QuickStart Engine v.X.XXX/framework/3rdPartyLibraries/Nuclex.GUI. Follow these steps for each .dll file in this folder:
- Right click the .dll file
- Click Properties
- Near the bottom of this window you'll see an Unblock button, click that.
- Now click 'OK' or 'Apply'
- Now close Visual Studio if you have it open, and then re-open the project.
- Rebuild the project. (Don't just 'build', make sure you 'rebuild' by going to Build->Rebuild Solution from within Visual Studio.
- I'm getting an error when building the project, that says 'A project with an Output Type of Class Library cannot be started directly'
- You need to set your startup project to 'QuickStartSampleGame_Windows', otherwise you're trying to run the engine itself, which is a library that is meant to be used by a game project, like the sample included with the engine.
- I get an error when running the engine that says "Your current graphics card does not support the XNA HiDef profile"
- This means your card does not support the full range of DX10 features. You will need to set the engine to run in DX9 in order to run it.
- Right-click on the QuickStartSampleGame_Windows project (or your own project), and go to 'Properties'. Then in the newly opened properties window, go to 'XNA Game Studio', then under the 'Game Profile' section, choose 'Use Reach
to access a limited API set supported by Windows Phone, Xbox 360, and Windows'.
- I'm getting an error when building the project that says 'File contains Microsoft.Xna.Framework.Graphics.Model but trying to load as QuickStart.Graphics.StaticModel'
- Don't forget that all .fbx and .x content files need to have their Content Processor setting changed to use 'QuickStart Static Model Processor'. Just click on the asset, and in the properties window you should see the 'Content Processor' setting that you
- How can I package my game so someone else can play it?
- There are ways to create professional installers, we recommend using a search engine to search for that, as it is somewhat in depth. Or we recommend searching for an installer program that will package your game into an installer for you.
- If you want to package your game for others that have XNA installed
- Right-click on your project, within Visual Studio, and then click 'Package as XNA Creators Club Game'. This will create a .ccgame file in your project's target output directory.
- To open a .ccgame file you must have XNA 4.0 installed. If you want a simple .zip file that users can just unzip and run, then open your .ccgame file you created, and copy the contents into a folder that is named after your game. If you're using Windows
Vista or Windows 7 you can right-click on the folder and click 'Send to'->'Compressed (zipped) folder'. If you have Windows XP then you'll need to download a zip utility to make it into a .zip file.
- For somebody to run your game they may have download the .NET 4.0 distributable and XNA 4.0 runtime. These are the types of things packaging your game in an installer would avoid, as the installer could include those and install them for the user, or at
least open up links to download them for the user.
- You may want to create two packages for the game, one for DX9, and another for DX10. DX9 will run on most computers but will be missing shadow mapping and will be lower quality. Just right-click on your project, go to 'Properties'->'XNA Game Studio'->'Use
Reach...' for DX9, or selected 'Use HiDef...' for DX10.
- Why can’t I see my Entity in the world?
- Did you give it a Render Component?
- Read the Render Component section of the tutorial. If you didn’t attach a Render Component then there is no model on the Entity to be rendered.
- Did you pass it to the Scene Manager?
- You need to make sure to add the Entity to the SceneManager after you’ve created it, or you’ll never see it in the world, because it won’t exist in the world.
- What position did you set it at?
- If you don’t give the Entity a position where you can find it, then it may be out of view. If you have given your Entity physics that respond to gravity, and you didn’t place it over the terrain, it may have fallen out of the world.
- If you're using the Sample demo that came with the engine, you can press 'Tab' to attach to the next entity in the list of all entities, so keep pressing tab until you attach the the entity you have created.
- Why isn’t my Entity responding to gravity?
- Did you give it a Physics Component?
- Without a physics component, an Entity has no physics, and therefore will not be affected by gravity.
- Was it PhantomPhysicsComponent? If so, they’re not supposed to respond to gravity.
- Did you pass it to the SceneManager?
- If you loaded your entity dynamically (rather than through a definition XML file) then you need to make sure to add the Entity to the Scene Manager after you’ve created it, or you’ll never see it in the world, because it won’t exist in
the world, just in memory.
- What type of physics does it have?
- If your physics has a triangle-mesh shape it will not respond to gravity (this is not supported by the JigLibX physics engine yet). Phantom physics are also non-dynamic, and can only be moved by using a MsgSetPosition.
- If your physics is set to be non-dynamic/non-movable, it will not respond to gravity. This is set in the constructor of the physics component, and for all shapes that do not use triangle mesh, this setting can be changed at any time using the MsgGetControlledEntity message.
- If loading from a definition XML it is a parameter within the definition called 'IsDynamic', however phantom and terrain physics are always static. Phantom physics are also non-dynamic, and can only be moved by using a MsgSetPosition.
- Can I load special physics models (non-primitive shapes)?
- Yes. When loading a physics component, if you choose TriangleMesh as your shape type, the physics component will attempt to use the render mesh vertices to make a physics mesh. You must give the physics mesh the name of the model you want to use for your
- Why is my character's physics jittering when I move?
- This will occur if your physics component comes before your render component in the list of active components on your entity, which is entirely by chance (whichever component was activated first will come first on the list), AND if you're not running at
a fixed framerate.
- The suggestion is simply to change your settings to use a fixed framerate, the only reason not to used a fixed framerate is for competitive FPS type games for some players want the fastest input response as possible, or if you want to do basic profiling
by watching framerate numbers rise and fall based on what is occurring in your game.
- To set your framerate to fixed open your Settings.XML file and set 'FixedFramerate' to true.
- Where are some of the manager classes like 'InputManager' loaded?
- Classes derived from BaseManager are loaded by the ConfigurationManager. What interfaces are loaded is set in the Configuration.xml file which is in framework/code/Common. This file is not included in the solution so you will need to browse to it in Windows
- What is NOT supported by this engine?
- A lot. This game engine is a non-profit open-source project, so that means it gets worked on whenever we get time. And by ‘we’, I mean whoever is willing to work on it (which is usually just one person). There is quite a bit planned for the
engine, but a game engine is no small chunk of code, it takes a ton of time.
- For a list of supported features you can go to the Downloads section, and then on the right-hand side window where it says 'Other Downloads', click 'Planned'.
- Here is a list of major features I can think of that we don’t currently have:
- A.I. (artificial intelligence), for bots
- Animation (bone or skinned)
- Skyboxes (not to be confused with Skydomes)
- Lighting system (a better one than what exists now)
- Projected textures
- Scene/World Editor
- XML Loading of Scenes
- Many optimizations like continuous LOD terrain, render model LODs, processing terrain smoothing in a content processor rather than at the start of the game
- And many more...