Search Wiki:

QuickStart Engine (3D Game Engine for XNA )

To download the engine, click the engine link in the current release section at the top-right of this section, or click on the 'Releases' tab. For the latest source code, click on the 'Source Code' tab at the top of the page. Note that the latest change set in the 'Source Code' tab is work-in-progress code and may not be as stable as the released source code. For the latest stable code, please see the 'Releases' tab.

Welcome to the QuickStart Engine Community Project

The QuickStart Engine is an engine designed to allow a programmer to get a 3D game started in XNA Game Studio as quick as possible. The engine is still in early development phase, and wouldn't technically meet the definition of Engine at this point. You will need to download XNA 2.0 in order to use this engine.

Our forums have moved!

We no longer use CodePlex for our forums, our new forum location is here: http://xnaquickstart.freeforums.org/portal.php. We'll be moving source control and downloads to SourceForge (likely) soon. CodePlex unfortunately has an inadequate way of handling source versioning, and so we must find something that will support it better. We will be leaving this site here for downloads and reference.

Two versions of the engine??

  • The original engine is the one you'll currently see in the screenshots and videos, any version up to v0.182b uses the original engine. The new engine is v0.19 and higher, please be aware that at this time the new engine has just as many, but different features. Many of the original engine features will be included in the new engine, but the new engine will have so much more, read about the new engine for more details!

Screenshots


A free, open-source, easy to use engine

The QuickStart Engine is designed with modularity in mind. It is setup on a component system, in which nearly all components are independant. For instance, if you want terrain, you simply add the terrain component and initialize it. Or if you wanted water, you would add the water component and initialize. If you wanted water with your terrain (such as lakes, oceans) you add both components, and then associate them. This allows the user to add only the components they will need in their game, to get them started right away. Please note this version is Windows only, but the new framework should be out sometime in November and will be compatible with both Windows and the Xbox360. New framework will also support many new features, like multi-threading, a gui, editor, and full rigid-body physics (although these features may not come all in one version) :)

Much is still lacking, but the point in having a community project is that anyone can pick it up and add components, or optimize what is already there. Of course there will be moderation of the versions to keep them in line with the original vision. If were lacking any functionality, we'll either be working on it, or someone from the community can join in and help. In case you're new to CodePlex, note that you don't need to be a member of this project to participate in discussions, and add or vote on issues. If you'd like to know what type of membership is required for specific things, check here.

Here is a 3m:22s video of QuickStart v0.17 which shows some of its features.

Getting Started

Please visit the Getting Started Tutorial for information on how to get up and running with the engine. Note the engine comes with a working sample already if you just want to start it up and play around.

Participation

  • If you would like to participate in the project, are motivated, and feel you may have something to contribute, just ask in the discussions section.
  • Also, please read over the Code Guidelines for the project before submitting any changes or additions. Thank you :)

Discussions

  • To check out discussion about the engine simply click the 'Discussions' tab near the top of the page.
  • If you have any questions about using the engine, or any other engine questions, feel free to ask in the Discussions section.
  • Also, there is a QuickStart thread in the XNA Creator's Club forums.

XNAtemplate015Sml2.jpg

Current main feature list ( as of v0.182a ):

Scene rendering system:

  • Terrain component:
    • Terrain automatically setup as a quad-tree. View culling of quad-tree is automatic as well, culls out any part of the terrain not in view. (Geomipmapping of terrain coming soon).
    • Terrain is setup on a LOD system. Which allows terrain to be rendered at a given LOD. This increases framerate substancially, especially when water component is active. This system is not currently dynamic (geomipmapping), but will be as soon as possible.
    • Terrain scaling feature allows for large terrain areas without using extremely large terrain heightmaps. For instance, using a scale of 2 on a 512x512 heightmap gives you the size of a 1024x1024 with only a 4th of the polygons, and it increases the effectiveness of the quad-tree culling as well. You lose a little terrain smoothness doing this, but at a scale around 2x you can barely notice. What is noticable is that the framerate almost doubles with large terrains.
    • Terrain self-shadows and responds with dynamic lighting in real-time.
    • Terrain accounts for diffuse, specular, and ambient lighting.
    • Terrain is built up a simple easy-to-create greyscale heightmap image. Terrain texture details are also by image. (Future support for model terrain and random terrain generation planned).
    • Built-in terrain smoothing, which is adjustable by the user.
    • Built-in terrain normal mapping, which accounts for specularity as well.
    • Terrain supports multi-texture splatting, which includes multi-texture normal mapping.
  • Sky component, SkyDome currently supports multi-layered skies and transparency and has built in rotation option for more realistic looking clouds. SkyBox is still in alpha, but does work. (Future support for SkyPlane component planned).
  • Water component (Credit: Riemer) will reflect any component in a scene, and also has refraction (Notice in the picture above, the reflection of the snow in the water, and the spheres that are reflected not only on the water, but refracted underneath: there are some at the bottom of the lake). Water also has adjustable speed, wavelength, wave height, and wind direction. (Some of these features are still in alpha)
  • Built-in snow and rain weather generators. Weather is based on a 3D particle system. Weather system allows you to set intensity. Weather is affected by the scene's gravity, wind, and lighting.
  • Artificial Intelligence
    • Currently only a simple example of how easy it should be to implement some basic A.I. into your game. A fully featured AI system is planned for later versions.

Misc other features:

  • Input component, comes setup for 4 Xbox360 gamepads, a mouse, and keyboard (repeating and single press).
  • Camera component, free, fixed, and arc-ball camera modes built-in. Fixed and arc-ball cameras are able to attach themself to any Entity object in the scene, or simply stay fixed to a single position.
  • An entity heirarchy, loads models, positions, rotations, scale, physics, and rendering all taken care of.
  • Built-in component system, similar to XNA's, but tailored to this template.
  • Built-in "garbage collection" for entities lets you mark entities as garbage and at the end of each frame they're removed from the scene.
  • Event logging system allows you get information about the engine in an output file. This system also allows you send messages for anything you'd need in your game. You can also designate all HUD messages be logged as well.
  • Water-based physics for buoyancy and water viscosity (currently in alpha).
  • Custom lighting class which takes care of dynamic direction changing (day/night cycles), which are easily customizable in length. (Point and Spot lights planned for future versions).
  • Custom timer class, good for setting a timer of specific length, starting timer on command, checking time elapsed, time left until set time is reached, and whether or not the time has reached the set time. Easy for setting actions that occur at specific intervals, or after a set amount of time. Timer class is basically and easy-to-use extension of the XNA timer.
  • 2D Hud component takes care of spritebatch work and includes a timed messaging system allowing you to post messages on the screen which fade out over time.
  • Sound manager and sound class are built-in. Makes it easy to load and play a sound. Sound component is not being demoed in the current version, but is ready for use.
  • Support for Multisampling (since v0.182a).

For a list of features being planned, look under the 'Issue Tracker' section/tab.

Note: The source distribution in the Source Code tab contains the XNA Template code, as well as prototyping work on the engine re-design. Please be aware that the prototype is not production code and is merely a sandbox for developers of this project. As such, it should not be used as a guide or indicator of the future direction of the project.

XNAtemplate016Sml.jpg
XNAtemplate015Sml.jpg
XNAtemplate014Sml.jpg
Last edited Apr 17 at 6:34 AM  by LordIkon, version 68
Updating...