Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - inc.

Pages: [1] 2 3 4 5 6 7 8 ... 13
General chat / Demoscene – The Art of Coding
« on: April 22, 2020 »

Digital culture as part of the Intangible Cultural Heritage of Humanity

Demoscene nominated as intangible UNESCO cultural heritage in Germany

Cologne, 21. 04. 2020 – The Cologne-based association Digitale Kultur e.V. has made it. For the first time, the demoscene as a digital cultural form has been nominated in NRW for the UNESCO lists of intangible cultural heritage in Germany. Further hurdles still have to be overcome, the final confirmation at the federal level is due at the beginning of 2021

As the Ministry of Culture and Science in North Rhine-Westphalia announced at the end of last week , the demoscene was nominated for inclusion in the national German UNESCO cultural heritage register. Together with three other cultures, the jury selected the demoscene as worthy of recognition from a total of 18 applications.

After the landmark decision in Finland last week, in which the demoscene was recognized as a Finnish national UNESCO cultural heritage, the decision in Germany is another success for the Art of Coding campaign, under whose umbrella similar applications are currently being prepared in other countries.

What is the demoscene?
Since the beginning of the home computer era in the early 1980s, the demoscene has been a playground for border crossers and creative explorers of the digital revolution. It is especially dedicated to the production of software-generated music videos, which are completely generated in real time by self-created programs. Beginning in the 80s, with so-called intro-videos before cracked games, the art and culture of the scene has constantly evolved, and since the 90s it has been living out its skills in independent audiovisual real-time animations to bend the rules of hardware and software. On one hand, the demoscene is a global phenomenon and has influenced many other digital contexts, on the other hand, there has always a been a strong element of a regular physical culture at the scene’s meetings. For decades the demoparties function as regular gatherings and have formed a place for exchange, living out and further development of one’s own culture.

Demosceners celebrating at Revision and Evoke.
Historical decision as a belated Easter gift
Especially after Revision – world’s largest gathering of demosceners, traditionally taking place over Easter – had to be moved to the internet as no physical demoscene-party was allowed, the nomination of the demoscene for the nationwide list is a great belated Easter present.

The fact that the German jury experts were aware of the historical significance of their decision is suggested by the notification of nomination: “As the ‘demoscene’ in North Rhine-Westphalia is the first cultural form from the field of digital culture to be proposed for inclusion in the nationwide directory, the state jury for the Intangible Cultural Heritage in North Rhine-Westphalia discussed the application intensively.”

Digital cultural heritage
Tobias Kopka, from the Cologne-based applicant Digitale Kultur e.V., responsible for the application in Germany and the community work of the overarching Art of Coding initiative, is enthusiastic: “The demoscene is the first time a digital culture has been nominated for the nationwide list of intangible UNESCO cultural heritage. For decades, the demoscene has been a technical-creative cultural community that transcends all borders – and sees itself as transnational in the best sense of the word. And the application not only drives the discussion about the demoscene, but also in a broader sense about contemporary inclusion of all digital cultural forms into the canon of cultural preservation and promotion.

Andreas Lange from EFGAMP e.V., who is responsible for the coordination of the international applications at Art of Coding, is particularly pleased with the jury’s understanding in their notification that ‘in addition to technical excellence, a strongly internationally oriented sense of community is one of the scene’s identification factors’. “Because the demoscene has been international as a digital culture from the very beginning, any national recognition is an important milestone, as it increases the chances of having the demoscene recognized internationally. Since the demoscene has developed substantially in Europe, this is also an opportunity to name a decidedly European cultural practice which, as digital, is inseparably linked to current and future cultural and social conditions.”

Community feeling and collective effort
Tobias Kopka: “The point is to make it clear that digital culture can function in a decentralized, self-organized, anonymous and competitive way – and still create a strong sense of belonging and a community with special knowledge, stories and traditions. After 30 years that could be called digital customs, but at the same time it is still constantly evolving. Many of the classical definitions of culture reach their limits here. And this community experience is not only expressed in the support of many demogroups, demoparties and individuals of the scene – the positive feedback we receive fortunately goes far beyond that of the demoscene. This is great and we are happy about every support, because the initiative is just starting!”

