Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The complexity of Computers should be increased #1043

Closed
gamax92 opened this issue Apr 9, 2015 · 49 comments
Closed

The complexity of Computers should be increased #1043

gamax92 opened this issue Apr 9, 2015 · 49 comments
Labels
make-a-pr-if-you-want-this Feature request expired. PRs generally welcome

Comments

@gamax92
Copy link
Contributor

gamax92 commented Apr 9, 2015

I believe that OpenComputers is too noob friendly and should be increased in complexity. The major help in complexity is making it so computers aren't one time builds, over time stuff will damage.

Cases should be more complex:
Instead of the cases being the tier, the case will remain constant. Sorta like the current Server Racks
A case base will be used to place boards, PSU's, HDDs, FDD, and Fans into.
A case panel will allow the computer to be controlled, I.E powered on, reset, and indicates the computer's status.
A case cover will hide the contents of the computer's
Items can then be placed into the case and configured via the case's connector.

A separate case is needed for the Servers. The server case is thinner than the normal case

Boards should be more complex:
Boards will be placed into the case and then when in the case, right clicked on to configure
Boards should also render their contents when in the case with no case cover
Boards can be shift right clicked to extract from the case.
Boards cannot be removed while components are attached.
Boards will also not be tier'd, and will have no tier concept, the board components will however remained tier'd.

Board Assembly:
Boards will be created in an Assembler, where a Circuit board is placed inside the Assembler, then components get placed on top, the “tier” of the board is determined by the number of components and type of components that get placed onto the board.
Board components get placed onto the Circuit board, and the soldering tool is used to secure them down. The soldering tool will also be used to connect components together
Provided you've placed necessary components to make a working board, you'll have a functional board.

New Items:
Hammer tool – Used to smash iron and gold ingots down into plates
Wire cutters – Breaks down gold plates into small strips to use in cards, also used for iron plates to create solder spool
Welder tool – Used to combine plates into shapes
Solder tool – Used to secure components onto boards and to connect components together, also used to repair broken traces
Desolder tool – Used to remove damaged components from the board
Power Supply Unit – Provides power to the board and other various components. This component is tier'd and higher tiers of the PSU will allow for more components to function.
Fans – Used to cool down the cpu and to cool down the computer

Changed Items:
T3 Graphics Card have an optional power connector, causing them to run as a T3.5 Graphics Card
HDD's are blobs of data, and OS's will need to have built in filesystems to be able to use them normally.
FDD's are also blobs of data.
Floppy Disks will now have tiers, with different capacities.
Graphics Cards will also have a graphics mode, which will allow higher resolutions at the trade off of no text, making it simpler for images to be created.
Internet cards should also be capable of doing UDP packets

Board Components (New Items):
CPU holder – Used to place the CPU into
Memory Controller – A chip that that can access memory. The Controller is tier'd and higher tiers can access more memory slots
Memory Slots – Used to place memory into
Card Controller - A chip than can serve multiple unlimited card slots
Card Slots – Used to place cards into. Card slots are tiered and backwards compatible with previous tiers, Newer cards can be placed into older slots but will only damage cards fast.
RTC – Gives the computer to ability to retrieve minecraft time, else the computer will always believe it is powered on at the beginning of time.
EEPROM holder – Used to place BIOS chips into
Hard Drive controller – A chip that can serve up to two HDD's
Hard Drive slot – Board connector for HDD's
Floppy Drive controller – A chip that can serve one FDD
Floppy Drive slot – Board connector for the FDD
Battery Holder – Holds a battery so the BIOS chip can retain memory.
Fan Controller – A chip that controls two fans.
Fan Slot – Board connector for a fan.
Power connector – Provides power to the board.

Board Components are connected via the soldering tool, if the wrong items are connected to the wrong controller, they can be fried:
Slots with items in them will destroy the item fast.
Individual components will be destroyed.
Solder lines from the CPU attaching to multiple controllers will destroy both controllers

