UFO:Alien Invasion

Development => Design => Topic started by: hk239 on May 24, 2019, 01:42:42 pm

Title: Usermod & tinkering (updated 7) (incompatible with master branch)
Post by: hk239 on May 24, 2019, 01:42:42 pm
After writing the previous feedback post about 2.5 I got 2.6 compiled with help from geever. Since then I got addicted to the game and also discovered the rather awesome ufo scripting and modding interface. With that I proceeded to make a user modification, with new skins for the unarmoured Tamans, rebalancing of the default equipment, and a couple of new items. I also started looking at the C/C++ code and managed barely to make a starmap for the geoscape, or basically just a new background. Instead of the rotating cube, it's now a spherical background with a space texture using the same equirectangular projection that the other celestials have. Also reworked the geoscape userinterface a little bit and made some other slight changes. This probably sounds more than it actually is, it's just a couple of edits. I'll probably link the mod to this thread later, and also rewrite it to a cleaner format. Now just making this initial post and coming back to tidying up later.

Here's a couple of images, one with a version of the new skins for the Tamans, and another one showing the geoscape panel. (The geoscape screenshot doesn't have the spacebackground update.)


Image links

https://pasteboard.co/IfDm8Jl.png - taman skins
https://pasteboard.co/IfD1xXk.png - geoscape panel
https://pasteboard.co/Igfj4ei.png - geoscape starmap background
https://pasteboard.co/IgmPhdZ.png - another starmap
https://pasteboard.co/IhMTFlD.png - New alien, no lighting. Clearly needs some work.
https://pasteboard.co/IhMTOgT.png - New alien, lighting enabled. Discrepancy between no lighting / lighting version.
https://pasteboard.co/IiyRUyG.png - UFOpaedia adjustments
https://pasteboard.co/IiyTal1.png - Statistics screen attempt
https://pasteboard.co/Il0dt6Q.png - Additional AR for start of game
https://pasteboard.co/Il0dpTg.png - Another additional AR for start of game
https://snag.gy/c4brXM.jpg - new civilian model, female
https://snag.gy/yidHue.jpg - new civilian model, female (gl)
https://snag.gy/46BELT.jpg - new civilian model, male (this obviously still requires some more work)
https://snag.gy/YhZ91a.jpg - new civilian model, male (gl, this version looks better)


Uploaded mymod directory to an FTP incase someone wants to check it out: http://www.elisanet.fi/ns/mmod.zip
I also forked the UFOai repository on github: https://github.com/n832sv/ufoai
The geoscape modification requires altered cpp files, and currently the version I made is broken, it doesn't work correctly. I don't know why yet. But if you're curious you can look at the repository here. (By the way if any part of these changes I've made to the usermodification or the cpp code were to be included in the mainline development version, that would be great. Of course it would be preposterous to expect that any of the random dabblings that I've engaged in would be deemed of sufficiently high quality, but I just wanted to say that in advance.)

Usermodification:
So this is mostly about the skins and imagefiles, the modifications to the .ufo files. Brief list of the things I tried to do:
Modified geoscape userinterface aesthetic changes, added a modified phalanx logo to the panel.
Added 3 new grenade items. Two fragmentation grenades instead of the default one, a HE grenade and an EMP grenade. Their stats are quite different from normal, and probably require adjusting.
EMP grenade Is supposed to be unlocked after bloodspider research, and it's also supposed to do no damage to humans/aliens other than bloodspider & hovernet. But currently it's unlocked from the start.
Added 1 smg It's basically a duplicate of the already existing smg with slight adjustments
Rebalanced the majority of the items for early game Which includes changes to timeunit costs and such
Unarmoured tamans have new skins Which were also shown in the images
Some civilian skins are redrawn albeit hurriedly
A new difficulty setting for campaign Although this is actually supposed to have healingrate 0.1, but the default code doesn't support that, I changed the hospital file for lower than integer healing support
Base skin quickly redrawn I also made all the geoscape markers smaller and adjust size when zooming, but that also includes changes in the cpp files

