Giter Site home page Giter Site logo

codingabc / fow-research Goto Github PK

View Code? Open in Web Editor NEW

This project forked from petermcp/fow-research

0.0 0.0 0.0 25.02 MB

Fog of War research

Home Page: https://petermcp.github.io/FOW-research/

License: MIT License

C++ 21.80% C 76.94% Objective-C 0.41% CMake 0.85%

fow-research's Introduction

Fog of War research

I am José Antonio Prieto, student of the Bachelor’s Degree in Video Games by UPC at CITM. This content is generated for the second year’s subject Project 2, under supervision of lecturer Ricard Pillosu.

About the project

On this research of theory and code, i tried to compact the most relevant information that i found after a lot of internet diving. I explain the most used approachs of Fog Of War on some succesfull videogames, why uses them and how implement the selected approach capable of:

  • Smooth Fog of War.
  • Put players with providing visibility sight based on radius.
  • Put example "Wards" that provides visibility on larger area with life time.
  • Capable of hide desired game entities outside player visibility sight range.
  • Manage multiple spots of visibility without uggly hacks and workarounds.

Expected final result:

You can found the full article on this research website

Installing

  • Download executable demo from here
  • Unzip the downloaded file.
  • Execute the .exe inside the uncompressed folder.

Controls

  • Mouse left click: Put new players on desired position
  • Mouse right click: Put wards that provides you a larger visibility zone on desired position.
  • Keyboard W,A,S,D:: Moves instantiated player/s.
  • Keyboard UP,DOWN,LEFT,RIGHT: Moves camera around.

Debug keys

  • F1: View debug fog tile draw

Build with

Author

José Antonio Prieto

License

This project is licensed under the MIT license, see the LICENSE.md file for more details.

Acknowledgements and Webgraphy

Riot Games Article of how they implemented new Fog Of War

Fog of War - Wikipedia

Fog of War and 2D grid - StackOverflow

How efficiently implement Fog of War in realtime- Post StackExchange gamedev

Iron Marines Fog of War implementation part1

Iron Marines Fog of War implementation part2

How to implement a Fog of War chunky System

How to implement a Fog of War smooth System

Efficient Fog Of War - GameDev.net

Implementing Fog Of War throught render to texture

Implementing Fog Of War throught marching squares

"Drawing negative circles" how to draw onto texture to simulate Fog of War - StackOverFlow

Neighbour Aware tile selection

Extense list of how comercial games uses Fog of War

Fog of War on comercial games - list -

Very interesting and useful articles

2D visibility

Field of View

Roguelike vision algorithms

Dynamic 2D shadow casting

Gaussian Blurr with linear sampling

The HqX pixel art scaling algorithm

HqX scaling filter more in deepth

Upscaling pixel art with extra smooth quality

Fast circle algorithm- Bresenhams, also "midpoint" circle - StackOverFlow

Bresenham's algorithm - wikipedia

Implementing Fog of War on Unity

Marching squares - wikipedia

Fog of War on strategy games on general

Blurring on graphic carts without shaders

SDL - Blurring with texture render target trick

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.