What are you working on?

L

Lucia

Guest
I made a lot of small games for jams or stupid minigames. Above all with other guys or friends. Now I want to make my first GM full game totally alone! Not so easy, but I want to try!
 
  • Like
Reactions: Rob

woodsmoke

Member
Working on a sci-fi game where you fight off invasions with a powerful mech.

PLASMA GUARD
 
Last edited:

ethian

Member
Currently working on stuff that can make fans angry, like educational fan animations of Happy Tree Friends where nobody gets hurt, or an I Wanna Be The Guy fangame that is easy and has original, own assets or something else instead of using assets from other videogames.
Everything without mature themes nor content, but as those stuff of mine can make fans angry, as i told before, i won't publish them all... all those stuff is for my children...
 

Gzebra

Member
I'm currently working on myself.
Wow, I commend you for your bravery.. No dude, I'm serious! You might have meant it as a sly joke, but I'm serious! ****ing respect! Most people try to escape themselves, and knowing myself, I see why.. Keep on working friend! :D
 
Today, I drew up some concept sprite for my main character, and am fairly happy with how it turned out, though there are still some tweaks I need to make.

Over the course of the week, I'll be animating him as well. I'm going to keep it simple, so 3-4 frame animations are my target.

Pay no attention to the ground tiles and those "trees" - those were done in ten seconds within GMS 2 itself, just to give my character something to walk on top of/behind. I promise I'm not that bad at drawing trees. :p
 

ethian

Member
Me and my friend, we're working on... random animated assets...

Temmie Chang's artwork from Deltarune and others inspired us to make them...
 

Niels

Member
1. Coming to realization that I can't design/implement deep gameplay mechanics.

2. Fine-tweaking my rendering functions so I can get started on an exploration platformer instead. More emphasis on narrative/exploration/visual, than on mechanics.

I would really like to know how you did the parralax effect, and did you add the blur to the background with a shader or in photoshop?
 

muki

Member
I would really like to know how you did the parralax effect, and did you add the blur to the background with a shader or in photoshop?
All shaders and surfaces. The tile assets in the background are the exact same as used in the foreground. I can't run the game right now since a GMS update broke how I was using surfaces (again), but I can try and explain it anyway with images and code.

There are three tile layers. The extreme background, the middle background, and the foreground. I use a rendering control object top do everything, and render the layers in a back-to-front order. And only the view, not the room. I juggle quite a few surfaces, and I havent worked on this project in quite a while, so I forget some details on how I made it happen.


1. Draw everything in the extreme background to 1 surface.Tiles (using draw_tilemap). Also draw other stuff like slight translucent coloration for a fog effect.

Some other details, like making sure texture filtering is on for the first few steps (because I turn it off later). And you'll notice I juggle between surface_canvas_1/2 a lot. Drawing from 1 to 2 or 2 to 1 is a lot safer than a surface drawing to itself. There is also some offsetting that I need for parallax later on, hence the -48 and -24 offset on that one line.

Code:
//temporarily enable texture filtering
gpu_set_texfilter(true);

//draw background
    surface_set_target(surface_canvas_1);
      draw_tilemap(layer_background_tilemap,(0-cam_x), (0-cam_y));
      draw_tilemap(layer_back_tilemap, 48-cam_x, 24-cam_y);
      draw_sprite_ext(fog, 0, 0, 0, 3, 3, 0, c_white, fog_density);                //fog
    surface_reset_target();
2. Apply a strong blur shader to the surface. Forget which shader it is exactly, I found it on the marketplace.

This is also where the actual parallax happens. The line with //0.85 is where I'm redrawing the extreme background surface to the middle background, but with a scaling of 0.85. And because I did an offset of -48/-24 to the tilemap coords earlier, it's "recentered". Also, because I'm shrinking backgrounds, I have to make my background surfaces larger than my foreground surfaces, so that the edges of the backgrounds abruptly cut. My view is 480x270, but some of my surfaces are 600x400 so I can have that extra breathing room when scaling them.

Code:
//apply shader to background
    surface_set_target(surface_canvas_2);
    shader_set(shd_blur_gaussian);
      shader_set_uniform_f(uRESOLUTION,600, 400);
      shader_set_uniform_f(uRADIUS,blur_far); 
      draw_surface_ext(surface_canvas_1, 0, 0, 0.85, 0.85, 0, c_white, 1);        //0.85
    shader_reset();
    surface_reset_target();
3. Draw everything in the middle background to 2 surfaces.Tiles (using draw_tilemap) to one surface, and objects (using layer_script_begin/end and a custom draw event in those scripts to another surface, using event_type ev_draw). I didn't have any objects in the extreme background because I saw little point. Also do the blur and parallax again.

