Welcome to ZilchHub, the open source project development hub for the Zilch Engine community. The Zilch Engine is a powerful simulation engine custom built in C++ by DigiPen Research & Development, a team of DigiPen graduates.
Download the Engine
Installing the Zilch Engine (and Zilch Launcher)
Zilch Engine is downloaded through a separate application called the Zilch Launcher, which provides features such as multiple build installation and access, new project creation, and a browser for recent projects.
Zilch Engine Features
The Zilch Engine can be used to make simulations of any kind. Projects range from simple prototypes to professional 2D and 3D games, simple physics or graphics demonstrations to robust, realistic simulations. Versatility of the engine is made possible by the features in the following sections:
Editor
- A discrete launcher that provides access to all project and engine builds
- Editor modes customized for 2D and 3D projects
- Full-featured text editor with dozens of hotkeys and configuration options
Architecture
- Component-based architecture applied across the engine in the form of :
- NadaComponents for game object behaviors
- NadaFragment for fragment, vertex, and geometry shaders
- ContentComponents for Resources meta data
Graphics
- Fully modifiable, scripted rendering pipeline
- With a physically-based renderer provided as the default renderer
- Dedicated render thread
Physics
- Custom-built, three-dimensional, constraint-based physics engine
- Regions that can apply both pre-defined and user-defined PhysicsEffects
- Robust, customizable joint system
Audio
- Scripted, node-based DST system
- 3D sound positioning and attenuation
Nada
- High-level scripting and shader language
Learning the Zilch Engine
Not all users have the same level of experience, with Zilch Engine or game engines in general. The following guidelines and recommendations provide recommendations for any level of user with different types of background and experience to become productive in Zilch.
Novice Users
So you have never made a game or even programmed before. No problem! We have a sequence of tutorials and manual pages that will instruct you in the basics of both Zilch and game programming in general. We suggest users of this level take the following steps to get started.
New To Everything
- The standard tutorial sequence will get you up and interacting with the Editor in the shortest amount of time possible. It is an excellent place to start if you want to dive right in.
- The ZilchManual contains a wealth of information If you find yourself curious about about a certain major engine system, imported or generated resource, or concept, such as components, Events, or archetypes.
Some Prior Game Engine Experience
- If you have some experience with another game engine, you may wish to create a new project and start playing around. The best way to learn is to do and experiment.
- If you find yourself stuck or curious about a part of the engine you're unfamiliar with, check out the ZilchManual for detailed coverage of the major systems, individual elements, and concepts unique to the Zilch Engine.
Once you've mastered the basics taught in the Basics and Beginner tutorial_sequences and feel comfortable with the Editor UI and essential features, continue down to Intermediate Users.
Intermediate Users
If you have some experience making games and programming, you will be able to pick things up fairly quickly.
- Start with the nada_in_zilch. You will probably want to jump into scripting pretty quickly.
- Read the zilchmanual starting with the editor, architecture, and gameplay sections.
- Browse physics, editor and audio sections for topics that are applicable to your project.
- Read the remaining zilchmanual sections at your own pace.
- If you are not fully confident in your ability to start operating in the engine, try out some tutorials.
- Remember that you can always look things up in the code_reference