Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

eposnix

12
Posts
15
Followers
A member registered Sep 16, 2021 · View creator page →

Creator of

Recent community posts

Thanks for brining this to my attention! It should be fixed now.

(2 edits)

The lighting system renders on the draw_gui event (by default). PostProcessingFX can render on either the draw_gui or post draw event. I would make an object with a post draw event and put this in the event:

ppfx_id.Draw(application_surface, _pos[0], _pos[1], _pos[2]-_pos[0], _pos[3]-_pos[1], _view_width, _view_height);

That should draw the ppfx shaders after the lighting system effects are drawn.

I don't have a discord set up yet, but that's been on my bucket list for a while. I'll let you know when it's ready!

(1 edit)

To make a room dark:

  1. Put one obj_nixfx_renderer in the room.
  2. Make a normal controller object for the room, for example obj_room_lighting_controller.
  3. Put this in the controller's Create event: lighting_setup_done = false;
  4. Put this in the controller's Step event:
if (!lighting_setup_done) {     var fx = nixfx_state();     if (fx.initialized) {         fx.ambient_color = make_colour_rgb(20, 24, 32); // dark blue-gray         fx.ambient_intensity = 0.10; // lower = darker         lighting_setup_done = true;     } }

ambient_intensity is the main darkness control, but changing the color also has a huge impact!

  • 0.05 = very dark
  • 0.10 to 0.20 = normal night/dark room
  • 0.30+ = brighter room

If you want a day/night cycle instead of one fixed darkness value, call the ambience function in Step every frame with a timer that changes over time.

Put this in the controller's Create event:

daynight_time = 0;

Put this in the controller's Step event:

var fx = nixfx_state(); if (fx.initialized) {     daynight_time += delta_time * 0.000001;     nixfx_apply_daynight_ambience(daynight_time, 120.0, "balanced", 1.0); }

That means:

  • daynight_time keeps increasing
  • 120.0 means a full cycle takes 120 seconds
  • "balanced" is the curve name
  • 1.0 means full strength

Available curve names are:

  • balanced
  • clear_day
  • moody

If day/night "does nothing", the usual cause is that the function was only called once, or the timer was not changing. It needs to run in Step, not just once in Create.

(2 edits)

Sorry I missed this question!

The renderer only turns NixFX on for the room. It does not set the room darkness by itself.

To make a room dark:

  1. Put one obj_nixfx_renderer in the room.
  2. Make a normal controller object for the room, for example obj_room_lighting_controller.
  3. Put this in the controller's Create event: lighting_setup_done = false;
  4. Put this in the controller's Step event:
if (!lighting_setup_done) {
    var fx = nixfx_state();
    if (fx.initialized) {
        fx.ambient_color = make_colour_rgb(20, 24, 32); // dark blue-gray
        fx.ambient_intensity = 0.10; // lower = darker
        lighting_setup_done = true;
    }
}

ambient_intensity is the main darkness control, but changing the color also has a huge impact!

  • 0.05 = very dark
  • 0.10 to 0.20 = normal night/dark room
  • 0.30+ = brighter room

If you want a day/night cycle instead of one fixed darkness value, call the ambience function in Step every frame with a timer that changes over time.

Put this in the controller's Create event:

daynight_time = 0;

Put this in the controller's Step event:

var fx = nixfx_state();
if (fx.initialized) {
    daynight_time += delta_time * 0.000001;
    nixfx_apply_daynight_ambience(daynight_time, 120.0, "balanced", 1.0);
}

That means:

  • daynight_time keeps increasing
  • 120.0 means a full cycle takes 120 seconds
  • "balanced" is the curve name
  • 1.0 means full strength

Available curve names are:

  • balanced
  • clear_day
  • moody

If day/night "does nothing", the usual cause is that the function was only called once, or the timer was not changing. It needs to run in Step, not just once in Create.

Thanks for buying the asset!

I created NixFX_Lighting_System_Core because some people were  having issues importing the demos into their projects. This yymps file contains only the core necessary scripts and objects to get the lighting system working, minus the demo assets. I'll update the documents to reflect this soon.

The Quickstart.md is located in the full NixFX_Lighting_System.yymps file under /datafiles/Quickstart.md and /datafiles/GettingStarted.html. If you don't want to import the full project, you can open this file like a .zip file by just renaming it .zip.

(1 edit)

I'm sorry the importer isn't working for you.

I will include a file called NixFX_Lighting_System_Core..yymps that includes only the minimal files to get the project working. Please try downloading that and see if it works for you. Note that you can just copy the scripts and shaders into your project manually if the importer continues to be buggy.

Glad you got it working! You can press numbers 1 through 4 to try different quality settings.

It seems itch.io was sending people an old, outdated version of the asset. You should have a .zip file that contains the updated yymps file. Please use that.

(1 edit)

The current system works with light sources and occluder objects (to create shadows). You place lights and give them a radius and you place occluder objects where you want to block light. The shadow system renders the entire scene dark except for where there are lights or where light is blocked. You can control ambient darkness with a single global variable that makes the entire scene lighter or darker, and I've included a day/night cycle variable to help with this.

And yes, turning off the system is easy: you simply disable the light renderer and the room will be unlit. 

Hi there!

1) The renderer will find your default camera and render to it automatically.
2) The demo scene has an example where the player controller is using a flashlight that is properly blocked by walls!

If you have any issues, just let me know.

(2 edits)

Thanks for purchasing the asset!

Can you give me details about the GameMaker version and operating system you are using?

I'll try to get it resolved, but in the meantime, you can rename the file to .zip and open it like any zip file.

edit: I've uploaded a new version of the asset files that should fix the issue. Please try downloading again.