Computers for research and fun

mod

#1

I’m working on a mod according to my idea, as posted here and the original post.
The general idea of the mod is to add more electronic devices with various utilities, more uses for the computers skill, as well as to include new mid-game/end-game content based on the useability of devices with computational power, as well as their possible peripherals.

Note that I’m still feeling my way around modding and coding. I understand that with enough effort, time and patience, anything can be coded in, but I also understand I have some limitations as a beginner to modding. As such, the envisioned (note: envisioned, for now) features are:

  • Working computers with various qualities (research capacity, fun potential, etc.) in the form of items (work laptops, gaming laptops, kids’ laptops, research laptops, tablets, kids’ tablets, smartphones, hi-tech smartphones, cyberdecks for use with bionic implants), furniture (working computer terminals, working desktop computers of various types) and vehicle parts (on-board computers);
  • Computer peripherals with various qualities and uses, in the form of items, furniture and vehicle parts too (printers, routers, databases, cables, clusters, access points), give some use and expand upon the software item type (USB drives, hard drives and data transfer devices be used for research and data acquisition/transport);
  • More electronic devices to be used along with computers, or separately, with their own devices, requirements and tools, for both fun and utility (videogames, games in cds/drives, dvd players, dvds cd players, cds, VR headsets, etc.).

Have computers themselves be used through custom functions that open up a menu (according to their capacities/qualities and current external equipment) allowing:

  • Browsing files: Both in the computer and on external drives (USBs, CDs, DVDs, etc.) - giving a tiny amount of computer skill, as well as maybe providing some snippets and morale bonus/penalty (random results, since you can find all sorts of stuff or fumble the computer and crash it);
  • Playing games: Just for fun;
  • Conducting research: Using drives, databases, servers or even access points (internet searching, on what still remains of it post-cataclysm), requiring high computer skills, a lot of time, and providing (randomly, or directed through menus, with varying degrees of success) increase in skills, maps, recipes, morale boosts (or penalties) and maybe even some lore, information or unrelated dumps in the form of snippets;
  • Practicing coding: Increasing computer skills after spending a lot of time, and maybe adding a few new functionalities to the computer.

My inspiration was playing X-COM UFO Defense using a mod that implemented research and many other things in-depth using simple mechanics and workarounds (as allowed by the original game’s engine).

Of course whatever I end up implementing is meant to be provisory (hence it being a mod, and not an actual PR), and I might end up not being able to implement my vision in full, since I just barely started working with actual Cataclysm code (I’m currently using LUA and the native JSON support only. Only ever did work on monster and item modding before), but even if it doesn’t work out, maybe someone can take the idea forward in the long run.

Looking for opinions and any tips possible, especially from the veteran modders and developers working on C:DDA.

I will be posting any questions and doubts here, as well as updates and eventually (hopefully) a working mod.


#2

Alright, update #1 (what I got done so far):

  • Added 3 types of computer items (laptop computer, gaming laptop and research laptop) with different tool qualities for future use in the researching and fun aspects;
  • Started adding computer peripherals. So far we have a normal printer (requiring cables), a wireless printer (doesn’t require cables), mouse (for future use, to give full morale bonus to gaming and also to help with input) and a typewriter (to be used with researching too, in case no printer/computer is available). Will add cabling and networking implements soon, along with more morale boosters (videogames, dvd players, cd players, etc.);
  • Added different paper implements (A4 paper set, for printing and writing, a notepad and 2 notebook types - common and university type, with different amounts of pages/charges), in case no computer or printer is available, you can still do some rather weak research (mostly note taking) based on files, books and stuff. Also added pens and pencils, to be used in writing, and can also inscribe relevant items (pen can inscribe paper, wood and plastic - pencil can inscribe paper and wood, so you can use it as a common marker);
  • Started work on the new LUA functions to be used by the computers, when turned on. Problem here, which I’ll try to solve on my own before asking for help, as a means of practicing.