Damage over Time:
Components should also damage themselves over time as they are used:
Hard Drives will remain reliable up to a point time where data will start to be randomly corrupted, and then after another time point, fail to work entirely. Dead HDD's will boot the computer up to a point, and then hang the computer whenever a Dead HDD is accessed. Attempting to use a Dead HDD will corrupt its contents exponentially fast. After a while they will shatter and make a loud grinding noise.
Floppy drives will also start to corrupt, with non fixable data, over time the entire FDD will become dead.
Memory modules will up to a point, stop working and cause the computer to refuse to boot
Batteries will lose their power over time, when at a very low point, the EEPROM will forget its information, and when at 0 the battery leaks onto the board and destroys traces
Traces on the board will also randomly break
Cards will damage over time and stop functioning after a time point, causing the computer to refuse to boot.
CPU's without a fan will heat up and be destroyed
Cases without a fan will heat up, speeding up the destruction of the computer's contents, and burning the player if they touch the case.
Cases will burn the player if attempting to configure them while powered on.
PSU's will damage over time, and if attempting to use too many components, will damage quicker. When the PSU dies, it will explode.
Overtime fans will drop in effectiveness and will cause components to heat up, destroying them faster. After a time point the fans will stop spinning entirely and act as if they wern't there.
The solder and desolder tools are wireless and while rechargable, will not charge up to full strength over time.

Tweaking:
Components should be able to be over clocked for faster speeds, while as a trade off, damaging components faster.
An overclocked cpu will allow for a slight boost in running time before getting the yeild error.
Overclocked graphics cards will allow for more operations per tick.
Overclocked components will also increase power draw, which may cause faster PSU death.
Floppy Disks can also be formatted to have more space. Since corrupted parts are not resizable, corruption will effect more data at one time.

@Vexatos
Copy link
Contributor

Vexatos commented Apr 9, 2015

Actually, it's quite a reasonable request considering OC has ore processing now.

@elfifae
Copy link

elfifae commented Apr 9, 2015

You giant i386 fanatic. >:O Down with ATX! Viva la Amiga!

@gamax92
Copy link
Contributor Author

gamax92 commented Apr 9, 2015

Amiga Computers are also a possibility as an addon, custom cases/items/architectures are possible already. This is just to clean up and re factor the current machines.

@Kubuxu
Copy link
Contributor

Kubuxu commented Apr 9, 2015

I see one problem with that:
MORE micro-crafting.

Sorry but micro-crafting IMHO does not make mod more newbie-friendly. Spent 10min throwing items around crafting table, Oh it is wrong item, looks like you will have to spend 10 more.

P.S. That is probably the biggest wall of text I have ever seen on OC's GitHub.

@Vexatos
Copy link
Contributor

Vexatos commented Apr 9, 2015

@Kubuxu Seriously? :suspect:

@gamax92
Copy link
Contributor Author

gamax92 commented Apr 9, 2015

Yes, exactly! the more micro-crafting time wasting that we can do will help to kill off the weak and let the strong survive in peace. It's like a rite of passage.

@KJA1582
Copy link
Contributor

KJA1582 commented Apr 9, 2015

How about some PowerPC components? We need MOAR diversity! Or RISC and CISC CPU's so I can build my own calculator (CISC of course)!

@fnuecke
Copy link
Member

fnuecke commented Apr 9, 2015

If I could sticky this, I would.

@skyem123
Copy link
Contributor

While this would be fun in some ways, it would not be fun in others.
One problem is that filesystems as "blobs of data" would make it harder for some people to write programs, as using an external text editor is much more convient, especially for programs meant to run at boot (init.lua).

@Vexatos
Copy link
Contributor

Vexatos commented Apr 10, 2015

@skyem123 You don't get it, do you? 💫

@skyem123
Copy link
Contributor

@Vexatos huh?

@asiekierka
Copy link
Contributor

Everyone please leave. This would work well as an addon, like GregTech is an addon to IC2.

@Vexatos
Copy link
Contributor

Vexatos commented Apr 10, 2015

@gamax92 How about also adding the ability for small boards to be used as computers themselves? Kind of like a Raspberry Pi or an Arduino (i.e. single-board MCUs and single-board computers).

@sulljason
Copy link

Most of this sounds tedious. Adding pointless recipes that don't improve the depth of the mod, which to me is more about the engineering challenges. I would rather have to figure out how to overcome hardware limitations to do new, interesting, and useful things than use NEI to mash out more recipes for the sake of "realism". Only part I am in favour of is bit rot to give the RAID array more of a use (I have yet to run into disk space issues.).

@usafphoenix
Copy link

i also support the idea of micro-crafting computer parts and even having shit like the fans/ram/hard drives/cpus break over time or, rather, more-likely to break after a certain time of over-heating once the fans stop working. say, the fans can last upto x-number of days, and if they aren't replaced and the computer begins to overheat, the components NBT data takes damage...and after a certain threshold of damage, the computer fails to boot.
Additionally, there can be a repair-mechanic added in to replace parts or use portions of parts to rebuild/fix it.

