Skip to main content

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

Foxy Of Jungle

408
Posts
11
Topics
772
Followers
63
Following
A member registered Jul 01, 2018 · View creator page →

Creator of

Recent community posts

(3 edits)

Hello sully,

Yes, it's possible: The first room in the demo is more or less an example of this: the background is illuminated, and the interior is dark with lights. You can add a Direct Light of any color (like white - for a neautral color) in the background to illuminate the exterior environment, with the depth of light below the depth of the "dark area". Ideally, the dark area will need occluders/shadows for walls to block internal light from passing out, like below (shadows are optional):


The Discord server link is on my Itch.io

Hello Noah, That's a great suggestion! thanks for the feedback :D

Hello, sully!

I'm happy to help with any questions through my Discord server, which is on Itch.io. There's also a Getting Started guide that will help you add Crystal to your game.

To make you comfortable: I'm one of the developers who best understands how graphics work in GameMaker, so you can rest assured.

Crystal was designed with pixel art in mind as well, so depending on what you've done, it should be compatible. But if you're interested, I have another library called Rezol that handles pixel-perfect from the box and works well with Crystal as well.

(1 edit)

Lights compensation works similarly to intensity, but it multiplies after blending (basically an exposure control). Oh yes, the default "lights compensation" is 3. I was going to change it to 1 and even wrote it in the documentation, but at the last minute I went back to 3 because I realized that this could cause confusion like "my lights got weak in this update" ^^'.

That's an interesting observation; I believe it must be due to the mathematical equation of blending, but basically, the lights are "multiplicatively additive" in the scene, so perhaps that explains the behavior.

No problem, thanks for the kindness =]

Thanks for the screenshots, they're very helpful :D

You can try disabling HDR for the lights using .SetLightsHDRenable(false). Let me know if this helps.

Hello, Brittle Lizard!

Yes, for this to work, the ambient light intensity usually needs to be above 0 (so you can see the darkness area), and you need to set the intensity of the lights to 1 (default) using .SetLightsIntensity() and .SetLightsCompensation(). It might also be helpful to change the global blending type of the lights if desired.

Hello! Given the type of library you mentioned, the chances of it working with those libraries are high, since PPFX only applies effects to an input surface and then you can draw that on the screen. Thank you for your interest! :P

Follow me to receive notifications via email

(2 edits)

Nice try! 😂 I offer discounts a few times a year, which should help?

(1 edit)

Thanks for the feedback :D

I completely understand that the price may seem high, depending on each person's needs and budget. It is priced based on the amount of content, the problems that it solves, the technical quality, the long-term support (you also receive free updates), and the unique features you won't find elsewhere.

That being said, I really appreciate you taking the time to check it out, and I'm always open to suggestions on how to make it even better ^^

Hello! That's most likely it. I recommend using GameMaker IDE v2024.14.3+, which should work.

I hope this helps, thank you! :D

Hello!

Everything in the demo is included when you obtain the Crystal, except for the Post-Processing FX for the bloom effect, as it was the only way to demonstrate the emissive materials working with glow ^^

Thank you for your kind words! I hope you enjoy it :D

Nice! Thanks for the tip :D

Hello!

I think in this case you could use shadow.Destroy() when deleting the chunk, and shadow.Apply() to re-add the shadow to the renderer.

Regarding preventing light from passing through walls, see: Light leaks through the wall (even with shadows)

1 - Yes, this is done with the .GetLightsCollisionAt() function. It returns the pixel color at the specified position, and with that, you can use color_get_value() to obtain the brightness of the color and thus create gameplay mechanics.

2 - Lights are objects, so you can do this without relying on Crystal; Crystal only provides the function of detecting the color of the light at that position.

3 - Yes, but you would have to create a shader that darkens the object's sprite according to the light's position. Since the lighting system is 2D, and the sprites are simple quads with two ultra-thin triangles, that's why there's such a drastic change when altering the light's depth.

4 - Yes, see: How to have any layer or graphic unlit (without being affected by lights)

I'm more than happy to hear that! My focus is on ensuring it remains simple to implement while still being powerful. Thank you! :D

Oh wow! that went unnoticed xD Thanks for letting me know!

It will be available in the next update. As a temporary fix, just add this to the "__ppf_Macros" script:

#macro PP_BLUR_GAUSSIAN_AMOUNT "amount"

Thanks ^^

(2 edits)

Wow! I'm so glad to read that, it's really cool to know! I tried to make PPFX as simple to implement as possible, and I'm happy to know that I achieved my goal ^^ Thanks a lot, Jason!

(1 edit)

I appreciate the support, and I truly understand the request.

Unfortunately, there is no method to distribute updates to GameMaker Marketplace buyers anymore.

When possible, I’ve already shared the last Marketplace-compatible version individually as a courtesy, but this cannot be offered as an ongoing or official update channel.

itch.io is a separate marketplace with its own licensing and delivery system, so updates here cannot replace purchases made on the GameMaker Marketplace. The viable option at the moment is to get it from Itch.io to get the latest updates.

