openage
openage copied to clipboard
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
**Required Skills:** C++ (understanding OpenGL terminology is helpful too) **Difficulty:** Easy Whenever we want to change something in the shader for an object, we use a [`UniformInput`](https://github.com/SFTtech/openage/blob/d09adb0901b15deb1b02b257ff437a283f694771/libopenage/renderer/opengl/uniform_input.h#L25) object to store...
**Required Skills:** C++ **Difficulty:** Medium Currently, we let the camera move freely in the scene. This can result in the camera accidently moving away from the visible map terrain. It...
**Required Skills:** C++ **Difficulty:** Hard At the moment, changes to the movement cost of cells in the openage pathfinder always overwrite the old values. The old values are not saved...
**Required Skills:** C++ **Difficulty:** Easy The openage pathfinder uses flow fields to search for a path on the pathfinding grids (please read the [documentation](https://github.com/SFTtech/openage/blob/master/doc/code/pathfinding/README.md) to familiarize yourself with the concepts)....
**Required Skills:** C++ **Difficulty:** Medium Our current model of the flow field pathfinder doesn't account for *temporary* changes of the cost grid, e.g. a building being placed on terrain. In...
We should add a `curve::Vector` type to our curve container classes to record changes to sequences over time. The new vector type should implement these methods: **Read** | Method |...
We should add a `curve::Array` type to our curve container classes to record changes to a fixed size sequence over time. In comparison to https://github.com/SFTtech/openage/issues/1677 we can probably optimize a...
**Required Skills:** C++ **Difficulty:** Easy In the openage [pathfinder](https://github.com/SFTtech/openage/blob/master/doc/code/pathfinding/README.md), a portal node graph is used in the first stage of the search to find the *sectors* the path travels through...
**Required Skills:** C++ **Difficulty:** Hard openage provides a [pairing heap implementation](https://github.com/SFTtech/openage/blob/master/libopenage/datastructure/pairing_heap.h) that is mostly used in the A\* algorithm of our pathfinder. Currently, nodes on the heap are connected using...
Compile: ``` cmake -DCMAKE_TOOLCHAIN_FILE="D:\Developer\vcpkg\scripts\buildsystems\vcpkg.cmake" -DDOWNLOAD_NYAN=YES -DFLEX_EXECUTABLE="D:\Developer\win_flex_bison-2.5.25\win_flex.exe" -DCMAKE_INSTALL_PREFIX="./install" -DWANT_OPENGL=YES -DWANT_VULKAN=NO -G "Visual Studio 17 2022" -A x64 ../ ``` Run: ``` python -m openage --add-dll-search-path=D:\Git\openage\build\libopenage\RelWithDebInfo main ``` Cannot find qml library,...