Languages used in demos?
category: general [glöplog]
What languages are the most used in different types of demos?
aaaalso, our university forces us to learn this language called Scheme which is quite a pain in the ass to use. can i console myself that it has use in the demoscene, or not? i know that GIMP uses a variant of it.
aaaalso, our university forces us to learn this language called Scheme which is quite a pain in the ass to use. can i console myself that it has use in the demoscene, or not? i know that GIMP uses a variant of it.
On PC generally C/C++ is the most common, stuff like C# and Rust are moderately popular, hints of ASM for sizecoding, GLSL/HLSL for shaders, and obviously JS for web stuff.
For retro/oldskool platforms, mostly ASM with sometimes some higher level stuff for glue code.
Generally though, anything that produces some sort of executable that can open a window can be used to make a demo with.
For retro/oldskool platforms, mostly ASM with sometimes some higher level stuff for glue code.
Generally though, anything that produces some sort of executable that can open a window can be used to make a demo with.
making a demo using scheme is a great trick to teach yourself / study scheme for school. the concepts from one language are transferrable to others
TL;DR go make a demo about it
TL;DR go make a demo about it
let's try powershell for demo
Most demos I've seen have text in english for some reason.
<badum-tshihh>
<badum-tshihh>
Anyway, as long as you have access to time, audio and some kind of visuals, you can make a demo. Add user input and you can make a game.
I know that at least one 4k intro was made by creating a lisp virtual machine and writing the demo itself in lisp.. =) (to fit in 4k some executable packer was used, naturally)
I know that at least one 4k intro was made by creating a lisp virtual machine and writing the demo itself in lisp.. =) (to fit in 4k some executable packer was used, naturally)
sol: that got me interested in that 4k intro, what is it called?
Quote:
definitely this, and I'll add that for oldschool stuff (and newschool stuff to some degree) relies on a lot of pre-baking of assets/tables/etc, and that can be done in basically any appropriate language, so here you see java/f#/haskell/literally whatever as well.On PC generally C/C++ is the most common, stuff like C# and Rust are moderately popular, hints of ASM for sizecoding, GLSL/HLSL for shaders, and obviously JS for web stuff.
For retro/oldskool platforms, mostly ASM with sometimes some higher level stuff for glue code.
Generally though, anything that produces some sort of executable that can open a window can be used to make a demo with.
Quote:
somewhat related, the visuals in this oldskool 4k were written in a custom DSL embedded in lua, which was compiled to bytecode, which was shipped in the intro along with a tiny runtime and music stuff, and finally compressed. So again, lots of pre-baking, and all kinds of wtf tools.I know that at least one 4k intro was made by creating a lisp virtual machine and writing the demo itself in lisp.. =) (to fit in 4k some executable packer was used, naturally)
this was similarly written in an f# DSL/compiled to bytecode/etc.
last thing, while not exactly scheme, a good friend of mine wrote and maintains CEPL, a repl+opengl wrapper for common lisp, which is quite cool.
There's also stuff like Compofiller Studio and Blossom that more-or-less remove your need for C/C++ coding as they consume shaders and music directly and take care of the actual compiling/building an executable for you.
Compofiller Studio completely removes the need for C/C++ coding, because the exe runtime code is 100% x86 assembly, and the build+configuration scripts are really GNU Make compatible makefiles (which you can also build with GNU Make, if needed). The GLSL shaders are baked/incbinned into the exe. And the "IDE" is written in Object Pascal! ;)
Only if you want to write custom extensions such as the MP3 music thing, you might use C/C++, but that's optional.
Only if you want to write custom extensions such as the MP3 music thing, you might use C/C++, but that's optional.
Almost all demos are written in English, but there are a few in Finnish.
You don't need a language while you're using Whitespace.
Some demos use strong language.
Some demos are ribbed for your pleasure.
Well all I know is this prod uses ALL THE LANGUAGES!
Is there a demo written in machine code?
That would be more an academic exercise than anything - there's virtually no difference between using an assembler and writing machine code directly.
That said, for example a lot of C64 demos or 256 byte intros have small segments in them written in machine code (as byte sequences) because it enables some tricks - like jumping into the "middle" of a carefully constructed multi-byte opcode sequence to achieve cycle exact timing, or reusing code as data and vice versa for size.
That said, for example a lot of C64 demos or 256 byte intros have small segments in them written in machine code (as byte sequences) because it enables some tricks - like jumping into the "middle" of a carefully constructed multi-byte opcode sequence to achieve cycle exact timing, or reusing code as data and vice versa for size.
All my demos are written in machine code, just not by hand.
I recall g0blinish said he had to type one of his intros into some obscure old school platform using straight up machine code bytes, due to the lack of an assembler/tooling, but maybe he can confirm.
All my demos are written in machine code, just using a z80 assembler
Several Amstrad CPC demos (even some impressive for the period) before the 90's where written in machine code
Several Amstrad CPC demos (even some impressive for the period) before the 90's where written in machine code
Bl0bnik: If you are a beginner in democoding learning to code effects is more important than the choice of programming language.
Other than that: If you like to understand how your CPU really works I recommend to learn C (pointers..) and/or Asm later. Most other languages will lead you into abstraction territory, making you a framework slave ;-)
Other than that: If you like to understand how your CPU really works I recommend to learn C (pointers..) and/or Asm later. Most other languages will lead you into abstraction territory, making you a framework slave ;-)
Quote:
All my demos are written in machine code, just not by hand.
what about your intros?
Quote:
Other than that: If you like to understand how your CPU really works I recommend to learn C (pointers..) and/or Asm later.
I think it is better to do it the other way around.
I've never seen anyone who started with Asm to struggle with pointers, it's just very intuitive how it works there.
Struggling with pointers seems to be a thing that only happens to people who start with C or higher level languages.