This Fog Of War (FoW) example is perfect for a RTS (Real Time Strategy) game, or MOBA, or any top down perspective game!
MAIN feature: is good 60fps performance on large rooms, using surface scaling. Smooth Fog, in 2 customizable layers, not blocky.
Features: 1. uses 2 layers of fog 2. each layer can be customized for 2.1 update speed 2.2 color 2.3 opacity or alpha value 3. Fog erases according to 'sight' radius of individual units
Extra features: 1. Included sprites: 1.1 Nice space background 1.2 Enemy unit 1.3 Friendly unit 1.4 2x FoW light sprites (used to remove Fog over friendly unit) 2. Basic unit movement scripted (select single unit, and move to goal with mouse, LMB to select and RMB to give movement goal) 2.1 basic unit parenting or inheritance setup, so FoW works with one parent unit 2.2 draws selection circle under unit 3. Fog Of War interacts with basic units, and I show you how to allow only the 'friendly' units to open the FoW. 4. Create 'enemy' unit with button press , for debug 5. Create 'friendly' unit with button press , for debug 6. Camera object, setup so view in room follows mouse.
You only need to drop the FoW object in the room, and setup basic unitVARIABLES to allow which units are allowed to clear FoW. For completeness, I have added other objects to demonstrate how this can be done.
If you have any questions, do not hesitate to ask.
Recommended platform(s): - Windows / Mac
Version 1.0.0. Published December 4, 2014
Created with GameMaker: Studio v1.4.1474
This asset hasn't received enough reviews yet.
You can only review assets you've bought.
Works but breaks
The surfaces break when you resize the window or switch to fullscreen, which is the issue I have been trying to fix for my own stuff
What are you trying to do?
With surfaces, if you keep changing the display or view size you need to redraw (refresh) the surface... this can also cause a flicker if done wrong.
Surfaces are volatile, maybe read the Help file also to understand it and proper use.
Remember it is a free resource to learn, but you are allowed your opinion, just consider understanding why it happens and that the asset was maybe not designed for what you are trying to do with it specifically and you will need to adjust it slightly for your use case.