/demoscene-starter-kits

Want to start making demos but don't know where to begin? Look no further!

Primary LanguageC

Demoscene starter kits

This project needs your help – read more below!

This repository contains example code and other helpful materials to get you started on developing demoscene productions on various platforms.

This project is aimed at two totally different target groups:

  1. Total beginners who have no previous democoding (or graphics coding for that matter) experience.
  2. Demoscene "veterans" who are thinking about doing a production on a new platform.

Beginners

If you have little to none graphics programming experience, Processing is the best way to get started. It has an intuitive API, good documentation, lots of examples and most importantly, you can get your first visuals on screen in 10 minutes. Also, there's very little boilerplate code you need to write – instead, you can focus on developing content for your awesome first demo!

Demoscene veterans

Read more below – this project is currently just starting up, so help is needed!

About this project

Originally I started this project while I was organizing Graffathon, a demoscene / computer graphics hackathon targeted at beginners. Initially, this repository was only meant to be a place where Graffathon attendees could find example code for starting demo development with Processing. However, I quickly realized that there isn:w't a place that documents how to start developing demos on various platforms, so I renamed the project as demoscene-starter-kits and shifted the focus away from Processing to all platforms.

My vision for this project is to become the go-to resource for anyone who's interested in developing demos for any platform – be it Windows (DX / OpenGL / ...), Linux, C64, Amiga, Atari or something else. For every platform all of the following should hold true:

  • At least one toolchain is documented well. This includes where to get the tools, how to install and use them and how to use them to create the final release. Everything doesn't need to be documented; links to good resources are just as helpful.
  • Barebones starting point (clean demo with only boilerplate code but no or minimal content) is provided (or multiple different versions of it).
  • Some examples of effects are available.
  • There are links to good resources outside this project that people can visit for more information. Also, book recommendations can be helpful.

How can you help?

Due to nature of this project many helpful hands are needed, both beginner and experienced!

You can do one of the following:

  1. Document. If you have know-how of how to develop demos on some platform, please take some time and document your tools and best practises.
  2. Improve. The idea is to provide the best possible starting point for every platform. If you think something could be improved, please do so! If you don't have time to implement the improvements by yourself, please create an issue.
  3. Test. Just read through the documentation of any platform and see if you can follow it. Spotted any errors or had some trouble following the guide? Raise an issue or submit a patch.

Remember: the idea is to just provide a starting point and tips for the interested and help them begin the development – you don't need to document everything there is. Any guidelines are more than appreciated!

Technical notes

The Minim library may not be installed which will result in a library not found error. Follow the instructions here to install https://github.com/ddf/Minim

What is demoscene?

From Wikipedia:

The demoscene is a computer art subculture that specializes in producing demos, which are audio-visual presentations that run in real-time on a computer. The main goal of a demo is to show off programming, artistic, and musical skills.