It will remain tense at least until the beginning of 2021, as two further hurdles still have to be overcome – confirmation by the Conference of Ministers of Education and Cultural Affairs and examination by an independent commission of experts at federal level. And if all this has worked out, then the start of a transnational application is on the agenda, which all countries that have included the demoscene in their national cultural heritage can then join.

The initiators Kopka and Lange are optimistic: “The time is ripe for the demoscene, to become inculded in the living UNESCO cultural heritage register in Germany as first digital cultural practice”.

Original link:

General chat / Re: Isolation crew, sign off
« on: April 19, 2020 »
best wishes to all ya. if someone is sick, get back on feet and joy the life again.

me personally are fine. no probs at all.

my only problem is: CAN'T GO TO the GYM. i'm in bodybuilding since many many years.
don't have Iron at home to bridge the lockdown because the gym is 10 minutes far from home and i never had in mind to buy some for home use.
bad now.

but as i can see, many guys here have bigger issues than mine.

Stay strong !
Shouts from germany

just experimenting with this:;topicseen#new

and also wrote a tool that can load up GLSL Shader in: 720p, 1080p, 2k or 4k.
it can deal txt and png files to open

Purebasic / Sync V2M Music 2 GLSL Shader
« on: April 19, 2020 »
ho ho,
anyone still alife?

after a long time i managed playing a v2m module to sync with a running GLSL shader.

ths attached Demo.exe show how it's working. not so accurately because i did not routed each channel but you can see, it's a lot of fun what you can do with normally GLSL Shaders ;)

more nice GLSL things i made in the past.

have phun.

your gfx card must support ogl

Purebasic / Music Routing Problem
« on: August 06, 2019 »
Hi folks,

after a long time i'm back and have a question.
i wrote a demo code that show up a glsl shader and playing a v2m sound file.

how does it looks like (plain and simple)

after some fails i wanna explain the problem that i have.

If i'm sending the V2M Music Main Out to the Shader, that one of the white SinWave react to the Music nice and smoove does not work properly.

I tried a lot but always unnatural values will be sent to a SinWave and it wobble like this:

this is not what i want :D

define the value as following in Line 96:
Code: [Select]
Change = MP_GetChannelVUV2M(channel, @left.f, @right.f)
and adding the "change" into the shader code in Line 128 as an example:
Code: [Select]
Fragment$ + " float angle = iTime * speed * frequency *" + Change +"+(shift + uv.x) * 2.0;   " + Chr(10)
i know there is anything missing in my thoughts.
maybe some one can help?

if you try to run the code properly, you need a PureBasic Version that support MP3D Lib because i used the v2m Lib that is included. Not to forget in Compiler Settings the LibSubsystem set to : dx9

Code: [Select]
;:  PureBasic Version 5.43 LTS x86
;:  get the MP3D Lib from here:

#GL_BGR = $80E0
#GL_BGRA = $80E1
  IncludeBinary "Sound\mpl.v2m"

;:handle the GLSL needs
XIncludeFile "include\cm_opengl_uni.pbi" : UseModule cm_opengl

Define IsPlaying, EndOfTrackReached, EventGadget
Define.i Event

;:V2M Music File Main Out - left / right
Define MainVULeft.f,MainVURight.f

;:Channels V2M Music File - no need yet
Define Ch0VULeft.f, Ch0VURight.f
Define Ch1VULeft.f, Ch1VURight.f
Define Ch2VULeft.f, Ch2VURight.f
Define Ch3VULeft.f, Ch3VURight.f
Define Ch4VULeft.f, Ch4VURight.f
Define Ch5VULeft.f, Ch5VURight.f
Define Ch6VULeft.f, Ch6VURight.f
Define Ch7VULeft.f, Ch7VURight.f
Define Ch8VULeft.f, Ch8VURight.f
Define Ch9VULeft.f, Ch9VURight.f
Define Ch10VULeft.f, Ch10VURight.f
Define Ch11VULeft.f, Ch11VURight.f
Define Ch12VULeft.f, Ch12VURight.f
Define Ch13VULeft.f, Ch13VURight.f
Define Ch14VULeft.f, Ch14VURight.f
Define Ch15VULeft.f, Ch15VURight.f

