First attempt at multiple mods and having troubles

14 posts / 0 new
Last post
#1
First attempt at multiple mods and having troubles

Today I decided to give NeoScav another whirl...180 hours played I thought I was pretty much done with the game, hadn't touched it in months. But now I'm giving the game a try with mods to see how it changes things and so far I'm enjoying it. Trouble is I've been having issues with the game hanging on me today. No errors, no crash, it just stops and nothing I do can save it.

When the hang happens I'm able to click on the Main Menu button, if I hit Resume the game hangs without a way to interact other than closing the window. If I click Save & Quit instead it creates a save file but trying to load the save just hangs again. There's no error logging as far as I can tell, nothing I recognize as a log file in the program folder or the save file location.

I'm not sure if the getmods.php file has anything to do with this, or if it's just some sort of conflict with the mods themselves but aside from the mystery hang everything seems to be working fine. I'm using the 1.05v of the game with the most recent releases of NSE, Fishing, Gariba's Extras&Misc, and Sage's Pages. As far as I can tell the mods don't conflict with each other and there doesn't seem to be any sort of commonality between the hangs, I click End Turn and the game just doesn't come back to start the next turn.

Here's my getmods.php just in case someone knows something I don't about how I put it together and that's actually causing this:

nRows=8
&strModName0=NSE
&strModURL0=NeoScavExtended
&strModName1=0
&strModURL1=0
&strModName2=FishingMod
&strModURL2=Mods/Fishing/Mod
&strModName3=0
&strModURL3=Mods/Fishing/Over
&strModName4=0
&strModURL4=Mods/Fishing/Over_NSE
&strModName5=GEM
&strModURL5=Gariba'sExtrasnMisc
&strModName6=SP
&strModURL6=SagesPages
&strModName7=0
&strModURL7=PagesZero

The first time this happened to me today I was like 6 hours into a game, since then I haven't gotten a game to last longer than an hour without it hanging on me :(

Hard to pin-point what is wrong exactly, but there are quite a few places those mods can collide, actually.

First of all, the Fishing mod no longer seems to be compatible with NSE, due to changes made to the NSE itself. Basically, while the Fishing mod seems to be still compatible with the vanilla game, it is no longer compatible with NSE. Until the author does not come back and fix his compatibility mod, there might be problem here, basically.

Secondly, Sages Pages do overwrite most of the scavenging locations, to add the new items there, and would need to be manually mod-merged with NSE, in order to work.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

Ok, well that gives me a place to start at least.

I've done my share of modding other games, but NeoScav doesn't seem all that user friendly for modding. Any idea what I would need to do or where I should start in getting Sages Pages manually merged with NSE? Or the same for fixing the compatibility mod for Fishing+NSE?

I wouldn't mind doing any of this myself, I just have no idea how to begin.

Well, the game's modding is as user-friendly as any xml-based modding can be, really. One just need to know how to mod it, or use a mod made by someone who does...

Anyway, the Sage's Pages is constructed quite simply, since it is a very small addition. It's overwrite part (the file called "neogame.xml" in the folder "PagesZero") only adds a single entry (marked by "SP:" tag in front of them) at the end of six different TreasureTables (IDs 40, 41, 42, 44, 46 and 51), representing possible loot for several locations.

If it was to be added to the NSE, one would have to simply copy and paste those additional entries at the end of the corresponding TreasureTables in the NSE overwrite mod (called "0" I think), then delete the "PagesZero" from the mod-lading list (since the changes would be loaded together with NSE now).

With Fishing, I honestly don't know - it's not my mod and so I don't know how much would need to be changed for it to work.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

Hey, Xenonauts is an .xml based program and modding that is WAY easier than this. Or maybe it's just a far simpler or different design? It's not a Flash game so that's probably a big part of the difference.

Whatever the case I'll give this a go and see what I can figure out for Sages Pages.

And I guess I'll just have to drop the Fishing mod's author a PM and see if I can get his help fixing things.

Just out of curiosity, what makes Xenonauts easier to mod than NEO Scavenger? I tried looking at a tutorial for modding a weapon in Xenonauts, and while the XML format they use is a bit different, it seemed to be of a similar complexity.

Is it that they have separate XML files per data type? Or do you mean the way that mods are installed? (It seems like they have some sort of mod chooser in the launcher. And/or Steamworks support.)

There are definitely some things NEO Scavenger cannot do because it uses Flash (e.g. cannot support Steamworks). However, if there are ways I can make modders' lives easier, I'm for it!

Dan Fedor - Founder, Blue Bottle Games

I think the biggest thing for me when modding Xenonauts is that things are referred to by name, not an ID#. It makes spelling errors fatal, but in exchange it makes finding what you need and reading the code WAY easier and copy/pasta is a way of life either way. The second thing on my list would be that all the different categories have their own files and are formatted for use in Excel (or a similar spreadsheet program).

As much of a codemonkey as I am, it's rough doing everything with notepad and all in the same file. It makes cross referencing a nightmare of Ctrl+f because if I open the file in multiple windows I inevitably end up saving the wrong window undoing things I've done.

