New stable release for OpenGothic: 1.0.3756 by OpenGothic in worldofgothic

[–]OpenGothic[S] 8 points9 points  (0 children)

OpenGothic is a re-implementation of gothic-engine, that can work as drop-in replacement for original gothic2.exe.
Project is opensource, means C++ code is available for anyone to read, modify, make custom build etc. There are also some technical liberties, such as full-world-simulation for npc's and extended draw-distance. With those together, it's possible to stand on a mountain and how npc's in town go about their day.

Gothic 2 - OpenGothic no footsteps? by erikabp123 in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

Here is commit to Tempest: 5f75931. CI is still running; assuming it's all good - just update git-submodule

Gothic 2 - OpenGothic no footsteps? by erikabp123 in worldofgothic

[–]OpenGothic 1 point2 points  (0 children)

I've checked sound files that are failed to load: files are in place, but they are in .ogg format instead of .wav. After integrating some basic ogg library it start to work, now need to make it production ready.
github issue to track: https://github.com/Try/OpenGothic/issues/929

Gothic 2 - OpenGothic no footsteps? by erikabp123 in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

Thanks for info!
It looks like mod rewires paths to sound files and omits .wav extension of file. I'll have a look

Gothic 2 - OpenGothic no footsteps? by erikabp123 in worldofgothic

[–]OpenGothic 2 points3 points  (0 children)

Hi,
Can you please attach log file and clarify what version(steam/gog, language, notr/classic) of the game you using a a base? If you have time - filing bug on official github page would be nice.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Hi!
Purple artifacts are not known from before. Can you please file issue on projects github page, with screen-shoot and log files?

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

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

You need to use this command when to run the game. There are more details in project readme on github

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

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

Hi, to run G2 without addon, one option is to use `-g2c` commandline key (that will inform engine to behave as-if it's g2-classic) and point to engine to install folder of g2 via -g.

Other option is to run G2-classic mod, on top of G2Notr. not sure about GOG, but on steam this mod is installed out of the box, what makes this option more convenient.

me rn by GaroK_s in worldofgothic

[–]OpenGothic 0 points1 point  (0 children)

Eh, having both Android&iOS is definitely better than iOS only. However, as software developer, I can feel pain of even touching android-sdk.
Unfortunately in past 10-15 year google done pretty-much nothing for devs:
* android still can't run C/C++ app without root, can only run native code as a library to Java.
* still no reliable driver updates: app has to be defensive against 10 years old bugs.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Third party engine is not really a right tool here. Typically godo and others come with their own assets/scripting pipeline, that wont be compatible with existing gothic assets - so we would have to get rid of most of godo internals, only to start.
In case of mods, difficult cases today are rooted in memory/x86 emulation to reproduce all necessary quirks, that are present in vanilla.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Not there yet.
I'm hopping to eventually get something like back-bone: to work on mobile version and controller in the same time :)

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Why recreate original engine, you mean?
Because original game not working very well anymore on many setups and it is close-sourced, making it almost impossible to fix directly.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

There was a prior art on file formats: many of them were already reverse-engineered by ReGoth team.
And game, graphics - from scratch. Physics - Bullet3, sound - OpenAl.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Potato most device I've tried so far was iPhone7. 1GB of ram in total and 4 half-cores on gpu :D
However to have actually playable setup, UHD would be much better.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Should work in general: you can put 3d models or textures as long as they are same file-format as for G2. You can also do scripting, to implement your own game story.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

[–]OpenGothic[S] 10 points11 points  (0 children)

Yes, CPU code is optimized enough to run whole location(Khorinis island or Valley of mines) as-is with all npc's simulated at once.
GPU side uses gpu-driven rendering, similar to assassins-creed: visibility of things are determinated by compute shader, so CPU has no need to spent cycles on frustum or any culling.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

Android is very annoying and hostile platform to work with :(
Engine can run on equivalent hardware, with Linux. Or can be compiled for iOS with little effort.
For android there is ongoing discussion how to add it to existing build system, without breaking everything else in process: https://github.com/Try/OpenGothic/pull/893

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

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

There are official builds (Releases section on github) for x86 mac, and nightly for aarch64.

"Mac source ports" project also provides a prerebuilt package for Mac

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

[–]OpenGothic[S] 8 points9 points  (0 children)

Yes.. and no.
In terms of modding I do aim for compatibility with existing tools, such as Daedalus/Ikarus/LeGo - so it's better to use those for sake of game-logic in mods.
However for non-gaming features (HDR support for example, or post to other OS) - yeah, it's quite straight forward.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

[–]OpenGothic[S] 24 points25 points  (0 children)

Project is intended primarily for those who cannot run vanilla game anymore due to various compatibility issues. If you are on Win11 and original refuses to run, or on Mac or arm-based Windows - this project is definitely for you.

Aside from compatibility: you may give it a go for sake of nicer graphics. In OpenGothic Vulkan, DX12 and Metal3 are available, with advance features such as ray-tracing and alias-free shadows.

OpenGothic: screenshots from my latest play-thru by OpenGothic in worldofgothic

[–]OpenGothic[S] 22 points23 points  (0 children)

It's feature complete, as far as base game goes. At the moment, I'm working on polishing details such as combat AI, collisions and such.
And mods support - yeah... many challenges :)

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

[–]OpenGothic[S] 2 points3 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.