Some attempted changes in the codebase
So I have almost no experience with c/c++ and essentially none with OpenGL andthe geoscape adjustments I made with the starmap, don't work as intended currently. I'd need to figure out how to change the spaceball from being orthographically represented into being displayed from inside of the model (around the camera), but so far I have not figured out how to do that.
healingrate support for lower than 1 values. The rationale is that there's a big step from losing a unit to recovering in a couple of days, so I wanted to make that so that recovery takes a long time. Although it's not that the default settings are unrealistic or anything
A tweak to the reactionfire system It's currently not working very well, it still does introduce a random component to the otherwise deterministic system. I plan on changing the currently random variance to be based on a random roll versus mind skill later on.
Geoscape markers scale/zoom Which is pretty tiny

I think that's pretty much all that I tried doing so far. So for the most part I'm just making these changes for fun and playing with them personally, not really expecting anyone else to take interest in these, especially given how quiet the forums are, it's not like there's much of a community going on. But of course feedback regarding the usermodification and the intended cpp changes would be interesting. Also I guess the usermodifications subforum would be the correct place for the thread considering the mod, but then it's also about the code changes, which are more related to design. Anyway, let me know what you think, if you have opinions. Personally I think the taman skins are pretty good, the rest of the changes are kind of sketchy, but most of them correspond with my personal preferences or tastes more  than the default settings, although they still require a lot of adjusting.

Update to the user-modification:
Modified civilian skins Primarily female civilians
Shevaar Removed pants  :D
Added new alien 'strigoi' It's basically a taman body with new skin + modified taman head with new skin, doesn't have text descriptions and uses taman names + shevaar sounds
Changed some item values Made some changes to the default item values, but most of this tinkering is kind of sketchy


Some additional tinkering with imagefiles like civilian skins.
Updated UFOpaedia. I'm not sure if the revised version is better or worse, I think it's okay. I probably should learn some additional methods, currently I'm kind of stuck with using background color and such features for decoration. There's also an attempt at changing the UI look of the statistics screen. Images of both in the imagesection above.


Mod:
-Added 2 new ARs
-Added 1 new grenade for aliens, it's probably unbalanced and broken, might be removed later
-Modified skins for Shevaars, and the new alien
-Some text descriptions are missing, alien research reports are work in progress (image missing, text is brief)
-Modified initial alien skill templates

I'm a bit worried that the content I've made shifts the atmosphere of the game even further towards 'SWAT' theme instead of 'X-Files, aliens and so forth'.
Taman skins probably should get those tattoos back at least, they're still WIP anyway...

C++:
-Modified cl_actor.cpp and g_actor.cpp so that weapon proficiency affects TU cost of firing. This is a bit problematic because aliens have higher skills.
-Shortened bounding box definitions for units
-Reworked some of the geoscape space background stuff. It's still distorted and I don't know the syntax to fix it. Sun is not synchronized with the background.

Had some trouble with github. I'm probably not using git / gitkraken correctly. Might not be possible to easily merge the files with anything, given that I've made errors with git handling.


Uploaded blend file for the female civilian with some other sourcefiles to the same ftp: http://www.elisanet.fi/ns/suit2.zip
Incase someone else wants to create similar models, or new skins. Notably the sourcefiles for UFO:Ai animations found at the contribution section are mostly in proprietary .max and .bip formats, the only blender format available was powerarmor, so I used that one for the civilians

-Created a new nationlayout, with 7 unions and 13 countries
-Scaled costs up by a factor of 10
-Maybe some other minor stuff I don't recall
Images:
https://pasteboard.co/InX53xv.png
https://pasteboard.co/InX4Y6j.png

-Added a template system and templates
-Extended possible ranks
-Now each nation has their own templates for recruitable units
-Unhired employees get randomly deleted before updating monthly budget (but the percent is currently hardcoded)

Unfortunately it seems likely that the usermod no longer works at all with the development version of the master branch because of the templates,
and it also seems that the git branch requires the usermodification to work, because it expects the templates, so there's this issue for now, but at least when I've briefly tested this,
the usermod seems to work this git branch. Maybe there can be somekind of merger later. Also here's two images:

https://imgur.com/a/hTa2Pqo
https://imgur.com/4iCGbbJ