Code Monkey home page Code Monkey logo

vafogofwar's Introduction

GitHub GitHub release (latest by date including pre-releases)

VaFogOfWar

A clear and simple solution of Fog of War for Unreal Engine 4.

SCREENSHOT

VaFogOfWar implements fast and optimized fog of war solution for topdown games like Dota, StarCraft or League of Legends. It fast enough even to work on mid-end mobile devices, so it works like a charm on desktop.

Check wiki for usage examples and development notes.

Main features

  • Three types of layers: current visibility, global visibility (permanent from black), terrain
  • Eight height levels supported (river, lowground, highground, etc.)
  • Dynamic and static obstacles (trees, rocks, etc)
  • Different types of radius strategy: circle, square and others
  • Freeform fog blocking volumes as tool for terrain level painting
  • Initial terrain levels can be set with heightmap

Release notes

Plugin is released for free without any limitations, you can use it and modify as you want. Feel free to post your comments and feedback.

Demo content is not provided, but it's released as separate paid demo project here: https://gum.co/TFflr . It's also planned to be released at the Unreal Marketplace a bit later.

Legal info

Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.

Unreal® Engine, Copyright 1998 – 2020, Epic Games, Inc. All rights reserved.

vafogofwar's People

Contributors

ufna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vafogofwar's Issues

Убрать хардкод на MI_Blur.MI_Blur

Весь контент на текущий момент лежит в отдельном приватном репозитории. Надо убрать хардкод, чтобы плагин мог компилироваться и использоваться в теории без контента.

Вынос функционала апдейта буферов в отдельный поток

Вероятно, такие системы должны работать в отдельном потоке, реагируя не на каждый тик, а на некое накопленное состояние. По крайней мере, в Dota 2 выглядит именно так.

Это будет также полезно при учёте сетевого лага.

Система плавного лерпа состояний аля SC2

Суть - при открытии клеточек на внутренней карте визуализация в PP плавно блендит в этот стейт. Выглядит как плавное открытие карты, а не рывками (как внутри).

sc2_fow

ENQUEUE_RENDER_COMMAND is deprecated

1>C:\WorkProjects\VaFogOfWarDemo\Plugins\VaFogOfWar\Source\VaFogOfWar\Private\VaFogLayerComponent.cpp(141): warning C4996: Please use ENQUEUE_RENDER_COMMAND instead Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1>C:\WorkProjects\VaFogOfWarDemo\Plugins\VaFogOfWar\Source\VaFogOfWar\Private\VaFogLayerComponent.cpp(141): warning C4996: Please use ENQUEUE_RENDER_COMMAND instead Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

Подготовка материалов для показа демки публике

Предполагаю, что для показа демки нужны:

  • Возможность подсветки с учётом препятствий #40
  • Определиться с блюром #44
  • Система плавного лерпа состояний
  • Настроить красиво для показа
  • Динамическое изменение препятствий
  • Индикация обнаружения

Сборка падает на этапе кукинга

UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: === Critical error: ===
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: Assertion failed: Pair != nullptr [File:e:\epic games\ue_4.22\engine\source\runtime\core\public\Containers/Map.h] [Line: 463]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff80689a388 KERNELBASE.dll!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff92b31f07 UE4Editor-Core.dll!ReportAssert() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowsplatformcrashcontext.cpp:553]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff92b346b7 UE4Editor-Core.dll!FWindowsErrorOutputDevice::Serialize() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff92947cea UE4Editor-Core.dll!FOutputDevice::LogfImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff928cfe07 UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:440]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff928d0499 UE4Editor-Core.dll!FDebug::CheckVerifyFailedImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:418]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff7d216012 UE4Editor-VaFogOfWar.dll!UVaFogController::Get() [c:\workprojects\vafogofwardemo\plugins\vafogofwar\source\vafogofwar\private\vafogcontroller.cpp:20]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff7d219a81 UE4Editor-VaFogOfWar.dll!AVaFogBoundsVolume::PostRegisterAllComponents() [c:\workprojects\vafogofwardemo\plugins\vafogofwar\source\vafogofwar\private\vafogboundsvolume.cpp:46]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8f93e918 UE4Editor-Engine.dll!AActor::IncrementalRegisterComponents() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:4368]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff901497fb UE4Editor-Engine.dll!ULevel::IncrementalUpdateComponents() [d:\build\++ue4\sync\engine\source\runtime\engine\private\level.cpp:967]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff90a2ec20 UE4Editor-Engine.dll!UWorld::UpdateWorldComponents() [d:\build\++ue4\sync\engine\source\runtime\engine\private\world.cpp:1723]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8df9a2a8 UE4Editor-UnrealEd.dll!UEditorEngine::Save() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:4385]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8de6b93c UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::SaveCookedPackage() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:3994]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8de6db73 UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::SaveCookedPackages() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2896]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8de7722f UE4Editor-UnrealEd.dll!UCookOnTheFlyServer::TickCookOnTheSide() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\cookontheflyserver.cpp:2372]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8dd12395 UE4Editor-UnrealEd.dll!UCookCommandlet::CookByTheBook() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:882]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007fff8dd3e844 UE4Editor-UnrealEd.dll!UCookCommandlet::Main() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:586]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff666a3e402 UE4Editor-Cmd.exe!FEngineLoop::PreInit() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2706]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff666a35377 UE4Editor-Cmd.exe!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:129]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff666a355ca UE4Editor-Cmd.exe!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff666a4316c UE4Editor-Cmd.exe!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff666a44cb6 UE4Editor-Cmd.exe!__scrt_common_main_seh() [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff809664034 KERNEL32.DLL!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: [Callstack] 0x00007ff809d03691 ntdll.dll!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)):   LogWindows: Error: end: stack for UAT

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.