Code:
//draw middle
    surface_set_target(surface_canvas_1);
      draw_surface(surface_canvas_2, 0, 0);
      draw_tilemap(layer_middle_tilemap, (0-cam_x)+6, (0-cam_y)+6);
      //gpu_set_blendmode(bm_add);
      draw_sprite_ext(fog, 0, 0, 0, 3, 3, 0, c_white, fog_density);                //fog
      draw_surface(global.layer_middle_instances_surface, 0, 0);
      //gpu_set_blendmode(bm_normal);
    surface_reset_target();

//apply shader to middle
    surface_set_target(surface_canvas_2);
    shader_set(shd_blur_gaussian);
      shader_set_uniform_f(uRESOLUTION,600, 400);
      shader_set_uniform_f(uRADIUS,blur_close);
      draw_surface_ext(surface_canvas_1, 0, 0, 0.95, 0.95, 0, c_white, 1);        //0.95
    shader_reset();
    surface_reset_target();
4. Here I redisable texture filtering because I'm about to draw the foreground, and I want those foreground pixels sharp. No scaling or blur here.

Code:
//re-disable texture filtering
gpu_set_texfilter(false);
 
//draw foreground
    surface_set_target(surface_canvas_0);
      draw_surface(surface_canvas_2, 0, 0);
      draw_tilemap(layer_front_tilemap, 0-cam_x, 0-cam_y);
      draw_surface(global.layer_instances_surface, 0, 0);
    surface_reset_target();
There's other stuff after this, such as a color remap shader and vignetting. I remember taking this a few weeks to figure out. And a lot of experimentation. A number of other unrelated things going on, such as adding tile variation at runtime with a script.

I like the scaling method for parallax better than just scrolling, because then I can use tiles for the background.

Obviously this won't work as a straight copy-paste, since there's the create/step events and a myriad of other scripts related to layer_script_begin/end, and because it's been so long, I don't remember exactly how much of it I hard-coded and how much I streamlined into scripts. But hopefully this can give you ideas.
 
Last edited:

Niels

Member
All shaders and surfaces. The tile assets in the background are the exact same as used in the foreground. I can't run the game right now since a GMS update broke how I was using surfaces (again), but I can try and explain it anyway with images and code.

There are three tile layers. The extreme background, the middle background, and the foreground. I use a rendering control object top do everything, and render the layers in a back-to-front order. And only the view, not the room. I juggle quite a few surfaces, and I havent worked on this project in quite a while, so I forget some details on how I made it happen.


1. Draw everything in the extreme background to 1 surface.Tiles (using draw_tilemap). Also draw other stuff like slight translucent coloration for a fog effect.

Some other details, like making sure texture filtering is on for the first few steps (because I turn it off later). And you'll notice I juggle between surface_canvas_1/2 a lot. Drawing from 1 to 2 or 2 to 1 is a lot safer than a surface drawing to itself. There is also some offsetting that I need for parallax later on, hence the -48 and -24 offset on that one line.

Code:
//temporarily enable texture filtering
gpu_set_texfilter(true);

//draw background
    surface_set_target(surface_canvas_1);
      draw_tilemap(layer_background_tilemap,(0-cam_x), (0-cam_y));
      draw_tilemap(layer_back_tilemap, 48-cam_x, 24-cam_y);
      draw_sprite_ext(fog, 0, 0, 0, 3, 3, 0, c_white, fog_density);                //fog
    surface_reset_target();
2. Apply a strong blur shader to the surface. Forget which shader it is exactly, I found it on the marketplace.

This is also where the actual parallax happens. The line with //0.85 is where I'm redrawing the extreme background surface to the middle background, but with a scaling of 0.85. And because I did an offset of -48/-24 to the tilemap coords earlier, it's "recentered". Also, because I'm shrinking backgrounds, I have to make my background surfaces larger than my foreground surfaces, so that the edges of the backgrounds abruptly cut. My view is 480x270, but some of my surfaces are 600x400 so I can have that extra breathing room when scaling them.

Code:
//apply shader to background
    surface_set_target(surface_canvas_2);
    shader_set(shd_blur_gaussian);
      shader_set_uniform_f(uRESOLUTION,600, 400);
      shader_set_uniform_f(uRADIUS,blur_far);
      draw_surface_ext(surface_canvas_1, 0, 0, 0.85, 0.85, 0, c_white, 1);        //0.85
    shader_reset();
    surface_reset_target();
3. Draw everything in the middle background to 2 surfaces.Tiles (using draw_tilemap) to one surface, and objects (using layer_script_begin/end and a custom draw event in those scripts to another surface, using event_type ev_draw). I didn't have any objects in the extreme background because I saw little point. Also do the blur and parallax again.

Code:
//draw middle
    surface_set_target(surface_canvas_1);
      draw_surface(surface_canvas_2, 0, 0);
      draw_tilemap(layer_middle_tilemap, (0-cam_x)+6, (0-cam_y)+6);
      //gpu_set_blendmode(bm_add);
      draw_sprite_ext(fog, 0, 0, 0, 3, 3, 0, c_white, fog_density);                //fog
      draw_surface(global.layer_middle_instances_surface, 0, 0);
      //gpu_set_blendmode(bm_normal);
    surface_reset_target();

