Languages used in demos?
category: general [glöplog]
Dutch language works best for demos
Quote:
Struggling with pointers seems to be a thing that only happens to people who start with C or higher level languages.
That's because C has an amazingly stupid syntax for them.
Quote:
That's because C has an amazingly stupid syntax for them.
Was there a better implementation for points in 1972?
I use a mix of C (the logic) and Assembly (the time critical parts), so I can enjoy the best of the 2 worlds.
In general I believe that the programming language is one of the tools needed.
In general I believe that the programming language is one of the tools needed.
Most of the scrolltexts are written in English
At one time I had all system setup in assembly and the time critical parts in C as I was rebuilding from a 100% asm demo codebase. The demo “Software makes the dance foam oil” was using this architecture anomaly
I like to roll my own. Apart from being fun and challenging, making your own language has a number of advantages (all of which are generally advantages of making demotools):
- Because the concepts in the language can more closely match the central concepts in the domain (e.g. it can have closely integrated mechanisms for expressing time) it is more natural to express the demo, enhancing the creative process.
- It can be easier to understand than an ordinary programming language, which means you can give it to someone who has not spent many years learning to code demos, and they can make something with it.
- It is usually more amenable to integration into a tool with instant visual feedback. Once you have tried not having to recompile and restart your demo on every change, you are never going back. This can also be done with embeddable languages such as Lua. And for your shaders of course, if you are targeting that kind of platform.
Examples:
Mentor and I made a demotool with a visual scripting language. It's boxes and connections rather than text, but the same principles apply. It was used for Atrium, Ikadalawampu, the Wishful trilogy and many others.
Rose is a turtle-style language for Amiga. Hoffman picked it up and did wonders with it.
And, as Ferris mentioned, Phosphorizer was written in a simple, Rose-inspired scripting language embedded into Lua. I call it o, since R is already taken. ;)
I generally compile the DSL into bytecode to be included in the intro and compiled to machine code on startup. This also has the advantage of being smaller than expressing the same thing with fully compiled code directly.
- Because the concepts in the language can more closely match the central concepts in the domain (e.g. it can have closely integrated mechanisms for expressing time) it is more natural to express the demo, enhancing the creative process.
- It can be easier to understand than an ordinary programming language, which means you can give it to someone who has not spent many years learning to code demos, and they can make something with it.
- It is usually more amenable to integration into a tool with instant visual feedback. Once you have tried not having to recompile and restart your demo on every change, you are never going back. This can also be done with embeddable languages such as Lua. And for your shaders of course, if you are targeting that kind of platform.
Examples:
Mentor and I made a demotool with a visual scripting language. It's boxes and connections rather than text, but the same principles apply. It was used for Atrium, Ikadalawampu, the Wishful trilogy and many others.
Rose is a turtle-style language for Amiga. Hoffman picked it up and did wonders with it.
And, as Ferris mentioned, Phosphorizer was written in a simple, Rose-inspired scripting language embedded into Lua. I call it o, since R is already taken. ;)
I generally compile the DSL into bytecode to be included in the intro and compiled to machine code on startup. This also has the advantage of being smaller than expressing the same thing with fully compiled code directly.
Hi,
Gargaj mentioned Rust. Could any of you please point to some demos written in Rust? I'm currently learning Rust and I might give it a go to writing a demo in Rust myself. I'd just like to see what the state of the art is.
Thanks!
Gargaj mentioned Rust. Could any of you please point to some demos written in Rust? I'm currently learning Rust and I might give it a go to writing a demo in Rust myself. I'd just like to see what the state of the art is.
Thanks!
I wrote a 32k intro in Rust together with QM at some point - linky
not good or anything, but proof of concept: "unsafe & use win32+opengl as usual." synth is proper rust tho.
not good or anything, but proof of concept: "unsafe & use win32+opengl as usual." synth is proper rust tho.
I don't use Rust anymore however, C/Assembly for the 4k stuff, and C++ for the 32k intros are my weapons of choice. Code is not something I design to touch on a regular basis anyways. Rather just swap shader, track & config files.
Perhaps not a suggestion on what to use, but the now forgotten CoolBasic was pretty neat for beginning graphics programming. The main allure of the language was the fully Finnish manual, and thus most of the users were Finnish teens. The performance characteristics were kind of wtf, the language borrowed its byte code interpreter from Blitz Basic and accelerated some things in some way but not everything (no real 3D acceleration at least) and the compiler didn't optimize much. It's mainly a game programming language, but the forums used to have an active group of people writing interesting graphics tricks. We had a few demo compos back then as well, from prods that I worked on I most fondly remember Linear Minds.