Skip to content
gazed edited this page Mar 28, 2024 · 23 revisions
  1. Vu
  2. Manual

Vu

Vu, virtual universe, is a 3D engine used for creating computer games and as a base for learning 3D programming.

Vu strives to be easy to use and easy to understand. This is mainly acheived through a minimal feature set and the use of the Go programming language. Some benefits of being small are:

  • Fast setup. Setting up the development environment can be as easy as installing Go.
  • No dependencies. Vu includes everything it needs to eliminate third-party dependencies. There is a math library, physics simulation, OS device layer, rendering, asset loading, etc.

Problem Domain

There are limited options for anyone wishing to create 3D games with Go. Vu was created to as a stop gap and ideally would be retired once another Engine is available that meets the following goals:

  • An engine based on a modern compiled language with a spec that can be read in an afternoon.
  • An engine supporting games with a max compile time around one or two seconds.
  • An engine that uses a small technology footprint such that a text editor, and a compiler is all that is necessary to build and ship a game.
  • An engine that is maintainable and extendable and created from modules such that a single programmer is able to form a good understanding of any given part in a few days.
  • An engine with small working examples to explore each 3D programming concept: audio, rendering, physics, loading assets, devices, scene graphs, lighting, shaders, etc..

Background

Vu originated from the desire to create 3D applications using the Go language. Started in 2012 when Go version 1 became available, the engine was published on github in Sept of 2013.

Vu is used by Galvanized Logic to create 3D applications and games.

Thank You

Drops of Vu are made open source as a thank you and appreciation for the blogs and articles from the truly incredible and talented 3D and Go programming communities. The code base has links to background information and future possibilities.

Anything worthwhile in vu can be attributed directly to this wealth of online support. Any problems in vu are purely the responsibility of the author.

Manual

This wiki provides an overview of the vu engine. The intent is that each project will add/extend the functionality needed for that particular application. Many 3D subject areas, like Physics, or Shaders are complex and will require additional research and learning.

Overall the wiki pages attempt to be brief and provide links to engine examples as the starting point for further study. API details are available in the godocs.

Clone this wiki locally