//apply shader to middle
    surface_set_target(surface_canvas_2);
    shader_set(shd_blur_gaussian);
      shader_set_uniform_f(uRESOLUTION,600, 400);
      shader_set_uniform_f(uRADIUS,blur_close);
      draw_surface_ext(surface_canvas_1, 0, 0, 0.95, 0.95, 0, c_white, 1);        //0.95
    shader_reset();
    surface_reset_target();
4. Here I redisable texture filtering because I'm about to draw the foreground, and I want those foreground pixels sharp. No scaling or blur here.

Code:
//re-disable texture filtering
gpu_set_texfilter(false);
 
//draw foreground
    surface_set_target(surface_canvas_0);
      draw_surface(surface_canvas_2, 0, 0);
      draw_tilemap(layer_front_tilemap, 0-cam_x, 0-cam_y);
      draw_surface(global.layer_instances_surface, 0, 0);
    surface_reset_target();
There's other stuff after this, such as a color remap shader and vignetting. I remember taking this a few weeks to figure out. And a lot of experimentation. A number of other unrelated things going on, such as adding tile variation at runtime with a script.

I like the scaling method for parallax better than just scrolling, because then I can use tiles for the background.

Obviously this won't work as a straight copy-paste, since there's the create/step events and a myriad of other scripts related to layer_script_begin/end, and because it's been so long, I don't remember exactly how much of it I hard-coded and how much I streamlined into scripts. But hopefully this can give you ideas.
Thanks for explaining! I once wrote a blur shader from Xor's tutorials, but that one was highly inefficient, and not nearly als good looking as your blur. The parallax effect reminds me of hollow knight
 

muki

Member
Thanks for explaining! I once wrote a blur shader from Xor's tutorials, but that one was highly inefficient, and not nearly als good looking as your blur. The parallax effect reminds me of hollow knight
Hollow Knight was my direct inspiration for this!
 
S

snowstorm

Guest
I'm going to make my own 2048 game just to remind myself how it all works. Now I'm thinking about menu design and drawing cats which will be used instead of numbers. Smth like that:
 

Attachments

Rob

Member
I worked on my RPG for the last 2 days after months of doing other things. I finally made the text have a typewriter effect as well as using different fonts/colours mid-sentence! It's not impressive by any means but it's progress to me. The battle system is being reworked (again) and this will be the last time, hopefully!
 

Niels

Member
At the moment nothing.. But I still have a project that I need to wrap up, so I guess I'm going to do that.
 
Guess what? More space stuff.

This atmospheric scattering shader was initially based on Sean O'Neil's work. However, I realized that if I took a few shortcuts I could still get pretty good results whilst hugely simplifying the process. I've made it a fragment level effect, and based on a look-up table rather than doing much of the math in the shader. The performance should be much better. I also realized that if I take into account the perspective distortion, I can draw the whole planet as just a single quad, which means high surface accuracy without having a ton of vertices. And thanks to the fragment shader stage depth test that TheSnidr showed me yesterday, it can be used in conjuction with regular 3d geometry.

The reddit page on which TheSnidr shared the fragment shader depth test extension:
https://old.reddit.com/r/gamemaker/comments/atxv2u/snidrs_voxel_sprites/?ref=share&ref_source=link

upload_2019-2-27_12-13-34.png

a few pics in an album: https://imgur.com/a/pZl1s0X


In case anybody is interested in creating an effect along the same lines, the look-up tables look like this:
The left side is added atmospheric "glow", and the right side is attenuation of the ground colors.
The x axis is the cosine of the angle between the minus eye ray and the outer atmosphere surface normal vectors.
The y axis is the (cosine of the angle between the light direction and the outer atmosphere surface normal vectors) *0.5 + 0.5.
I'm attenuating the clouds seperately, because they look odd when attenuated as much as the ground colours. I suspect this is actually a problem with "exposure", but just hacking gives me more flexibility artistically.
upload_2019-2-24_20-53-36.png
 
Last edited:

Shiroo16

Member
still busy with university. but now i'm working on small game like avatar maker for my friend, still learning game maker
 

Samuel Venable

Time Killer
So I made a fully customizable native single/multi-line input box for Windows for a client. Some else asks me for something I already made, which was just that, and then they pay me for something I was already payed to do, and all I had to do was give them a download link. Then I ported it to Mac. Will soon be selling it for any future game devs who need it. Pretty cool if you ask me.


Windows.png Macintosh.png
 
Last edited:
Post a screenshot / gif / brief progress report of the stage of your current project. Might as well let it see the light of day, you're only gonna drop it and work on something new by the end of the month :D

Or maybe that's just me :cool:
 
Top