I noticed yesterday that someone made an excel style program for editing NeoScav, but I haven't given it a try yet so I don't know if that'll make things any easier or if I'll just end up more confused by it.

EDIT: Having a Mod Launcher is definitely a plus for the users, but it does come with its own issues too. Load order and conflicts are still just as much an issue, they just tend to be easier to deal with when you're not manually editing a text file.

Ok, that's helpful to know. I might be able to look into splitting the xml file into one per data table. E.g. attackmodes.xml, battlemoves.xml, etc. I'd have to see if it's a risky change or not, but my gut tells me it's probably pretty safe. That should help with finding specific data types, since a search should only find the unique ID for that datatype instead of across all datatypes.

The number-based IDs would be harder to change, though. It'd mean changing the database structures and a huge number of places in the code that are assuming numerical data references. Any time IDs get messed with, it means months of debugging :)

The split XMLs might solve both problems, though. So let me investigate that a bit.

Dan Fedor - Founder, Blue Bottle Games

Either change would be welcome! And having split XMLs could lead to easier times merging mods in the future too.

And yeah, I'm sure changing the ID system from numeric to alphanumeric would cause some significant issues and cost a lot of time and effort. I really wouldn't expect such a change so late in the dev/release cycle of any product, but I hope you keep it in mind for any future ones. :)

I've gotta ask too, what programs are you using to dev this? I can't imagine you're doing this all in notepad...I want to tear my hair out just looking at it.

For tools, I usually edit the data in a database. The xml file is actually just the exported data from a mySQL database running on my machine. Using data visualization tools like phpMyAdmin (in a web browser), it's possible to see the data in separate tables with sorting, searching, etc. Just edit the data, then click "submit" to change the database. Exporting a new neogame.xml is pretty trivial once the database is updated.

In fact, I kinda skip the neogame.xml during development, and setup a special debug build to read directly from the database. Saves me the step of re-exporting neogame.xml each time I change something.

Theoretically, anyone running a mySQL database could recreate the database from the neogame.xml backup file, and use tools like phpMyAdmin to edit, then re-export neogame.xml. mySQL and phpMyAdmin are both free, as are the tools they need to run (Apache web server and PHP), so anyone could use them if they wanted.

The trick is mainly setting up Apache, PHP, and mySQL on a machine. Usually pretty easy following tutorials, but about one in three tries I have to uninstall and retry due to configuration issues. I've heard there are one-shot downloads (AMP) that combine all three, and those might work, too.

But yeah, I wouldn't use notepad either :)

Dan Fedor - Founder, Blue Bottle Games

A 30% installation failure rate when you know what you're doing?! That's so far from acceptable I can't even...sigh...freeware, you get what you pay for :D

Ok, I'm a bit of a loss here. I've never used Apache, PHP, or mySQL before. I've tried downloading a couple AMPs but clearly it's not as simple as I'd imagined because I can't seem to make heads or tails of them. Clearly I'm either doing something wrong or I'm way out of my depth...I'd like to think it's the former rather than the latter.

So Dan would you be inclined and have the time to create a tutorial of how to install the necessary programs and build a basic mod for NeoScavenger? I've had some successes creating small mods using notepad, but I feel like I could do something much bigger if I had some better tools to work with.

You don't need any of that to make mods. Really, you need a proper text editor - Notepad++ being my tool of choice - and a low-res graphics editor. Anything, from Photoshop, through Gimp and ending on Paint.Net, again my soft of choice.

You have that, you have all that is needed to make a mod.


<--Mighty (mini)Mod of Doom-->
DeviantArt Gallery of MoD Sprites

Hey Lorebot,

Installing an AMP may be jumping the gun. For one thing, I'm not 100% certain the neogame.xml will generate a perfect copy of the SQL database when imported. It should, but I've never tested it. (I have a neogame.sql file on my dev machine for this, since it's more reliable.)

Secondly, I've never tried installing an AMP before, so I'm unsure how that goes. I usually do the A, M, and P parts manually, and have the aforementioned 30% failure rate. (And judging by comments I've read on forums, this is typical of the headaches of installing these services.)

If you really want to try it, these are the tutorials I used to install it on my machine:

http://www.webdevelopersnotes.com/how-do-i/install-apache-windows-7.php
http://www.webdevelopersnotes.com/how-do-i/install-PHP-windows-7.php
http://www.webdevelopersnotes.com/how-do-i/install-mysql-windows-7.php

I'm pretty sure it needs doing in that order, too. I think one of the issues I frequently have in this trio of services is getting them to see each other, which can sometimes mean environment variables. You may have to restart the machine in some cases after installing or changing configs.

But yeah, as Kaaven says, you don't need any of this AMP stuff to mod the game. A text editor is all that is required for data, and an image editor for the PNGs.

FYI, I'm also working on the split data files mentioned above:
http://bluebottlegames.com/main/node/4624

So if you prefer, this change may be available soon, and could help.

Dan Fedor - Founder, Blue Bottle Games