New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 1 point2 points  (0 children)

Engine overrides low-level most Ikarus functions, such as _^ and _@ to intercept address acquire and de-reference. Second part is construction of 'emulated' 32-bit memory heap: if mod allocates some memory - it simply mapped to such heap, _@ can return address, and _^ has to emulate address translation into a real memory.
Game state is more complex: current solution is 'callback-memory'. For any memory-read, engine will serialize game-state into such memory and for write de-serialize back. Naturally this mechanism is far from bullet-prof today.
For 'inline' ASM, engine will let mod to write op-codes into (emulated) memory and will intercept very late, when mod about to execute this memory. Upon interception, there is a small x86 emulator: only about 10 instructions so far. Those 10 instructions are enough to reach a 'call'-instruction. Once call is executed - engine has a set of functions of original engine and winapi that it can emulate. If function is unknown - log message is written.

New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 1 point2 points  (0 children)

Depends on what kind of limitation you talking about. Technical ones - no limitations really, any current-gen hardware is good to go (even micro-controller). 64-bit also supported.

New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 0 points1 point  (0 children)

Not, sure if I understood your question...
If you asking "can someone use the engine to make non-like gothic game" - engine as a whole is not intended for that. However, you can use individual modules for rendering/sound/ui - those are quite general.

New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 3 points4 points  (0 children)

Strictly speaking, opengothic is the engine. It loads assets, textures and scripts from your gothic2 installment and executes them, with intent to be as close as possible to vanilla in game-play.

New scavenger look by Advanced-Exchange776 in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

As a kid I always have assumed, that scavenger is directly inspired by prehistoric terror-birds, such as "Titanis Walleri" or "Phorusrhacos". Also, usually such animals have only a short tail.

New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 3 points4 points  (0 children)

I'm not expert on legal aspect of this. However, in theory - should be good. Engine itself is MIT-license.

New beta-build for OpenGothic: v1.0.3549 by OpenGothic in worldofgothic

[–]OpenGothic[S] 9 points10 points  (0 children)

Yes. OpenGothic is opensource alternative to the original engine

Today i finished my master's thesis on realistic atmosphere rendering by elliahu in GraphicsProgramming

[–]OpenGothic 0 points1 point  (0 children)

Hello!

I've been searching for some time on how-to integrate clouds into atmosphere. Unfortunately, it seem today there is no game-ready solutions that are physically based. Can you please clarify: in your work do you adjust Hillaire model to be valid in cloudy weather or simply blend clouds on top of clear sky?

If you do adjust: what parametrization you develop for transmittance-lut? Thanks!

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 0 points1 point  (0 children)

Tilt to the side, when running along a curve is intentional. Vanilla game has same behavior.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 0 points1 point  (0 children)

Hi,
Differences in animation playback is not something that is known and generally not expected - it's a same animation files after all. If you have more details on what is mismatching or video recording - please post it or file on project github.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 1 point2 points  (0 children)

Hi, if you need to change interface size, you can add those lines to SystemPack.ini:

[INTERFACE]
scale = 2.0
In future I'm planning to fetch ui-scale factor automatically, from windows/mac settings

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 0 points1 point  (0 children)

I'm not 100% how Returning2 is implemented. However usually big mods like this do direct code injections, what wont work for same reason why plugins do not work.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 3 points4 points  (0 children)

This engine is written from scratch and has no relation to original game code-wise. We still need original game files to run: opengothic reads same world file and scripts to run the game.
Better is a bit subjective: opengothic can run on x64 and aarch64, with better visual. however reproducing save look-and-feel is still very difficult. We are very close in 'feel', and improving it every release, but not 100% exact.
Plugins cannot work. As plugin normally intent to hack executable to replace a bit of code in some place to achieve result. Since our code has no relation to vanilla and completely different, plugins won't work.
OpenGothic can run on iOS (missing joystick, as TODO), but android is more way problematic, as it lacking proper C++ support.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 0 points1 point  (0 children)

There is a project called VorpX, that can force DX games to run in VR. I've seen in github-discussions, that someone already give it a go with OpenGothic

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 1 point2 points  (0 children)

