MetaHook (https://github.com/nagist/metahook) porting for SvEngine (GoldSrc engine modified by Sven-Coop)

Related tags

Game MetaHookSv
Overview

MetaHookSv

This is a porting of MetaHook (https://github.com/nagist/metahook) for SvEngine (GoldSrc engine modified by Sven-Coop Team),

mainly to keep you a good game experience in Sven-Coop.

It is currently not compatible with original GoldSrc engine, but it can be if broken signatures are fixed at future.

中文README

Risk of VAC ?

Although using hook is likely to be dangerous in VAC protected games, there is no VAC ban reported yet.

Use a separate account to play Sven-Coop if you worry about getting banned, since Sven-Coop is a free game.

Installation

  1. git pull https://github.com/hzqst/MetaHookSv or download from https://github.com/hzqst/MetaHookSv/archive/main.zip

  2. All required binaries and files are in "Build" folder, copy them to "\SteamLibrary\steamapps\common\Sven Co-op".

  3. Launch game from "\SteamLibrary\steamapps\common\Sven Co-op\svencoop.exe"

  • The new "svencoop.exe" is original called "metahook.exe", you can also run game from "metahook.exe -game svencoop" however it will cause game crash when changing video settings.

  • The SDL2.dll fixes a bug that the original SDL's IME input handler was causing buffer overflow and game crash. you don't need to copy it if you don't have a non-english IME.

Build Instruction

  1. git clone https://github.com/hzqst/MetaHookSv

  2. Open "MetaHook.sln" with MSVC 2015 or MSVC 2017 (not tested yet with MSVC2019)

  3. Build with Release configuration

  4. Open "Plugins\CaptionMod\CaptionMod.sln" with MSVC 2015 or MSVC 2017 (not tested yet with MSVC2019)

  5. Build with Release configuration

  6. Open "Plugins\Renderer\Renderer.sln" with MSVC 2015 or MSVC 2017 (not tested yet with MSVC2019)

  7. Build with Release configuration

  8. If there is no compile error(s), all binaries should be generated under "Build" directory.

Plugins

CaptionMod

A subtitle plugin designed for displaying subtitles and translate in-game HUD text.

Features

  1. Display subtitles when sound is played.

  2. Display subtitles when sentence is played.

  3. Display subtitles when there is a HUD TextMessage.

  4. Translate HUD TextMessage dynamically (regex supported).

  5. Hook original client's old-style HUD TextMessage and draw it with multi-byte character support.

  6. Hook VGUI1's TextImage control paint procedure and draw it with multi-byte character support.

  7. Custom dictionary for each map, put dictionary file at "/maps/[mapname]_dictionary.csv"

There is a example demo shows you how to translate constant HUD TextMessage into other language in "svencoop\maps\restrictionXX_dictionary.csv", delete if you don't need them.

There is a example demo shows you how to translate dynamic HUD TextMessage into other language with regex in "svencoop\captionmod\dictionary_schinese.txt" called "#SVENCOOP_PLAYERINFO", however it won't take effect in game since Sven-Coop only uses "dictionary_english.txt" as localization file.

Modify and overwrite "dictionary_english.txt" is the best option if you are expected to use non-English language in game.

Console Vars

cap_enabled 0 / 1 : to enable or disable CaptionMod's subtitle display.

cap_netmessage 0 / 1 : to enable or disable CaptionMod's HUD TextMessage translation.

cap_debug 0 / 1 : to output debug message when there is a HUD TextMessage or sound playing.

Renderer

A graphic enhancement plugin that modifiy the original render engine.

You can even play with 200k epolys models and still keep a high framerate.

Features

  1. High-Dynamic-Range (HDR) post-processor.

  2. Simple water reflection and refraction. (Warning: this may cause a significant performance hit.)

  3. Simple Per-Object Shadow. (Warning: this may cause a significant performance hit.)

  4. Screen Space Ambient Occlusion (SSAO) using horizon-based ambient occlusion (HBAO). the implementation is taken from nvidia. (not support with -nofbo) (Warning: this may cause a significant performance hit when sampling radius is too large.)

  5. MultiSampling Anti-Aliasing (MSAA)

  6. Fast Approximate Anti-Aliasing (FXAA) when MSAA is not available.

  7. Deferred-Shading and Per-Pixel-Dynamic-Lighting for all non-transparent objects. "unlimited" (maximum at 256 for SvEngine) dynamic lightsources are supported now with almost no cost. (not support with -nofbo)

  8. Vertex-Buffer-Object (VBO) "Batch-Draw" optimization and GPU-Lighting for studio model. With VBO enabled you will get higher framerate and lower CPU usage. You can get maximum at 8x FramePerSeconds than non-VBO mode in extreme case (200k+ epolys with no FPS drop).

  9. Vertex-Buffer-Object (VBO) "Batch-Draw" optimization for BSP terrain. With VBO enabled you will get higher framerate and lower CPU usage. Warning: this feature may cause the render result differs from the one in original game that: random textures are gone, non-visible terrain in current BSP-node are always visible...

Launch Parameters / Commmandline Parameters

-nofbo : disable FrameBufferObject rendering. SSAO and Deferred-Shading will not be available when FBO is disabled.

-nomsaa : disable MultiSampling Anti-Aliasing (MSAA). It is strongly recommended to disable MSAA if you are using SSAO.

-nohdr : disable High-Dynamic-Range (HDR).

-directblit : force to blit the FrameBufferObject to screen.

-nodirectblit : force to render backbuffer as a textured quad to screen.

-hdrcolor 8/16/32 : set the HDR internal framebufferobject/texture color.

-msaa 4/8/16 : set the sample count of MSAA.

Console Vars

r_hdr 1 / 0 : to enable / disable HDR(high-dynamic-range) post-processor. recommended value : 1

r_hdr_blurwidth : to control the intensity of blur for HDR. recommended value : 0.1

r_hdr_exposure : to control the intensity of exposure for HDR. recommended value : 5

r_hdr_darkness : to control the darkness for HDR. recommended value : 4

r_hdr_adaptation : to control the dark / bright adaptation speed for HDR. recommended value : 50

r_water 2 / 1 / 0 : to enable / disable water reflection and refraction. 2 = draw all entities and terrains in reflection view, 1 = draw only terrains in reflection view. recommended value : 1

r_water_fresnel (0.0 ~ 2.0) : to determine how to lerp and mix the refraction color and reflection color. recommended value : 1.5

r_water_depthfactor (0.0 ~ 1000.0) : to determine if we can see through water in a close distance. recommended value : 50

r_water_normfactor (0.0 ~ 1000.0) : to determine the size of water wave (offset to the normalmap). recommended value : 1.5

r_water_novis 1 / 0 : force engine to render the scene which should have been removed by visleaf when rendering refraction or reflection view. recommended value : 1

r_water_texscale (0.1 ~ 1.0) : to control the size of refract or reflect view texture. recommended value : 0.5

r_water_minheight : water entity which has height < this value will not be rendered with shader program. recommended value : 7.5

r_shadow 1 / 0 : to enable / disable Per-Object Shadow. recommended value : 1

r_shadow_angle_pitch (0.0 ~ 360.0) : to control the angle(pitch) of shadow caster (light source).

r_shadow_angle_yaw (0.0 ~ 360.0) : to control the angle(yaw) of shadow caster (light source).

r_shadow_angle_roll (0.0 ~ 360.0) : to control the angle(roll) of shadow caster (light source).

r_shadow_high_texsize (must be power of 4) : the texture size of high-quality shadow map. larger texture with bigger scale factor has better quality but uses more graphic RAM. recommended value : 2048

r_shadow_high_distance : entities within this distance are rendered into high-quality shadow map. recommended value : 400

r_shadow_high_scale : scale factor when render shadow-caster entity in high-quality shadow map. larger scale factor gets better quality shadow but will cause incorrect render result when the entity is scaled too much. recommended value : 4.0

r_shadow_medium_texsize (must be power of 4) : the texture size of medium-quality shadow map. recommended value : 2048

r_shadow_medium_distance : entities within this distance are rendered into medium-quality shadow map. recommended value : 1024

r_shadow_medium_scale : scale factor when render shadow-caster entity in low-quality shadow map. recommended value : 2.0

r_shadow_low_texsize (must be power of 4) : the texture size of low-quality shadow map. recommended value : 2048

r_shadow_low_distance : entities within this distance are rendered into low-quality shadow map. recommended value : 4096

r_shadow_low_scale : scale factor when render shadow-caster entity in medium quality shadow map. recommended value : 0.5

r_ssao 1 / 0 : to enable / disable Screen Space Ambient Occlusion. recommended value : 1

r_ssao_intensity : to control the intensity of SSAO shadow. recommended value : 0.6

r_ssao_radius : to control the sample size of SSAO shadow. recommended value : 30.0

r_ssao_blur_sharpness : to control the sharpness of SSAO shadow. recommended value : 1.0

r_ssao_bias : test it yourself. recommended value : 0.2

r_ssao_studio_model : 0 / 1 to enable / disable drawing SSAO shadow on studio model. recommended value : 0

r_light_dynamic : to enable / disable Deferred-Shading (Dynamic-LightSource support). recommended value : 1

r_flashlight_cone : cosine of angle of flashlight cone. recommended value : 0.9

r_flashlight_distance : flashlight's illumination distance. recommended value : 2000.0

r_light_ambient : ambient intensity of dynamic light. recommended value : 0.35

r_light_diffuse : diffuse intensity of dynamic light. recommended value : 0.35

r_light_specular : specular intensity of dynamic light. recommended value : 0.1

r_light_specularpow : specular power of dynamic light. recommended value : 10.0

r_studio_vbo 1 / 0 : enable / disable VBO batch-optmization draw for studio model. recommended value : 1

r_wsurf_vbo 1 / 0 : enable / disable VBO batch-optmization draw for BSP terrain. recommended value : 1

r_fxaa 1 / 0 : enable / disable Fast Approximate Anti-Aliasing (FXAA) when MSAA is not available. recommended value : 1

Comments
  • VERY long game loading time with .dds textures (DXT5)

    VERY long game loading time with .dds textures (DXT5)

    For some unknown reason, when using textures format .dds game takes a very long time to load. It's not about the iron, because the old version of nagist does not suffer from such an affliction. The game is installed on an NVME SSD The resolution of the texture does not play a role. If you use a format other than .dds it loads quickly, but this is not the solution. It should be just the other way around, textures in .dds format are loaded directly into memory without any extra processing.

    Translated with www.DeepL.com/Translator (free version)

    opened by d3nchk 29
  • 地图的置换功能

    地图的置换功能

    哈哈 又是我 真不好意思 但我很激动能在CS用到这个插件 我在detail文件里写了cugroundi_PARALLAX tides_brick_wall_a.png 8 8, cugroundi_NORMAL tides_brick_wall_a_normal.png 8 8 控制台没有报错误,但当我打开r_wsurf_detail 1时 地图没有更换纹理 反而是让我地图上的其他纹理替换了上去,cugroundi是我的纹理名,是我的写法有问题吗 我想替换地图的材质给地图增加法线贴图 另外我想问我如何使用原来的细节纹理 你在这个文档中没有给出更多的写法

    opened by q52888940 16
  • [BP] Models are converted into ragdolls on wrong frame

    [BP] Models are converted into ragdolls on wrong frame

    [DeathAnim]
    101 14
    102 14
    103 30
    104 5
    105 30
    106 36
    107 5
    108 36
    109 5
    110 5
    

    https://user-images.githubusercontent.com/3608544/196475635-0a5219d5-5dd9-418e-a0bf-3d0dd0e2365c.mp4

    opened by di57inct 9
  • Feature Request: Possibility to detect a Metahook client serverside

    Feature Request: Possibility to detect a Metahook client serverside

    I want to be able to detect clients who use metahooksv from the server side via AngelScript. This would allow me to enable several dlight stuff for metahooksv players without destroying the performance for players who use the vanilla client for example.

    Maybe it could add a custom networked Userinfo key https://github.com/dreamstalker/rehlds/wiki/Userinfo-keys _metahook true or something, that way it could work.

    Additionally, because this could be also used to ban metahooksv players, a client config variable to hide the userinfo key could be added, so a player can prefer not to send this variable to be stealth. But it should be sent by default, otherwise it would be useless for my intentional use.

    opened by incognico 9
  • Zoomed screen issue

    Zoomed screen issue

    I don't know if this is a MetaHook (but i believe it is) problem but for some users screen starts zoomed for some reason.

    Changing size of text, apps and other items to %100 in Windows Display Settings fixes the issue mostly.

    opened by BlackShadow 9
  • Two errors, likely due to user error

    Two errors, likely due to user error

    Hello wonderful person, this is Andrew. I have installed MetaHookSv for Sven Co-op, and unfortunately am beset with two errors. I am not within a high caliber of technological literacy, so I am hoping you may be able to shed some light on these issues.

    So, I downloaded the most recent stable release of MetaHookSv from the git releases page. I followed the instructions, to my knowledge, and put the captionmod, metahook and renderer folders into the svencoop directory, as well as the gfx, maps, models and sound folders into the svencoop_addon directory. I also renamed the plugins_svencoop.lst to plugins.lst. I then placed FreeImage.dll, SDL2.dll and svencoop.exe into the main directory. After this, I ran the game through your executable and was met with the following errors: MH_LoadPlugin: Could not load SCModelDownloader.dll, lasterror = 126 and Fatal Error: 16bit mode is not supported.

    I did notice I could not find any files related to the SCModelDownloader plugin, save for it being referenced in the .lst, and that even cloning the repository and building it myself did not yield the .bat to build the plugin, though I still assume this is all some error on my end. I very much wish to use both MetaHookSv in general as well as this plugin, so your time would be greatly appreciated. Finally, thank you for undertaking this project, it seems very useful and interesting.

    opened by Gillum-Andrew 8
  • I have some questions

    I have some questions

    Once again, hello!

    During the testing of this wonderful engine a number of questions have accumulated, I would like to ask you

    1. Is it possible to replace only the textures of bullet holes in the decal-replacer, or can all decals be changed, which are contained in decal.wad? If all, then at least I do not want to change the texture of opal from the explosion of a grenade, the file name {scorch1-3, {smscorch1-3. 2-Started noticing sudden, completely random crashes on the desktop, no reason, no errors, is there a variable to keep a full log of everything in real time? So that at least I can understand when I crash, or send you the bug report. 3-I have a bug, depends on the variable -nobindless, on the map de_dust, which I retextured, there is a gap old textures. On the old build, if you include the variable -nobindless , then there was a bug, while replaced on other maps of all the textures, if you turn off the parameter -nobindless on the map de_dust problem was not, but on other maps, not all the textures are replaced. On the new build, even stranger, the game behaves as if the parameter -nobindless forced, and if you enter this variable in the startup parameters, the game immediately crashed on the desktop.

    de_dust0001

    opened by d3nchk 8
  • [BulletPhysics] Ragdoll fails to update position

    [BulletPhysics] Ragdoll fails to update position

    https://user-images.githubusercontent.com/3608544/174457405-6a2b80b5-2392-4b3e-888d-bae98115e326.mp4

    https://user-images.githubusercontent.com/3608544/174457406-e58e7c2e-9b43-4114-9c04-d654d169897b.mp4

    https://user-images.githubusercontent.com/3608544/174457408-4ef1616c-bfa7-43d9-9637-bec1ad95d152.mp4

    opened by di57inct 8
  • 布娃娃问题

    布娃娃问题

    ![Uploading 0I[3O`O~8YW%T25A@HY)XI.png… 我在CS中使用布娃娃插件成功,尝试给模型pLAYER/GIGN写布娃娃,但在游戏里没有效果 以下是我的配置文件 [DeathAnim] 101 80 102 120 103 120 104 80 105 120 106 150 107 30 108 150 109 150 110 150

    [RigidBody] Pelvis 1 24 capsule -4.0 7.0 0.1 6 L Thigh 24 26 capsule -4.0 7.0 0.1 6 L Calf 25 29 capsule -4.0 7.0 0.1 6 L Foot 26 31 capsule -4.0 7.0 0.1 6 R Thigh 29 1 capsule -4.0 7.0 0.1 6 R Calf 30 3 capsule -4.0 7.0 0.1 6 R Foot 31 4 capsule -4.0 7.0 0.1 6 Spine1 3 5 capsule -4.0 7.0 0.1 6 Spine2 4 7 capsule -4.0 7.0 0.1 6 Spine3 5 6 capsule -4.0 7.0 0.1 6 Neck 6 9 capsule -4.0 7.0 0.1 6 Head 7 10 capsule -4.0 7.0 0.1 6 L Clavicle 8 11 capsule -4.0 7.0 0.1 6 L UpperArm 9 17 capsule -4.0 7.0 0.1 6 L Forearm 10 8 capsule -4.0 7.0 0.1 6 L Hand 11 4 capsule -4.0 7.0 0.1 6 R Clavicle 16 1 capsule -4.0 7.0 0.1 6 R UpperArm 17 5 capsule -4.0 7.0 0.1 6 R Forearm 18 3 capsule -4.0 7.0 0.1 6 R Hand 19 7 capsule -4.0 7.0 0.1 6 L Hand 8 16 capsule -4.0 7.0 0.1 6

    [Constraint] Spine Head conetwist 6 15 0 0 0 0 6 0 0.01 0.01 0.2 Pelvis Spine conetwist 1 5 0 0 4 0 -4 0 0.0 0.0 0.1

    Spine LArm conetwist 7 8 0 0 0 0 -4 0 0.33 0.33 1.0 LArm LArm2 conetwist 8 9 0 0 0 0 -4 0 0.2 0.2 0.2 LArm2 LHand conetwist 9 10 0 0 0 0 3 0 0.2 0.2 0.3

    Spine RArm conetwist 11 12 0 0 0 0 -4 0 0.33 0.33 1.0 RArm RArm2 conetwist 12 13 0 0 0 0 -4 0 0.2 0.2 0.2 RArm2 RHand conetwist 13 14 0 0 0 0 3 0 0.2 0.2 0.3

    Pelvis LLeg conetwist 41 41 0 0 0 0 -7 0 0.1 0.1 0.25 LLeg2 LLeg hinge 41 41 0 0 0 0 8 0 -0.6 0.0 0

    Pelvis RLeg conetwist 46 46 0 0 0 0 -7 0 0.1 0.1 0.25 RLeg2 RLeg hinge 46 46 0 0 0 0 8 0 -0.6 0.0 0

    [Barnacle] LLeg2 dof6 0 8 0 40000 4 16 LLeg2 chewlimit 0 0 0 0 1.0 4 RLeg dof6 0 0 0 30000 -16 16 RLeg chewlimit 0 0 0 0 1.0 4 Pelvis chewforce 0 0 0 8000 1.0 0

    [Gargantua] Head GargMouth dof6z 0 0 0 20000 -8 16 Spine GargMouth dof6z 0 0 0 20000 -16 32 Pelvis GargMouth dof6z 0 0 0 20000 -24 64

    opened by q52888940 8
  • 二次元渲染和地图影子角度设置无效果

    二次元渲染和地图影子角度设置无效果

    测试游戏 "CS零点行动" { "origin" "-2176 -1088 7" "_distance" "300.0" "_light" "172 232 251 110" "classname" "light_environment" "_specular" "1.0" "_specularpow" "10" "pitch" "-40" } 地图数据 测试地图"DE_CBBLE_CZ"

    opened by q52888940 8
  • [BulletPhysics][Suggestion][CS/CZ] Keep ragdoll instead of ClCorpse message

    [BulletPhysics][Suggestion][CS/CZ] Keep ragdoll instead of ClCorpse message

    In CS 1.6 and CZ, after a player dies and the animation finishes, it is rendered invisible and a ClCorpse( https://wiki.alliedmods.net/Half-life_1_game_events#ClCorpse ) message is sent to players, basically spawning a client-sided entity at a certain origin with the player model and the last frame of the death animation that was played. If you can find a method to somehow hook this and keep the ragdoll instead it would be awesome. Thank you :)

    https://user-images.githubusercontent.com/3608544/174457658-30e14a53-8ba9-4d99-811d-4bbc30231071.mp4

    opened by di57inct 7
  • Missing model made game crashed

    Missing model made game crashed

    when the model is missing and not on any database the game will showing a missing model with red and black flickering repeating made the GPU out of VRAM and crashed

    opened by SonThanhVN 0
  • A radical solution to all problems

    A radical solution to all problems

    Good evening! I had a genius idea: Maybe fuck OpenGL, can you move everything to Vulkan? The drivers eat it fine, works equally well on AMD and NVIDIA. I just don't think AMD will ever solve the OpenGL problem. And the performance on AMD is at least better on Vulkan and reaches 300% difference in favor of Vulkan. At the moment the game keeps crashing after 1-2 maps and there's nothing you can do about it. It's 100% AMD drivers.

    opened by d3nchk 0
  • [Renderer] Some water entities are not hooked

    [Renderer] Some water entities are not hooked

    For example on fy_pool_day. Video example and screenshots with entity properties from this map and default de_aztec map below.

    https://user-images.githubusercontent.com/3608544/198339876-a0636f66-7117-420d-9bdf-2c5e96709d74.mp4

    image image

    opened by di57inct 2
  • [Renderer] Weird studio model glitch

    [Renderer] Weird studio model glitch

    Problem wasn't present on previous version. Latest update also made the colors brighter(i don't mind that, just reporting).

    https://user-images.githubusercontent.com/3608544/198008517-47b89bbf-c468-47d6-aa49-254662dadc76.mp4

    opened by di57inct 2
  • [CM] Subtitle VGUI pannel settings do not save

    [CM] Subtitle VGUI pannel settings do not save

    Tried both with hitting apply/ok on main audio VGUI menu and without. All of the options fail to save.

    https://user-images.githubusercontent.com/3608544/197357685-424a8c62-dcd2-412a-9d57-be3702758331.mp4

    opened by di57inct 0
Releases(v20221203)
Owner
hzqst
hzqst
Simple Directmedia Layer, 1.2 branch ... ***DEPRECATED***, please use https://github.com/libsdl-org/SDL for new projects!

DEPRECATED The 1.2 branch of SDL is deprecated. While we occasionally collect fixes in revision control, there has not been a formal release since 201

Simple Directmedia Layer 55 Jan 2, 2023
A modified version of Psych Engine

This is an engine that does stuff wip tho but feel free to use This engine support gamejolt crap, so if you don't want gamejolt stuff, remove <define

null 2 Dec 8, 2021
After a few loose attempts at porting Source-games; here comes my first real one!

StanleyParable-Vita After a few loose attempts at porting Source-games; here comes my first real one! (For anyone who wonders what happened to the HL2

Sleppo04 4 Sep 21, 2021
Godot Engine – Multi-platform 2D and 3D game engine

Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unifie

Godot Engine 56.7k Jan 9, 2023
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2.2k Jan 1, 2023
Flax Engine – multi-platform 3D game engine

Flax Engine – multi-platform 3D game engine

Flax Engine 3.7k Jan 7, 2023
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jakub Biliński 48 Dec 29, 2022
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Dmitriy Nosov 13 Dec 14, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

 PardCode 61 Dec 14, 2022
Rogy-Engine- - My 3D game engine source code.

Rogy-Engine Development My 3D game engine. (NOT THE FINAL VERSION- Windows only) Features: PBR shading and reflection probes with parallax correction.

AlaX 97 Dec 28, 2022
The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

null 2.8k Dec 29, 2022
Hyperion Engine is a 3D game engine written in C++

Hyperion Engine About Hyperion Engine is a 3D game engine written in C++. We aim to make Hyperion be easy to understand and use, while still enabling

null 293 Jan 1, 2023
A high speed C++17 Vulkan game engine

Acid is an open-source, cross-platform game engine written in modern C++17 and structured to be fast, simple, and extremely modular. Vulkan is the sol

Equilibrium Games 1.4k Dec 30, 2022
Pure C Game Engine

Corange game engine Version 0.8.0 Written in Pure C, SDL and OpenGL. Running Corange is a library, but to take a quick look at some of the things it d

Daniel Holden 1.6k Dec 27, 2022
The flexible game engine.

The flexible game engine. Crown is a general purpose and data-driven game engine, written in orthodox C++ with a minimalistic and data-oriented design

Daniele Bartolini 1.7k Dec 28, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.9k Jan 8, 2023
Grit Game Engine

Grit Engine This is the central repository for the Grit Game Engine project. From here can be built the engine executable itself, the launcher, and va

Grit Game Engine 103 Dec 7, 2022
A lightweight game engine written in modern C++

Halley Game Engine A lightweight game engine written in C++17. It has been used to ship Wargroove, a turn-based strategy game, on Windows, Mac (experi

Rodrigo Braz Monteiro 3.2k Dec 30, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.8k Dec 23, 2022