|
Re: Modding FAQ[message #332698]
|
Fri, 16 May 2014 19:50
|
|
Shanga |
|
Messages:3482
Registered:January 2000 Location: Danubia |
|
|
FIXED EDITOR:
http://www.jaggedallianceflashback.com/uploads/JAFPublicEditor.zip
Regarding modding (from Thomas Lund)
Quote:
Lua Interface:
This is the current documentation for the scripting interface that is added:
https://dl.dropboxusercontent.com/u/2994227/JAFTXLuaScriptingReference.pdf
You can use this almost from any other subsystem as well as from the console (shift+') or something. Shitty key combo that we will change soon.
For almost all subsystems goes that there is a
- condition
- effect
The condition can be seen as the inside of an if then statement in Lua. If true, then that particular part of the dialog, logic trigger etc is run. And if a node has an effect script, then that effect is executed.
Dialog system:
Files are in StreamingAssets/Original/Data/Dialogs.
The easiest way to create these is to use ChatMapper (http://www.chatmapper.com/). We have a template that shows the minimal fields required, but we run off almost default. The only field added is really a ConversationID field on the Conversation itself, so there is a human readable / level designer friendly string ID to use inside the game.
The system requires the player to be "conversant" id 1 and the NPC to be id 2.
Export it to json and its directly loadable in the game. And for those that dont have ChatMapper, basing it off json makes it easy to mod. Although the chatmapper exporter adds way too many unused fields. Try to run through those examples in the current story to see how it works.
Quest system:
Files are in StreamingAssets/Original/Data/Quests.
One file per quest. Quest can have optional goals. No editor yet, but the files are as small as possible and almost self explainatory.
Memory system:
Right now a basic string, string dictionary, where you can get/set key+value variables to be used in the logic elsewhere. So you can set a variable when talking to Spice, so that later another NPC dialog can check if you talked to him or not and branch the dialog options.
Story system:
A series of "full screen panels" that have an image, a title and a text. Used for showing the intro story and similar. Will also be used later to show the game interface tutorial. One file per story, ultra simple system
Random NPC/enemy names/responses
There are 2 files here that contain all the *random* NPC and enemy soldier names. For non-story characters the system randomly pulls a name and response to a unit when created and uses it for that game session.
What else?
Additionally we have exposed (and will continue exposing) game variables inside GameRulesSettings.json. These are all the "magic" values - AP cost for shooting, number of shots per burst, accuracy modifier for sustained fire etc.etc.etc. Go nuts modifying these!
Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
Re: Modding FAQ[message #333132]
|
Mon, 26 May 2014 12:34
|
|
sardonic_wrath |
|
Messages:48
Registered:June 2011 |
|
|
Agree on the Unity pro thing, I also said this a while back. Seems they will need code something that can parse 3d meshes at runtime. While that might not be a big problem (you can also get those someone elses importer for free or cheap), It might be a bit more complex because we also need them in the editor, and the editor is used to assign game logic (e.g. cover) to it.
Lets see what they come up with.
On the topic of texturing, I did a bit of modding for Mount&Blade for a while, what I used for DDS was photoshop with this plugin:
https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
Especially once it comes to texturing our own models and not just retexturing FC's, there are quite nice and little known 3d features in photoshop:
you can load your meshes (can't remember which formats are supported) into photoshop, rotate them, preview your texture files on them, even paint directly on the model and get those changes in the texture file.
Report message to a moderator
|
Corporal
|
|
|
|
|
|
|
|
|
Re: Modding FAQ[message #333267]
|
Thu, 29 May 2014 11:43
|
|
sardonic_wrath |
|
Messages:48
Registered:June 2011 |
|
|
I think its more interesting if JAF can read DDS files from gimp and photoshop. Anyway, hope I'll find time to investigate this later to day.
How is going with the modding adivisory panel? Is there a behind-the-scenes forum or something like that?
For now modding is off to a very good start. Though I hope the LUA scripting will be heavily expanded, to allow us to do all those neat little systems we got in 1.13 over the last years. Thats were its really at...
The possibilty to alter UI elements and design our own is one thing that would be very important, I think.
The dream would be if we could do really complex stuff like New attachment system, or NCTH, which I'm a big fan of (The concept, not necessarily the implementation)
Also, I recently had the thought that it would be good if containers within maps (chests etc.) weren't filled using the map editor, but assigned IDs and populated/filled (perferably with random elements) via external script/config.
With random elements it would be nice for replayability, but most imporantly it would allow to combine item-mods with map-mods with much less effort.
From what I read that is always quite a hassle with ja2.
Report message to a moderator
|
Corporal
|
|
|
|
Re: Modding FAQ[message #333273]
|
Thu, 29 May 2014 12:53
|
|
sardonic_wrath |
|
Messages:48
Registered:June 2011 |
|
|
Great to hear, would love to have a peak, but I trust you guys will make sure they are doing it right and keep us posted
I don't think we are on the same page here, when I say items I mean inventory stuff. Would be nice if you'd find different stuff in crates, chests, lockers on differnt playtroughs. What I am suggesting is to give assign an ID and a class (kitchendrawer, military crate, weaponlocker, etc...) in the editor, and use external config files to determine what should go in there.
This would function as a connecting piece between mods that purely deal with weapons and stuff, and those that deal only with maps, so that they can easily be combined.
(just a rough concept, haven't thought everthing trough)
I agree on the randomization of maps, not really necessary. Though FCs core engine supports it apparently: https://www.youtube.com/watch?v=lxfSoLYXQAM
Who knows, maybe we will see this somewhere down the road. Could be nice in the editor to start with a random landscape instead of a blank canvas.
[Updated on: Thu, 29 May 2014 12:54] by Moderator Report message to a moderator
|
Corporal
|
|
|
|
|