Develop games in gmic

Where estan published source Code of tetris and pacman, 2048 of gmic?

Are you thinking of making a game for G’MIC or just using G’MIC? What kind of game did you have in mind? Either way, that would be interesting!

I see games in the demo, think that gmic is fast and multiplatform

Those little games are indeed developed as G’MIC scripts, and visible in the gmic_stdlib.gmic file (search for strings x_pacman :, x_tetris : and x_2048 : there, to jump to the start of each command).
That being said, I’ve developed those games mainly for fun and to test the speed of the interpreter (led to some optimizations). I wouldn’t advocate using G’MIC to develop games, because :

  • There is no way to play sounds.
  • G’MIC manages float-valued images, this means the images to be displayed on windows are also float-valued and this has really no interest for games (it even slows down the display as a floatuchar conversion is needed for each frame).
  • And probably plenty other reasons (no support for managing pads, …).

Now, if you are talking about using the CImg library and not G'MIC, then yes, it is possible to write little games using CImg, but again it is probably not the best choice of a library to write games.

I think that gmic or zart can be as a “quartz composer”

Neither can’t sound, but can connect with puredata

If only there was a sound generator. lol


this is similar my idea

Sound can be regarded as an image with only one dimension, eg 44100x1 pixels. (Stereo has two channels, rather than an image having three.) Hence, most image-processing algorithms can be applied to sound.

All G’MIC needs is a way to push a 1D image through the computer’s sound channel, and you could have all the buzzes, squeaks and whistles you want.

I kind of miss those old school noises.

I want to know if possible show an image with gmic and freshen with another. (using gmic script)

Yes, basically with command window, e.g. :

$ gmic sp lena window do shift 1,1,0,0,2 window wait 20 while 1
1 Like
gmic \
    a.png \
    b.png \
    blend alpha \
    window 1280,720 do \
    jl_colorgrading[0] 0,6,1,1,0,0,R,0,0,0,1,0,0,0,70,0,0,0,0,0,70,180,0,1,0,0,0 \
    blend alpha \
    window 1280,720 \
while 1

How I can do that only the effect apply to a layer

Already it solve this.
Now only I need to convert “1” in “0001” for example (in gmic script)

and not reload images
Past: :: SLAY Radio ::
Learn Swedish: :: SLAY Radio ::

It is not so fast as i expected, but works

What command is not fast ? The test I’ve done with stripes_y is quite fast for me :

gmic sp lena do +stripes_y , w. rm. while 1

What command is not fast ? The test I’ve done with stripes_y is quite fast for me :


The gmic script is like a game, has several layers and takes a time to render

gmic f=0 bg.png a.png blend alpha window do f+=10 bg.png shift[-1] '-${f},0,0,0,2' +blur[-1] 3 a.png +blur[-1] 1 shift[0] '${f},0,${f},0,0' blend alpha fx_stripes_y_preview 1.6,0,0,0 window 640,360 rm while 1