I’m going to work with recipes here, for now, since I believe they are simpler to implement as for a first release. Basically you’re going to have recipes requiring ever higher computer skill, specific computer peripherals and research equipment/tools, which will net you papers, files, notes, USB drives, hard drives, disks and other stuff ridden with your results. These can in turn be reused for more effective research and more time spent researching (batch?), and net you relevant skills related to the research. For now that is, while I keep working on the whole LUA thing.
For example: You have a laptop setup in your base, and you find a USB drive inside a lab detailing chemistry formulas. You can “craft” a recipe using the laptop’s tool qualities, and it’s own tools’ qualities, along with the drive to perform research, netting you a bunch of files/drives, which you can then accumulate a specific amount of to finally “craft” a recipe that nets your a book type file containing a lot of chemistry recipes, for use during crafting (along of course with the healthy cooking skill gain during the process).

One question I have is: Is it possible to implement a call to a custom transform type use_action from within a LUA custom item action? If so, what would be the best way? I want the laptop’s menu to have a “shutdown” option, which transforms the laptop back into the laptop (off) version. Might just make it so that it works like the E-Ink Tablet PC in case there’s no workaround - just pop up the menu when using and consume charges. Just curious, can’t blame me for experimenting.

I might also just scrap the whole printing or at least paper thing in the future, or make it into a separate mod/optional thing. The idea is that printing and writing down things can be used to “transfer” simple data around when there’s no USB drive or similar equipment available.
For example: You can log into grandma’s laptop and note down her cookie recipes without a pen-drive, but you can’t log into an engineer’s computer and retrieve his diagrams and designs without a printer, or log into a military lab’s server and write down their 3D gene sequencing models for future experimenting without a data transfer device.

This data transfering thing might be scrapped in the future on behalf of just plainly working on the related computing units directly, but it’s pretty nice to think about and have some fun trying to implement.


#4

yes so much yes i think i even asked for this one of my own posts thanks for making a mod. i would keep the data transferring thing it sounds nice


#5

Update 2:
Got rid of the issue I was having with the LUA script. I’ve got a working dummy menu now, which for testing purposes printed messages for every possible selection (browse the web, browse files, play a game and shutdown).

Keep in mind that the figures below don’t represent the final mod, for reasons I’ll specify soon.

Here is the “common laptop” item examine menu:

And here is the laptop’s use menu, along with some test message prints on the log (as expected):

As you can see, for now all the menu does is print messages according to the selected option, for testing purposes.
I made the laptop work like a flashlight (off and on version), so that it would only work (and have the tool qualities for researching and so on) when powered on, and it is also only rechargeable through an UPS - which might have been a bad idea - so I might end up just making it into a single version to work like a hotplate instead (consuming charges per use and per recipes).

I’ll keep on working on the LUA to make the menu useable on the side. If I end up making it work as intended, the recipe format will be obsolete. But for now, it seems fair enough.


#6

Can you make it so there is a use for all those USB drives with software? I’ve got almost a hundred of them lying around I think, and it would be nice if they could serve a purpose.


#7

Well now there will be use for solar backpacks. Charge devices like this if you haven’t UPS compatable car or UPS.


#8

@nameless_survivor That’s the idea, to include them as possible data/resource sources for studying and researching, along with many others (files, more USB drives, hard drives, data centers, etc.).

@sanches31 Yeah, it’s going to be a nice addition, and another means of keeping the portable computers going.


#9

I know it wouldn’t make a ton of sense. But does anyone else in their head have the sound of those oldschool computers on tape wheels?

I think of this when I see the super computers in labs etc. They seem to take me back to when I was around such machines in real life.

You can hear snippets of these machines in film like Scanners and Alien. That kachuk kachukka chuck chuk chuk TSHHHhhhhh noise is fun. Oh and Blade Runner actually rehashes the noise in the scene where he(Harrison’s character) manipulates that photograph.


#10

Being able to reconnect to the satellite network or other communications infrastructure with a salvaged transmitter/receiver dish would be a useful purpose for the computer skill as well.

Examples:

  • Hack a weather/google/spy satellite to reveal an area of the map.
  • Ditto as above but instead using it to locate a particular type of structure on the overmap, like say, the nearest military facility, restaurant, gun store, etc.
  • Hack a communications satellite or reactivate a radio station, cellphone tower etc, to communicate with other survivors or factions for recruitment, trading, diplomacy etc.
  • Hack orbital weapons platforms to call in an orbital bombardment on a location.
    https://en.wikipedia.org/wiki/Kinetic_bombardment
  • Hack a satellite and use its maneuvering thrusters to de-orbit it, causing it to crash at a chosen location. Would act as a crude method of kinetic bombardment, as well as creating a potential source of useful salvage.
  • Hack banking networks and transfer funds to your account.