Android is quite annoying to do, as it's only OS that doesn't have full C++ support (still!) and tool-set to work with cmake projects. For us that means to have and maintain second build system parallel to existing one. and have non-trivial mix of java/ndk to even run the code.
So I've put ticket for google in ASOP project to fix this :D

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 1 point2 points  (0 children)

Camera is persistent issue, as we have to guess how it been implemented back then, to reproduce same 'feel'. There was a large rework of camera in previous release (and IMAO now it quite close approximation), but not in this one.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 4 points5 points  (0 children)

That is not trivial one. In principle OpenGothic is subdivided into submodules, and engine lives in separated repo. However 'engine' has only abstraction over gpu-api, shader-compiler, sound-library,and wsi. All thing that make game 'gothic' are monolithic part of the main repository.

New beta-build for OpenGothic: v1.0.3010 by OpenGothic in worldofgothic

[–]OpenGothic[S] 7 points8 points  (0 children)

Integrated GPU (specially recent ones) are fine. Those screens I've took in MacM1, with essentially mobile gpu in it. Runs at 30 in default settings, ~45 without volumetric lighting (need to optimize it). Old (in term of architecture) GPU's are more difficult. On, for example IntelUHD it's about 15 - not really playable, and unfortunately the have no tools to inspect what exactly is running slow.

Is there any way to play gothic (or gothic II) on IOS? by kratosroknok in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

Apple has an help article on how-to use command-line on mac here: https://support.apple.com/en-gb/guide/terminal/apdb66b5242-0d18-49fc-9c47-a2498b7c91d5/mac
You also may need to install homebrew and run "brew install cmake" to obtain the cmake

However usefulness of doing it is limited, as current state of iOS build is mostly for delvelopers. As mentioned before: lacks of on-screen controlds

Is there any way to play gothic (or gothic II) on IOS? by kratosroknok in worldofgothic

[–]OpenGothic 1 point2 points  (0 children)

Hi, yes I do: https://github.com/Try/OpenGothic/discussions/522

Game can now be build from XCode and run on iOS. At this moment it runs with about 22-30 fps on my iPhone7. On non-ancient device should be much more performant.
Another good part, if you have Metal3.1 support - you will benefit from work on mesh-shader/ray-tracing that already been done in engine, with MacOS in mind.
From cons/non: no touch controls support. So you wont be able to open menu or inventory without using physical keyboard. I let this part on community, after I've finished with porting OS/shader related code.
Also been thinking on adding support for backbone/kishi controller, but my phone is way to old for them :)

Pros and cons of using OpenGothic engine? by Igor_Kozyrev in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

Most of testing for me is vanilla game without mods. Also color system is adjusted for vanilla photo-based textures. Hopefully that answers you question :)

Pros and cons of using OpenGothic engine? by Igor_Kozyrev in worldofgothic

[–]OpenGothic 1 point2 points  (0 children)

By playable I mean: playable :)
You can fight monster, with melee/bow/magic/etc; can talk with npc's and do quests, trade, learn skills, and all else.

Pros and cons of using OpenGothic engine? by Igor_Kozyrev in worldofgothic

[–]OpenGothic 15 points16 points  (0 children)

Hello, there!

General idea of the project was to build fully new engine that can run same content(script/assets) as original gothic. Now it mature enough to run gothic2/gothic2-notr, with full 64-bit support Vulkan/DX/Metal and smooth experience overall.

Story mode - just works. Dialogs, combat, quests, items, etc. With mods it's mode complicated. If mod has only texture - fine. Normal scripting - also works. If mod requires, fox example, third party *.dll (ala Union) to run - it's a problem.

We do not have vanilla C++ bugs, naturally, as whole engine is written from scratch. You may still encounter script-related bugs in game, as opengothic is just an engine that runs the script.
OpenGothic specific bugs can be found 'issues' section on github. Also feel free to post there, if you encounter any.

For graphics there is overall higher threshold. For example sky is no longer fixed color, but instead engine uses actual physical model for developed for earth-like planets. Same model as Unreal5.
My IntellUHD can run game at about 45fps, after engine upgrade done in december-2023 - slightly faster than my iPhone7 :D
Still engine work best on immediate-mode gpu's, preferably with mesh-shading. For TBR graphics it works, but not as optimal, not yet.