the Fiddler's picture

The Open Toolkit demo, stage 1: brainstorming

Project:The Open Toolkit demo
Version:1.x-dev
Component:Miscellaneous
Category:task
Priority:normal
Assigned:Unassigned
Status:open
Description

With 1.0 beta-1 out of the door, it is time to open the discussion on the OpenTK demo.

Why do we even need a demo?
In my opinion, a demo is useful for three main reasons:

  1. to attract attention and sell the features of the library
  2. to provide a concrete application as a reference for users and as a test case for the library itself
  3. to act as an experimental testbed, where new features must prove themselves before becoming part of the core library

There are other reasons for creating a demo application, but the bottom line is that this will be beneficial for both users and developers of OpenTK.

What will the demo contain?
This is ultimately up to the community to decide. A few rough ideas to get us started:

  • it should be possible to implement in a reasonable time frame
  • light on artwork, to avoid large downloads (can it fit in 10MB?)
  • (related to the above) procedural generation for graphics?
  • scalable to older hardware (to the extent possible)
  • it should be something interesting, i.e. something more than "yet-another-parallax-demo"

What could fit inside those constraints?

One idea: split-screen, 2-player deathmatch. Each player controls an aircraft and tries to shoot down his opponent. Can take advantage of simple physics and procedural terrain generation. Relatively simple to implement.

Other ideas?

Can I help with the demo?
Glad you asked! The first step is to decide what the demo will be (brainstorm!) The second step is to define with a very rough design document (which features it will include and which features it will not include). The final step is to implement this.

This topic is about the first step, so share your ideas!

Where can I get the source code?
Once the code becomes more mature, proper packages will be made available. Until then:

  1. Install an IDE (Visual Studio 2008 Express Edition, MonoDevelop 2.0 & 2.2 and SharpDevelop 3.0 are all fine. Higher versions will work, too.)
  2. Install git (Windows, Mac OS X, or "sudo apt-get install git-core" for Ubuntu).
  3. Run git clone git://opentk.git.sourceforge.net/gitroot/opentk/opentk from a terminal, or from the git gui (on Windows, right click a folder and select "Git GUI here").
  4. Open Demo.sln and hack at will!
  5. git commit -a . to commit your changes to your local branch (or click the "commit" button in Visual Studio).

It will immediately become obvious that the code is currently pre-alpha quality. It contains an incomplete but usable graphics abstraction layer, as well as a working fractal terrain generator (if you know how to perform correct normal mapping on terrain, please drop a hint!)


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Inertia's picture

#21

Suppose there's 5 people willing to work on a game and 5 willing to work on an effect demo ... why not do both?

kvark's picture

#22

Current list of people willing to contribute:
The Fiddler(of course)
pokemoen
Inertia(?)
AdrianPi
flopoloco(?)
[your name here]

Not that 5+5 scheme you supposed.
It might not be enough even for one little project (assuming everyone has a full-time job, and Fiddler has another tasks to do).

edit:
Sorry if I missed you.

AdrianPi's picture

#23

I guess a game is something really big to cope with, but it can be a small playable demo. Something between a complete game and a eye-candy demo.

Inertia's picture

#24

@kvark: it's just "what if...?". Communicating through forums is slow and the weekend just started.