#11

i would also say you could add computer tech levels. or more as in makeshift computers, low grade laptops modern laptops (akak the current comercial brand) and hightech laptops ended on top secret prototype. and what you use helps not only with hacking,try hacking a military satellite with a shoddy laptop it’s not going to work, but storage energy efficiency and stuff like that


#12

Yeah I like that idea. It would be cool to be able to find really high end computers in labs or military facilities. Maybe some that are more like furniture than man-portable equipment. I’d love to pillage a supercomputer and other electronic equipment (centrifuges for example) from a Lab or FEMA camp and set it up in my base.

Something else I’d love to be able to use computers for would be running a CNC mill or similar equipment. You would need heavy equipment to move one, and a vehicle to transport it, but I don’t see that as being impossible for a survivor (or a group) to salvage and use. Have it give a pretty hefty bonus to crafting speed for metal or plastic items, or let you craft larger than normal batches faster.


#13

So we can record our recipes in a computer, instead of carrying heavy books.


#14

I actually use a mod that adds a book scanner and the ability to read e-books on the e-ink tablet pc. I love it.

The one thing though is that you can’t passively craft with the recipes in the scanned books, like you can with physical books sitting nearby, you have to actually use the menu option to craft with scanned books on the e-ink tablet.


#15

Book scanner is good. Should be added to core game.

Would be great if we could hack the military national guard robots to…not kill us? =D


#16

oh going off of my computer tech levels what about modding the laptops for things like improved battery or better heatsink and systems to run things or do tasks better.
also computer and laptops should be diffrent things with computers being more powerful but stationary and laptops are mobile but weaker


#17

@nameless_survivor

Being able to reconnect to the satellite network or other communications infrastructure with a salvaged transmitter/receiver dish would be a useful purpose for the computer skill as well.
Examples:

All great ideas, and ones I considered too. I’m legitimately thinking about forking the source to work with the main source code instead, since I believe LUA will give me some limitations in most of these aspects.
For now though, as a proof of concept, I’ll stick to what LUA can do.

@Umbra.Animo

i would also say you could add computer tech levels

Yep. That’s the idea. Add different types of computers with different qualities.

@TheZoneWizard

Would be great if we could hack the military national guard robots to…not kill us? =D

Possible, but I’m not sure LUA supports it currently. Might need a source PR.

@Umbra.Animo

oh going off of my computer tech levels what about modding the laptops for things like improved battery or better heatsink and systems to run things or do tasks better.

Sounds reasonable. Using the tool modifications’ structure (as done with UPS supply mod, battery mods, etc.)


#18

You already can. Use a control laptop. Shard made a mod to let you turn off the robots from the base game and the national guard base for storage as well. I’ve got roughly a hundred of them sitting in a closet in my base.

If you are talking about hacking them all at once, I don’t know if that would be reasonable. If I were a military robot designer I would not make it possible to reset their IFF systems from a central system. That is the kind of vulnerability which leads to catastrophic hacking attacks by the enemy. MAYBE it would be possible on a squad level, but not all of them at a base at once.


#19

Cool.

As for hacking. People irl are using systems all the time that are vulnerable. Hospitals are a REALLY serious place that often need to update their computers. Yet. Nopareno, they don’t. Even in the branches of military. They don’t often update. Yes. I know that it is foolish. But even the military can get hacked.

Sony got hacked. Other major giants in industry. It happens. :man_shrugging:


#20

Of course things can be hacked, and there are always vulnerabilities, but you don’t design a system like this to allow for the possibility that an entire robot army could be turned against its owners simultaneously. So while you could hack individual robots, or even squads, there would be some degree of isolation from the whole to prevent something like that. It would be retarded not to set it up that way.


#21

Oh I agree with you. But I am pretty certain we could google a bit and find a few of those situations :wink: