OpenNuka

For new and upcoming OpenMW branches and ports; move fast and break things!
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

As I said, I'm not a coder, I assumed that a project with as broad a nature as what I think needed to be forked.
If there is no need for a fork, then we'll not fork it, and rename it.
We could refer to our team as OpenNuka, but that's as far as it goes, and any additions to OpenMW from this team would be contributions from the OpenNuka team, but that's about it, since it's going to be potentially similar in nature to the multiplayer feature, and potentially integrated.
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

AnyOldName3 wrote: 04 Oct 2018, 21:52 OpenMW was initially OpenEngine, but got renamed pretty early on as it was obvious that we'd have to do one game pretty well before it was sensible to try and implement another one. Now OpenMW is known, it might be a waste of that mind-share to rename it when it gets support for a new engine.

Ideally, a distant-future version of OpenMW would support all Bethesda games, and would be able to:
  • load files from any BSA/BA2, even if they don't match the currently running game (so you get that sweet BA2 texture loading performance boost even in Morrowind).
  • load any Nif version in any game (along with other formats, such as Collada and GLTF) as long as the game data pointed to that file as it should be able to determine which loader version to use from the file header.
  • translate any game script to Lua, picking the language based on the header of the ESP/ESM it was in for the older games, and based on the file extension for the newer games.
If the engine is modular enough to have these components easily replaceable, it's not that much harder to pick between them at runtime.
This seems to be the dream for me.
User avatar
cc9cii
Posts: 523
Joined: 28 Mar 2013, 04:01

Re: OpenNuka

Post by cc9cii »

BSA is no problem, but I don't have Fallout4 so BA2 will have to wait. Hopefully there will be a sale on when the new Fallout game is released.

NIF support is mostly there, at least parsing them. Underlying engine support for various animation/texture/etc tricks are what is taking time.

Scripting has not been touched at all, as noted elsewhere.
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

cc9cii wrote: 04 Oct 2018, 23:26 BSA is no problem, but I don't have Fallout4 so BA2 will have to wait. Hopefully there will be a sale on when the new Fallout game is released.

NIF support is mostly there, at least parsing them. Underlying engine support for various animation/texture/etc tricks are what is taking time.

Scripting has not been touched at all, as noted elsewhere.
Fallout 4 can wait for now for several reasons.
I think that if we stick to the batch of 3 games I've listed, Oblivion, Fallout 3, and Fallout New Vegas, aka, Phase 1 we won't run into any problems.
I feel that if we advance too fast Bethesda might let the hammer drop, I might be just paranoid, but I think we just need to focus on those 3 for now.
Once those are done, we will turn our attention to phase 2, which will be Skyrim and Fallout 4, and maybe Fallout 76.
I want to do Fallout 76, but that might be to one to avoid.
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

I'm pretty sure that if Fallout 76 could run on decentralized servers through this program, Bethesda would drop the hammer real fast.
It would be awesome to have that map for the purposes of modding, but for now I think we should avoid anything with BA2 like the plague.
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

Unless Skyrim uses BSA files, then we can add Skyrim to the canon of Phase 1.
I've played Skyrim, but I haven't modded it.

Phase one is potentially
Oblivion
Fallout 3
Fallout New Vegas
and Skyrim.

Phase 2 would then potentially be
Fallout 4
Fallout 76
and
Starfield
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

For now I have to leave some questions for us.
In order to achieve phase one, what do we need to do?
I'm assuming there are two categories here.
What do all of these games have in common that we can accomplish first as a foundation?
What are the special features of each of these 4 games that that will need to be implemented?
There are differences between each of the four games so we'll probably divide phase one into two sub groups.

Phase 1a
Oblivion (2006) Bethesda
and Fallout 3 (2008) Bethesda

Phase 1b
Fallout: New Vegas (2010) Obsidian
and Skyrim (2011) Bethesda

Phase 2a for now,
Fallout 4 (2015) Bethesda
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

AnyOldName3 wrote: 04 Oct 2018, 14:46 cc9cii has said that he's going to release some updated code when he gets time, but right now it's a mess and needs refactoring before any more progress can be made.

There are a few main tasks to getting other games working:
  • Reading assets (Nif/sounds etc.). cc9cii has made a lot of progress with this.
  • Reading game data (ESM/ESP). cc9cii has also made progress with this.
  • Interpreting scripts. Nothing's been done with this yet, and as OpenMW's going to replace its existing scripting implementation with a Lua-based one, now's probably not the best time to start. The most useful thing to try on this front might be to create something which translates the scripts to Lua, as that's a tool you're going to need.
This is some awesome news.
Sorry I posted first without reading it.
CaveDoctor
Posts: 31
Joined: 17 Sep 2018, 13:49

Re: OpenNuka

Post by CaveDoctor »

cc9cii wrote: 04 Oct 2018, 21:36
CaveDoctor wrote: 04 Oct 2018, 04:54 I want to see what needs to be done and who would be interested in helping me assemble a team for a fork of OpenMW.
I'm not a coder by any means, but I'm willing to learn code to work on this project.
I want to start a project for running the fallout games on this fork.
Any code developed from our fork will be shared with the OpenMW community.
The Project will either be called OpenNuka or Bottlecap.

V1 of Open Nuka will target three games to run.
Oblivion, Fallout 3, and Fallout New Vegas.

V2 of Open Nuka will target three games to run as well,
Skyrim, Fallout 4, and Fallout 76

V3
TES6 and Starfield?

I spoke with someone on reddit and we came to the conclusion the first thing that needs to be done to get this project off of the ground is to run .BSA files on the software.
Is there a .BSA commander type program that is open source?
The BSA code for TES4/TES5 is an extension of the code in OpenMW. It can be released without much cleanup so I will try to get that in github over the next week or two. Note that it won't be much of use without all the other parts.

What you want to achieve is broadly aligned with what I hope to do also. Having said that I'm not sure I would want to fork OpenMW for it nor change the name to something else?
What are the other parts?
User avatar
AnyOldName3
Posts: 2672
Joined: 26 Nov 2015, 03:25

Re: OpenNuka

Post by AnyOldName3 »

You're forgetting a couple of things:
  • Legally, there's nothing Bethesda can do to get rid of OpenMW as we're not actually infringing on their copyright. Everything is legally reverse engineered. In practice, Bethesda could cause a nuisance as they have the budget to send in enough lawyers that a case which should be thrown out immediately would get far enough that someone would have to pay a lawyer. We've come to agreements with Bethesda in the past primarily because it's better to be on their good side rather than because we live in constant fear of them. If we implement BA2 loading, it's not a big enough threat for them to bother caring.
  • Skyrim nears to be in the list twice as there's the regular 32-bit version and the 64-bit Special Edition, which makes some engine tweaks. These include new lighting and shading effects, ESL support, and BA2-but-still-called-BSA support (don't quote me on this one - I'm awaiting confirmation from a more knowledgeable source). This means that although the scripting system is the same, it's most of the work of adding a new game to get the rest working.
Post Reply