@Vexatos
Copy link
Contributor

Vexatos commented Apr 15, 2015

@fnuecke Better lock this before stuff happens.

@natedogith1
Copy link
Contributor

I like the idea of file systems being blobs of data, though I can see why that'd be an undesirable implementation.
I don't know if fnuecke would add it, but I feel like a lot of people would be in favor of the graphics mode for graphics cards.
Internet cards really should be able to send UDP packets.

@sulljason
Copy link

I think the limitation to TCP is to stop DOSing. Since you have to get a reply and actually establish a connection to send data over TCP, but I could be wrong.

@fnuecke
Copy link
Member

fnuecke commented Apr 15, 2015

@Vexatos nah, it's a great place to trap all these ideas.

Regarding UDP: misuse could be held in check by throttling the speed at which the respective send method could be called. The actual reason it's no in, is that I really don't see much of a point in it, since receiving UDP packets will never be added (server sockets opened by user code? I'd rather not).
If you can show me a few good use-cases, I might consider it.

For blob FSes, use tapes :P

@Vexatos
Copy link
Contributor

Vexatos commented Apr 15, 2015

Y'all go join the Glorious Tape Drive Masterrace! 😎

@SeniorFight
Copy link

100% Agree.
We're made of the same blood.

I want dis. @fnuecke i'll kill you if you close this.

@gamax92
Copy link
Contributor Author

gamax92 commented Apr 20, 2015

Woah there sir, no need to make death threats, joking or not.

@HiTECNOLOGYs
Copy link

This one really is exciting.

Sorry for being rude, I'm really not good at all this, but let's be straightforward. Micro-crafting, seriously? It's not 2009 anymore, we have many tools to automate that: from automatic crafting tables that do one recipe at a time to sophisticated systems that can even calculate required amount of resources and do necessary crafts in order to make more complex items in single click of mouse. Isn't that what progress is about, getting rid of unnecessary work while increasing the number of features your mechanisms support? Nobody makes you do all this crafting yourself. Nowadays it's hardly possible to have just one mod installed so is it really that hard to find a place for, say, Buildcraft if you're lazy? This reason for not adding some of listed things to OC as either an addon (which is preferable indeed until everything settles) or built-in sounds to me like a conservative attempt to humiliate all those who took part in making this mod better including OP and devs. People are not that foolish, they know about this micro-crafting so called problems. Instead of complaining, be constructive or even go implement autocrafting in OC (in case you forgot, it's possible: drones can craft). Can we now move on to more important things?

@rashdanml
Copy link
Contributor

The main issue with micro-crafting is striking a balance between both extremes (next to none on one end and GregTech-y on the other). OC is in a good place balance-wise, with some realistic elements.

While adding more realism to the mod makes it more interesting, you would have to be careful not to go overboard. There are limits beyond which the realism interferes with the gameplay, making it less fun. Auto-crafting requires a fair bit of setup before it can be automated (AE2 for instance, requires you to craft all of the steps manually in order to encode the patterns - at least, in my experience). The more micro-crafting steps you add, the more tedious the setup becomes. Multiply that by all of the items that would require auto-crafting. The second issue with more steps is time taken to craft - recipes and patterns will need to be arranged in just the right way to be able to auto-craft components in parallel and assemble them. More steps = more time, generally.

I'm in favour of adding more features in the same flavour as current crafting recipes in OC (most components only require about 3-4 crafting steps at most), but not going overboard with the realism (damage over time, etc).

@elfifae
Copy link

elfifae commented Sep 29, 2015

Yep. Ironically, data blobs for disks DID end up getting implemented as unmanaged disks.

@jadenPete
Copy link

+1

@Shuudoushi
Copy link
Contributor

@MFernflower, gamax really has nothing better to do 90% of the time other than come up with crazy shit like this.. Though, just like data blobs, some of the shit really is getting added in one way or another, though 99% of the really crazy shit is staying on the floor lol.

@MFernflower
Copy link

While this whole thing was a shitty legpull. - Some of the less crazy stuff talked about (RTC module, SSD, Custom circuitry + SBC's, Etc) could be useful - provided that @fnuecke wants to/can find a way to implement it

@gjgfuj
Copy link

gjgfuj commented Sep 30, 2015

This thread was for discussing this sort of ideas, and it still is. Even
though op was a joke, its still a suggestion thread.

On Wed, 30 Sep 2015 12:18 pm Mandrake Fernflower notifications@github.com
wrote:

Thing was some of it was a good idea. The rest (all the microcrafting) was
a load of bollocks!


Reply to this email directly or view it on GitHub
#1043 (comment)
.

@MFernflower
Copy link

MFernflower commented Sep 30, 2015 via email

@ghost
Copy link

ghost commented Jan 17, 2016

If this kind of component breaking does get implemented, make sure to either make the creative computers case not break its components, or make a tier -1 (creative) of everything that doesnt break

@Shuudoushi
Copy link
Contributor

The component breaking thing will like never be added to OC itself while on default settings. If your activate hardmode, that might be another thing entirely, at least then it would make sense.

@ghost
Copy link

ghost commented Mar 23, 2016

Why not separate Computer case and motherboard
Add more types of motherboard in which different types, features and roles
Heat is also make it better. ODD (Optical Disk Drives) + USB Flash Drives and RAID Controller (RAID 0, 1 and 10)

@MightyPirates MightyPirates locked and limited conversation to collaborators Mar 23, 2016
@MightyPirates MightyPirates unlocked this conversation Mar 23, 2016
@n00b7
Copy link

n00b7 commented Mar 28, 2016

#1715 might increase complexity a little

@aaronduce
Copy link

YES YOU LEGEND. WE NEED THIS! Ps. also add 486 DX2s thnx

@sambrashaw
Copy link

I think this would be quite a clever addon so that people have the choice to go simpler or more advanced in the playstyle. Overall a very good idea.

@ghost
Copy link

ghost commented Mar 13, 2017

Maybe the damage thing could be implemented with a button in the mod settings for , but I love the ideas listed under "Cases should be more complex" in the original post. As for micro-crafting, though, save for an addon.

@tomasbrod
Copy link

The actual reason it's no in, is that I really don't see much of a point in it, since receiving UDP packets will never be added (server sockets opened by user code? I'd rather not).
If you can show me a few good use-cases, I might consider it.

The only way data can be sent over a network from OS (win/lin) is to open a socket, even for a TCP. Calling bind or listen should not be allowed thou.
Example UDP: reading time of a timeserver.

TCP is no better than UDP. Allowing TCP connections to be established does expose improperly configured services on the server local network or localhost to attacks. Some (broken) os services assume localhost to be secure and allow connections from localhost or local network to access privileged stuff. Or allowing attacker to use MC+OC server as proxy, to hide his identity, for another attack.

@skyem123
Copy link
Contributor

skyem123 commented Feb 4, 2018

It's worth noting that OC blocks any connection to local addresses by default

@Darinth
Copy link

Darinth commented Feb 8, 2018

Admittedly, a large portion of my issue with OC complexity is being fixed (at least in theory, I'm currently not playing MC and so I'm only really trying to stay more passively aware of the community for the mods I enjoy) by the wiki/documentation problems. When I moved from computercraft to opencomputers I enjoyed the increased complexity the came with, but the documentation with a bit outdated which made getting everything up and running initially a pain. If I felt more confident in the wiki staying up to date, I'd probably have no issue with some of these changes... but I also just don't see a particularly good reason. I think the mod currently strikes a good balance. There's complexity to utilize it, and is functionally it's balancing point. In order to get the benefits you have to be able to understand enough about computers to be able to put one together and write the programs that make it work.

@Sakata-MC
Copy link

Frankly I'm not a fan of component wear-out, adding un-needed tedium, and other such nonsense. This is a game. I'd totally get it as a plugin or something, but most of these suggestions would make me just not use the mod if implemented without the ability to turn it off. Also, the data loss bits in the HDD stuff... that is why RL computers with important data use RAID.

Plus if data loss in a game gets to being an annoying part of the mix, I'd want a way to implement cold spares, backup systems with failure detection and restoration systems. Like the real world that people tend to want to implement but only the idiotic parts of. And since material scarcity in minecraft is trivial to overcome, I could just make a self-replicating backup/storage system that slowly eats the world....

So yeah, please keep the mod away from the ideas of the masochists, and let the gamers have some fun with it :D

@payonel payonel added make-a-pr-if-you-want-this Feature request expired. PRs generally welcome and removed breaking-change-major labels May 11, 2021
@payonel payonel closed this as completed May 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
make-a-pr-if-you-want-this Feature request expired. PRs generally welcome
Projects
None yet
Development

No branches or pull requests