Procedure Open_MainScreen()
  Line(0,16,16,-17,RGB(45, 45, 45))
  Line(0,0,16,16,RGB(45, 45, 45))
  OpenWindow(#Main, 0 , 0, 640, 480,"",#PB_Window_ScreenCentered|#PB_Window_BorderLess|#PB_Window_Invisible)
  SetWindowColor(#Main, RGB(137,187,229))
  SetClassLongPtr_(WindowID(#Main), #GCL_STYLE, #CS_DROPSHADOW)
  ;:exit button
  TextGadget(#textgadget,5, 1, 567, 20, "GLSL Shader Test: inc 2019",#SS_CENTERIMAGE)
  SetGadgetFont(#textgadget, LoadFont(#Infobar_Font, "Microsoft Sans Serif", 8, #PB_Font_HighQuality))
  SetGadgetColor(#textgadget , #PB_Gadget_BackColor, RGB(137,187,229))
  SetGadgetColor(#textgadget , #PB_Gadget_FrontColor, RGB(15, 15, 15))

  OpenGLGadget(#Gad_OpenGL, 0, 20, 640, 460, #PB_OpenGL_Keyboard)
  Init_OpenGL(#Gad_OpenGL, 640, 420)
  HideWindow(#Main, #False)



  MP_CatchV2M(?Song)  ;LOAD SONG
  MP_PlayV2M(0)       ;0 START SOUND FROM THE BEGINNING           
  ;channel = -1
  ;Change = MP_GetChannelVUV2M(channel, @left.f, @right.f)

  ;Change = MP_GetChannelVUV2M(channel, @MainVULeft.f, @MainVURight.f)
  ;SetGadgetState(#ProgressBar_6,(Ch1VULeft + Ch1VURight)*20)
  ;:The plain Shader Code
Vertex$ = "attribute vec3 position;"
Vertex$ + "attribute vec2 surfacePosAttrib;"
Vertex$ + "varying vec2 surfacePosition;"
Vertex$ + " void main() {"
Vertex$ + " surfacePosition = surfacePosAttrib;"
Vertex$ + " gl_Position = vec4( position, 1.0 );"
Vertex$ + " }"

Fragment$ = " #ifdef GL_ES                                                                       " + Chr(10)
Fragment$ + " precision mediump float;                                                           " + Chr(10)
Fragment$ + " #endif                                                                             " + Chr(10)
Fragment$ + " #extension GL_OES_standard_derivatives : enable                                   " + Chr(10)
Fragment$ + " uniform float time;                                                               " + Chr(10)
Fragment$ + " uniform vec2 mouse;                                                               " + Chr(10)
Fragment$ + " uniform vec2 resolution;                                                           " + Chr(10)
Fragment$ + " const vec3 top = vec3(0.318, 0.831, 1.0);                                         " + Chr(10)
Fragment$ + " const vec3 bottom = vec3(0.094, 0.141, 0.424);                                     " + Chr(10)
Fragment$ + " const float widthFactor = 1.5;                                                     " + Chr(10)
Fragment$ + " #define iTime time                                                                 " + Chr(10)
Fragment$ + " #define iResolution resolution                                                     " + Chr(10)
Fragment$ + " vec3 calcSine(vec2 uv, float speed,                                               " + Chr(10)
Fragment$ + " float frequency, float amplitude, float shift, float offset,                       " + Chr(10)
Fragment$ + " vec3 color, float width, float exponent, bool dir)                                 " + Chr(10)
Fragment$ + " {                                                                                 " + Chr(10)
Fragment$ + " float angle = iTime * speed * frequency *" + Change +"+(shift + uv.x) * 2.0;   " + Chr(10)
Fragment$ + " float y = sin(angle) * amplitude + offset;                                         " + Chr(10)
Fragment$ + " float clampY = clamp(0.0, y, y);                                                   " + Chr(10)
Fragment$ + " float diffY = y - uv.y;                                                           " + Chr(10)
Fragment$ + " float dsqr = distance(y, uv.y);                                                   " + Chr(10)
Fragment$ + " float scale = 1.0;                                                                 " + Chr(10)
Fragment$ + " if(dir && diffY > 0.0)                                                             " + Chr(10)
Fragment$ + " {                                                                                 " + Chr(10)
Fragment$ + " dsqr = dsqr * 4.0;                                                                 " + Chr(10)
Fragment$ + " }                                                                                 " + Chr(10)
Fragment$ + " else if(!dir && diffY < 0.0)                                                       " + Chr(10)
Fragment$ + " {                                                                                 " + Chr(10)
Fragment$ + " dsqr = dsqr * 4.0;                                                                 " + Chr(10)
Fragment$ + " }                                                                                 " + Chr(10)
Fragment$ + " scale = pow(smoothstep(width * widthFactor, 0.0, dsqr), exponent);                 " + Chr(10)
Fragment$ + " return min(color * scale, color);                                                 " + Chr(10)
Fragment$ + " }                                                                                 " + Chr(10)
Fragment$ + " void mainImage( out vec4 fragColor, in vec2 fragCoord )                           " + Chr(10)
Fragment$ + " {                                                                                 " + Chr(10)
Fragment$ + " vec2 uv = fragCoord.xy / iResolution.xy;                                           " + Chr(10)
Fragment$ + " vec3 color = vec3(mix(bottom, top, uv.y));                                         " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.2, 0.20, 0.2, 0.0, 0.5,  vec3(0.3, 0.3, 0.3), 0.1, 15.0,false);    " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.4, 0.40, 0.15, 0.0, 0.5, vec3(0.3, 0.3, 0.3), 0.1, 17.0,false); " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.3, 0.60, 0.15, 0.0, 0.5, vec3(0.3, 0.3, 0.3), 0.05, 23.0,false); " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.1, 0.26, 0.07, 0.0, 0.3, vec3(0.3, 0.3, 0.3), 0.1, 17.0,true); " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.3, 0.36, 0.07, 0.0, 0.3, vec3(0.3, 0.3, 0.3), 0.1, 17.0,true); " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.5, 0.46, 0.07, 0.0, 0.3, vec3(0.3, 0.3, 0.3), 0.05, 23.0,true); " + Chr(10)
Fragment$ + " color += calcSine(uv, 0.2, 0.58, 0.05, 0.0, 0.3, vec3(0.3, 0.3, 0.3), 0.2, 15.0,true); " + Chr(10)
Fragment$ + " fragColor = vec4(color,1.0);                                                       " + Chr(10)
Fragment$ + " }                                                                                 " + Chr(10)
Fragment$ + " void main( void ) {                                                               " + Chr(10)
Fragment$ + " mainImage(gl_FragColor, gl_FragCoord.xy);                                         " + Chr(10)
Fragment$ + " }                                                                                 " + Chr(10)

CreateShader(1, Vertex$, Fragment$)

  Event = WindowEvent()
  EventGadget = EventGadget()
  If MP_IsPlayingV2M()
      IsPlaying=1           ;CHECK IF SONG IS PLAYING
      EndOfTrackReached=1   ;IF SONG REACHED ITS END
      MP_PlayV2M(0)         ;0 STARTs SONG At THE BEGINNING

  Select Event
      If WindowMouseX(#Main) >= 0 And WindowMouseX(#Main) <= 640 And WindowMouseY(#Main) >= 0 And WindowMouseY(#Main) <= 61
        SendMessage_(WindowID(#Main), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
    Case #PB_Event_Gadget
      Select EventGadget() 
        Case #Gadget_exit
  If GetAsyncKeyState_(#VK_ESCAPE)
Until Event = #PB_Event_CloseWindow

the complete package is attached to this posting.

i can provide a sinus generator for windows:

it calculate your values and give a preview. the output can be exported for further usage in C or C++. I used this Gen. back in the late nineties for Playstation 1 C++ coding for Sinus Scrollers and effects / wobbler :D

ArtRage is really cool. I bought it last year.  The pics are also painted with it :D

No need for Corel Painter.  I also use PhotoPaint since 1996 or so because i hate Photoshop,  don't know why.

Yes, not bad.  which program do you use?

Here are some digital paintings that i made in the past:

General chat / Re: The Welcoming Committee
« on: June 08, 2018 »
Hi there,
i subscribed in February 20, 2016 but i haven't written anything about me till now.
I'm coming from germany.
In the early 80th i got an c64 and i started coding gfx and animations on it.
Sadly i never had an Amiga.
In the beginning 90th i started to code on  PC.
I studied IT and became a professional coder. My languages are VB.Net, C/ C++, C#. For hobby Blitz3D, BlitzMax, FreeBasic, PureBasic, C++ with SFML, OpenGL, DX9.
I want to code demos, cracktros keygens but i still train gfx effects ;-).

Best regards,

spliffer, have a look at my new project:

maybe you like it.

i'm looking for a skilled coder who can handle sesion id's in Purebasic. just try to code a upload tool for Rapidgator. the point is: receiving the uploaded shortlink.

maybe you can help? :)

ahhh ... and welcome

Purebasic / Re: Introducing a first Look
« on: June 01, 2018 »
Will you be making this tool open source at some point? Just curious.

Anyway, I'll be looking forward to the initial release that produces usable code. It's looking to be a convenient little time saver.
I really like being able to adjust the various values and see how it looks so quickly and easily.

i think yes, it could be a open source project. latest if i'm heavy stuck :D looking forward.. and yes, later it would be possible to export the settings into PureBasic SourceCode.

I've uploaded a newer Version.

see 1st Post

Purebasic / Re: Introducing a first Look
« on: May 24, 2018 »
More Information:

I've uploaded a newer Version.

see 1rst Post

CODEF2EXE produziert doch keine MacBinaries oder? Ein G4-Mini kann ja leider kein Windows ausführen.

No it doesn't. It creates x86 win binaries.

Oder meinst Du direkt im Webbrowser mit Java die Dinger anzusehen ( Muss ich da noch mal nachlesen.

Yes, the exe file communicate with a web based code
War eigentlich dieses INC-Logo mit dem Punkt also (INC.) für PC/CGA anno 1987? auch von Dir?
Hab das gestern erst am EuroPC mit 1084 gesehen :) dat hier =>

Zu blöd dass die keine Ahnung vom coden habe, das hätte mir bei PureBasic sicher geholfen...
so fische ich halt im Trüben...

No sorry that's not me, the very first inc logo that i made was a DOS Logo that change its colors. It can be found in a original bbs release by Monkey Island 1 , called

cheers ;)

Das codef2exe ist von mir. Das sollte locker auf dem Mac laufen. Alles andere, was das codef Projekt angeht ist unter der Führung von whitewolf entstanden.
Genauere Infos sind in unserem Forum zu finden.


kleiner Tipp:

statt pdf kannst du auch direkt Bilder hier einbinden ;)

zb als hoster

i understand your point, but why doing this if all the stuff exist for windows? :)


I already recognized that is not that easy to download cracktro sources for PB and compiling a runable OSX-PPC-Binary.
I tested nearly all the stuff that is available for download here. None worked.

because it was a DOS based scene around 1990 until w98. Purebasic for Democoding is a windows thing so far ;)
but i wish luck in discover some ways to get demos out of a mac .

I will have to complete my environment with librarys that are needed in order to get "music" played and gfx "displayed".
Hopefully some of them exist on the mac-plantform.

i don't think so. the Libs would only support Windows

Purebasic / Re: Introducing a first Look
« on: May 02, 2018 »
Thank you for the share inc. , always high quality !

is it MP3D based ?

no, MP3D is dead. I do no longer use it.

this new Maker will only base on PureBasic Code. Later it will have a option to export all the creation as SourceCode for own and further coding in PB. (but will also have exe export to demo ;) )

Purebasic / Re: Introducing a first Look
« on: May 02, 2018 »
another Update yet:

get it from my own ftp (30 MB because of its included images and demo sounds): inc_PB_Demo_SC_Creator.rar

Purebasic / Re: Introducing a first Look
« on: May 01, 2018 »
Another slight progress.

Changelog May/01/2018

- load xm and mod music (also show the loaded filename)
- load another logo (add a first simple effect via checkbox)
- now possible to enter own scrolltext into the inputfield (activate the new line with Enter or the Button)
- demoscreen resize possible if entering new x/y coordinates (standard = 800*750)

- resize demoscreen is not bugfree yet

more to come ;)

get it from my own ftp (30 MB because of its included images and demo sounds):

I've uploaded a newer Version.

see 1rst Post

Pages: [1] 2 3 4 5 6 7 8 ... 13