I genuinely appreciate everyone who supported the project through the Marketplace, but at this point there is no reliable way to provide continued updates through that platform.

(6 edits)

You had requested the latest version of the Marketplace, and I sent it to you via Discord (03/12/2025). It's not something I usually do, as I've been scammed before for sending the source code outside of the store.


Purchases made on the GameMaker Marketplace remain exclusively linked to that platform.

Although the store still exists, authors are no longer allowed to upload updates there, so it is technically impossible to distribute new files to existing buyers.

Free updates exist as long as it is possible to update, as long as I am alive and as long as the store exists.

Since the GameMaker Marketplace platform disabled updates for creators, those updates can no longer be delivered through that store. The license agreement also specifies that updates are provided when possible (6.1, 7.1).

Itch.io is a separate marketplace with its own licenses and terms, so releases published here do not automatically replace purchases made on another platform.

I hope you understand and I hope this clarifies the situation.

(1 edit)

Jon! I also love your videos and the things you do! I'm flattered by this comment, thank you ^^ The next Rezol update will make it even better

Evanski! Thanks for the feedback, it comforts me to know you like PPFX! This motivates me to continue working on it and delivering quality <3

(1 edit)

Hello Meister! It's truly an honor to have the creator of Palpus X: Annihilation as a customer :D

Is this negative effect probably happening because of the normalized blend mode? I recommend using the "multiply" mode with renderer.SetLightsBlendmode(0). You can also try using "Multiply LDR" if you're using HDR, to create a "clamp" on the pixels.

Another thing that might be happening is that the overall light intensity is too high. You can reduce it to 1 using the renderer.SetLightsCompensation(1) function. By default it is currently 3.

And you could also disable the HDR of lights by using .SetLightsHDREnable(false)

Hello!

I just fixed the Discord link, thanks for letting me know! :D

In the .yyz project there's an example specifically about Displacemaps, could you take a look? See: "objPPFX_09_Displacemaps"

Basically, you will use the "PPFX_NormalmapRenderer". This constructor aims to draw normal map objects on its internal surface, and for this, it uses the default parent object "__ppf_objNormalEffect" (localized inside PPFX's folder), which has raindrops as its child, which you can create to generate the drops on the screen.

I hope this helps :)

Hehe thank you! 🎄😁

So, it seems this problem still exists? My GIFs aren't loading D:

Oh! that makes sense :D Since when this is enabled, GameMaker automatically draws the application_surface over the Crystal drawing, which makes it seem like it didn't work. I'm glad it worked now!

Hello theyakuzi!

Sorry to hear, which part exactly confused you? Did you follow this guide specifically? Could you tell me what have you tried to do so far so I can give you some direction?

The .yyz project actually has more code because I needed to demonstrate how Crystal works in different situations. I know it might seem intimidating at first, but the process is simple. Sometimes it can be something silly that caused something not to work. I also have a Discord server for a more extensive discussion.

Check the console log for any error messages, both from Managix and GameMaker. Also note that the progress value is per resource, so even if a texture group has multiple sprites, it counts as 1. Could it also be that the progress is reverting to 0 before it even reaches 1?

Haha nice!

Hello! Is the texture group configured as "dynamic"? (Probably shouldn't work properly if it's not)

Hello! Thanks!

You configure this in the Screen Manager configs struct, using the function .SetMSAALevel(REZ_RENDER_MSAA.X8) 

Thank you, Johto! <3

Everyone knows that dealing with resolution to keep your game looking flawless on all screens is difficult. That's why I developed a library capable of solving all screen resolution problems forever.

With it, just one setup is needed and your game will look amazing on any device with a screen, including consoles and mobile devices!

Rezol, in short, handles everything related to how your game displays on your screen!

Pixel-perfect Cameras, Scaling of GUI, Split-screen, Surfaces, Drawing, Window, Mouse functions, Dynamic render resolution, Frame Skip, HDR and More!

This is the REAL definitive and most complete solution available for GameMaker. Whether you are a newbie or an advanced user, this is for you.

It is useful for ALL game genres: Platformer, RPG/Roguelike, Match 3, Isometric, Racing, TD, Puzzle, Shooter, Visual Novel, Co-op, Point and Click (Farm, Idle), Horror, etc.

There is rich documentation and a Discord server for technical assistance.

Get REZOL kindly now on Itch.io! ^^

https://foxyofjungle.itch.io/rezol

:D

Hi! It works in GameMaker only

Hi, oh yes, you need to enable depth buffer so you can depth sort things

(1 edit)

Hello! Thanks ^^

Did you follow the Quick Start guide? Which part exactly are you having trouble getting to work? Take a look at Troubleshooting.

Edit: Oh, I'm glad it works now ^^ thanks!

This comment is also amazing! Thank you for your kindness and I'm happy that you're enjoying it! :D

Thank you! I wish the same for you too :D