Game was built using copyright assets to be an identical replica of the original just on a modern engine & multiplayer. To Be able to distribute to players they are to point the installer to their purchased copy of the original game to import the assets, apply designer tweaks, and after quite some time a .pak is to be generated which the game is expecting to find in order to run.
I have spoken with the games legal team and this is possible, as this project is free for all and will not redistribute their game assets.
I’m a couple of weeks into development now with good progress so far. Its a simple game, as the idea is to reuse all assets as players are expected to have them already to import into game.
There is problems, there is no way to generate uassets from raw files let alone into a pak file without the editor. I believe a fully compiled release game is incapable of this. And you can’t redistribute UnrealEngine with your game that would be absurd.
What options do i have here? I am going to stop development as this seems like a colossal paperweight at this point.
You could write all your own Read routines for the different assets from the original game and skip a pack file (think low level c++ routines you would build into the engine or plugins distributed with the engine) - but that would be a really big job and would probably be a bit of a mare to distribute - it would be possible though…
This is on the back-burner for me as i continue to development the project. Close to the end ill put more time into a solution.
One solution i was exploring was not having the engine make cooked game pak files and just modifying the game engine on how uassets are read / saved. Injecting the copyright asset binary data into the uasset file and having unreal understand it proper. This would require that the data be understandable by unreal engine, so preparation for the file assets before-hand would be needed. This means all soundfiles converted to .wav, textures converted to tga or png, all models and animations exported as fbx (blender is free and small to install, its what i use to read the old game’s files and export to fbx anyway. It can run python scripts so it can be automated). Everything else like levels, game logic, etc can be shipped with the game with no issue of course. This one i explored the most and it does seem feasible, just requires a tremendous amount of detective work & binary read/write manipulation. It also heavily depends on your ability to convert the files into a format unreal understands… which is infinitely easier then coding in some old obscure sound renderer, or texture reader…
Would just need a way to generate uasset’s by the game itself, but it might just be easier to tell them to download unreal engine (a whopping 120gb!) run this “generator” project, and the game starts “installing” itself. Then they can just delete unreal engine and run the game normally… Again this is all speculation from just reading the engine source, i have not yet tried any of this. There is probably better/easier ways. Maybe we can just read or understand the binary data structure of uassets and write them directly without needing unrealengine at all!
Haven’t forgot about this, learned some things. It might be easier to just import things on runtime, save it, then use the assets on future game launches. Maybe a game thats the “installer” along side the real game. This is a bonus because now its a modder’s paradise for asset replacement.
So runtime plugins will get around the .pak and .uasset dilema:
Static mesh along with its textures can be imported via some of the FBX plugins found on the marketplace.
I have yet to come across a plugin that supports skeletal meshes
the function FImageUtils::ImportFileAsTexture2D sheds some light on how runtime texture importing can be done to replace textures on worldmesh or untextured level brushes
audio importing can be done with gtreshchev’s free RuntimeAudioImporter plugin
Anything else you have to recreate from scratch anyway… Like levels, AI, all game code, etc.
As for models → FBX? Something i have tried is using blender as a converter since its free. I wrote a script that takes all of the games assets, imports it into blender (using a supported importer for the game’s format), then exports them as FBX.
9 times out of 10 the imported file is usable, but some of the models need cleanup in blender first. It is possible to automate anything in blender, from vertex manipulation to bone reordering so not a huge issue. Something like this can be put into a “Game installer” that does it automatically for the player. They would have to download blender on their own obviously.
Its been 3~ or so years now since some of those FBX marketplace plugins came out and those developers haven’t figured out how to do skeletal mesh importing w/ animations. Looks like a roadblock for that atm.
I hope this helps someone trying to tip-toe on this legal fine print. As long as you don’t redistribute copyright assets, and said assets already exist on the player’s computer (they own the original game) There isn’t anything wrong. Just don’t make a profit off it
Depending on the assets and if they are easy enough to recreate within a software, it may be optimal to recreate the same assets and since they are theirs with the licensing and what not why not do that? If you don’t know how to use the software needed to make these then i suppose there isn’t much you can do until something is figured out.