pouët.net

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.
added on the 2021-06-21 23:29:50 by bl0bnik bl0bnik
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.
added on the 2021-06-21 23:38:37 by Gargaj Gargaj
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
let's try powershell for demo
added on the 2021-06-22 07:39:00 by g0blinish g0blinish
Most demos I've seen have text in english for some reason.

<badum-tshihh>
added on the 2021-06-22 08:30:13 by sol_hsa sol_hsa
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)
added on the 2021-06-22 08:33:09 by sol_hsa sol_hsa
sol: that got me interested in that 4k intro, what is it called?
Quote:
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.
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.

Quote:
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)
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.
added on the 2021-06-22 10:08:35 by ferris ferris
this was similarly written in an f# DSL/compiled to bytecode/etc.
added on the 2021-06-22 10:09:29 by ferris ferris
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.
added on the 2021-06-22 10:10:35 by ferris ferris
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.
added on the 2021-06-22 10:51:32 by Gargaj Gargaj
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.
added on the 2021-06-22 14:44:34 by yzi yzi
Almost all demos are written in English, but there are a few in Finnish.
added on the 2021-06-22 19:03:01 by xernobyl xernobyl
You don't need a language while you're using Whitespace.
added on the 2021-06-22 19:47:23 by 100bit 100bit
Some demos use strong language.
added on the 2021-06-23 04:57:50 by Y0Gi Y0Gi
Some demos are ribbed for your pleasure.
added on the 2021-06-23 08:16:45 by ccr ccr
Well all I know is this prod uses ALL THE LANGUAGES!
added on the 2021-06-23 09:40:58 by urs urs
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.
added on the 2021-06-23 11:58:21 by kb_ kb_
All my demos are written in machine code, just not by hand.
added on the 2021-06-23 12:01:39 by Gargaj Gargaj
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.
added on the 2021-06-23 13:57:38 by pestis pestis
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
added on the 2021-06-26 10:32:29 by krusty krusty
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 ;-)
added on the 2021-06-26 11:05:40 by arm1n arm1n
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.
added on the 2021-06-26 14:12:22 by bore bore

login