tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
114 stars 17 forks source link

Copy-Paste Functionality Requested #2793

Closed godsgopher closed 1 year ago

godsgopher commented 4 years ago

At present there is no way to Copy and Paste an existing feature repeatedly onto a building project. This is a major issue when you wish to repeat a complex object with many parts like a turret. At present every item on the ship has to be laboriously recreated if you want more than one of them.

Uses.

Greebling surface common surface features onto a hull. Building common internal features such as beds, chairs, doors etc... Building Turrets and other multipart logic systems like sliding doors. Repeating major structural features used on "Faction" ships. Creating and pasting complex decal patterns onto a ship or station hull. At present these have to be hand created every time. Moving ship features because of hull changes during the building process (Woops bathroom is in the wrong place now)

Frankly this is a speed issue and a frustration issue. Starship EVO is an amazingly fun game. But building the same complex feature again... and again... and ... well you get the idea. Is NOT FUN. We do not enjoy repeating ourselves. Once we build something we should be able to rebuild it without spending the original five hours we took to do it the first time is utterly demoralizing and it means we do sub-standard work in the name of expedience.

Oh... and regarding things like turrets, it would also be nice to be able to blueprint them and then add them to a different ship. Turret design is one of the more iconic features on a faction ship style! This means we need a way to link two separate objects into one object.

ultrak2k commented 4 years ago

While this has been suggested many timee by now, I’m still putting forward my utmost support towards copy paste

CalJacobson commented 4 years ago

We really do need this. For anything but the smallest builds, trying to create a ship (or station) with consistency is time consuming and -- most of all -- not very fun.

Some players will abuse it, yes. Some will make 10km long ships and cry when their framerate is horrible, despite being warned not to do so. The rest of us, however, will be thankful because building the ship of our dreams isn't a chore.

BrickMacklin commented 4 years ago

Really cannot stress how useful this tool would be. So many sections need to be done again and again. Among other communities I am apart of that know of this game the number one reason they will not buy this game is because there isn't a copy and paste. If that changed they would get it.

As for spamming bricks or blocks...any game I haver ever played where an abused mechanic caused the game to crash I quickly learned not to do that thing. Simply because I'd rather play the game and not crash The rest of the player base behaved this way at all.

The benefits to having copy and paste far outweigh the negatives. The potential crowd for this game is watching with baited breath for it to be added.

CaptainKronos commented 4 years ago

I intend on building a large fleet of warships. With certain universal turrets. Copy+paste will be incredibly helpful in this. It'll also help with my 3km long city ship

BrickMacklin commented 4 years ago

The engine currently caps out at a little over 2km. Until that is fixed a 3km is not possible.

CaptainKronos commented 4 years ago

It's fixed at 2? Noooooo....

BrickMacklin commented 4 years ago

It's not fixed at that. The game simply crashes.

CaptainKronos commented 4 years ago

Oh. Makes sense

tsunamayo commented 4 years ago

So the reason is that unlike in other games you can spam an ungodly amount of details in Starship EVO. If I give a copy/paste/prefab, then for example instead of using simple hull block to make a corridor, people would come up with a "corridor prefab" with litterally 100x time more geometry compared to the hull one, just because it looks fancier. Same for doors or other details. This would rapidely kills performance.

I have to be very carefull when I give something as from experience:

Thats the story guys. Not saying it will never come, I just need to stress test the thing first, and atm career / survival is more the priority atm!

tsunamayo commented 4 years ago

@godsgopher can I know how big you build? Also I would like to have a look at your blueprints if you are okay to share. @CalJacobson . Other guy I know, BrickMacklin build massive things, and ultra massive and massively detailed too.

godsgopher commented 4 years ago

Here are some samples of my ships Small ships are Frigates at 75m, Destroyers 125m and a 175m Cruiser under construction behind the Heavy Frigate 100m

image

image

image

125m Heavy Destroyer (awaiting missiles)

I'm perfectly happy to share with you Tsunamayo, but I wont post them publicly as their being developed for a private server at the moment and well... none of them are finished. Please send me a PM on the Discord, Im Vaul. I'll share them there.

Could we at least get a method of blueprinting turrets then adding them to an existing ship?

godsgopher commented 4 years ago

A suggestion was made on the discord to simply make it where no brick can be copy and pasted only blocks. This would resolve your reluctance regarding drawing down too many resources from someone using a million bricks in a build.

matejkar commented 4 years ago

those are some fancy capitals i must say, may i ask are they armed with lasers or beams, and do they have turrets?

5URG3 commented 4 years ago

I completely agree that copy and paste is a necessary feature.

As others have said, the ability to modify large sections easily and to repeat hull sections, turrets and other common features is incredibly useful when building.

Here's some use cases:

20200820001812_1

In this picture you can see two ships. According to the guidelines you gave for the "Pathfinder Group Build" the ship at the top is a Frigate and the one at the bottom is a Corvette/Heavy Fighter. IMO, they are not excessively large or detailed. I have armed them with what I consider to be a decent level of firepower for each class, which includes several turrets.

C+P Screen A

In screenshot A I have put a ring around all the turrets. Those in red had to be built from scratch twice, those in pink needed to be copied four times. This was tedious and time consuming. With copy and paste the time spent on turrets would be reduced dramatically.

C+P Screen B

In screenshot B you can see the frigate again. This time I have highlighted the Nacelles. All four are identical. In order to build these I used Symmetry to build the upper two, then I had to perform the tedious task of copying them to the lower side. This problem would be alleviated by multiple symmetry planes, but copy and paste would have simplified this dramatically and allowed me to easily try different nacelle designs.

Later on in the build I considered widening the wings and moving the nacelles out by a block or two. I decided not to do this as without copy and paste it would have been extremely time consuming and I probably would have given up. Starship Evo currently lacks a means to perform late stage edits like these and that is a problem IMO. Copy and paste solves this problem.

--

Among other communities I am apart of that know of this game the number one reason they will not buy this game is because there isn't a copy and paste. If that changed they would get it.

I have also heard something similar from SE players, but I would say Survival is the number one feature. C+P is number two. It is frequently mentioned though.

I do know that several builders are delaying larger and more complex builds because of the lack of copy and paste though. I am in contact with quite a few spaceship builders, I may be able to get some additional feedback regarding Copy and Paste if you like.

--

Possible Solution

I propose that Copy and Paste or equivalent be added to the game alongside a "Complexity Level" feature in order to prevent abuse.

Each category of ship from 1-5 (Example: Fighter, Corvette, Frigate, Destroyer, Cruiser) could be assigned a "Maximum Complexity Level" based on the amount of blocks and bricks it has.

Once the maximum level for a given category has been reached, the player can add no more bricks to the build without redesignating it as a higher category.

The player could then be restricted to a certain number of ships of each category, or by a "Global complexity limit". This would give you a framework for optimisation. It would also standardise ship categories for builders.

There could be an option to disable the Complexity Level in the F3 menu, but disabling it could have a pop up window with a disclaimer that states that exceeding the Complexity Level is not supported and may result in performance issues.

This is quite similar to the PCU system in Space Engineers. Each block is assigned a PCU value based on it's performance impact and a limit is imposed on each player. While not perfect, it has allowed Keen Software House to make SE reasonably stable. As a long time SE builder, I can say Starship EVO's performance is excellent in comparision and I'm confident it can support far larger fleets than SE.

IMO, a limited number of ships in a world is a perfectly reasonable trade off for Copy and Paste.

LiquidzBot commented 4 years ago

I fully support any type of implementation that results in a copy/paste or "save entity" function.

Personally I would use it to standardize the various design languages for the different factions and fleets I am building. Allow for custom prefabs and inevitably towards more streamlined system design. I am ok with a size limit or mass limit on ships or an aggressive nerfing scale in terms of diminishing returns passed a certain point based on the engine's capabilities. As has been stated above though Unity is a pretty strong engine and I have seen other games that weren't coded nearly as clean as this game allow for varying implementations.

If copy/paste seems too spammy, saving a selectable structure (max 16x16) could be a better solution as at least we wouldn't just be copying shapes and patterns, rather adding pre-saved completed designs like rooms, or engines or hallway/cockpit designs.

Great game experience so far though, don't want this to look like I am not thoroughly enjoying my time in game the 566hrs play-time I have so far are a testament to that.

I just think that with these types of copy/paste/save units it will not only help builders worflow which is super important and at the core of this submission, but , it would also unintentionally create a way for these saves to be assembled as kits and placed on workshop allowing for newb builders to slap together some parts from a specific maker in case they rather just pickup and fight.

Case in point Bluedrake's comment on not building, and i'm sure he is not alone. Sure I can download a ship from the workshop, hop on a server and pew-pew to my heart's delight, but, if I could quickly assemble a ship from a kit I downloaded from a maker on the workshop and I knew I could whip something up fun and creative in under 10min I might eventually also learn systems and become interested in modding more and more and making my own ships.

Thanks for reading. ^__^

SovietSponge commented 4 years ago

While I personally enjoy building every single bit of the ship myself it does just get incredibly tedious and annoying after a while if you're trying to build something with a massive amount of repeating features. So while I personally wouldn't benefit from copy paste often, many others would and on those rare occasions where I would actually make use of it it'd be simply amazing to have.

matejkar commented 4 years ago

@SovietSponge i am one of those who would benefit lol, since out of 8 ships i released publicly, 6 of them are capital ships, and since i am a massive star wars capital ship nerd, i kinda repeat a lot of stuff i build. Here is the steam workshop link if anyone is interested by any chance: https://steamcommunity.com/sharedfiles/filedetails/?id=2156590615

Servomotor commented 4 years ago

Time to play devils advocate.

For anyone who has seen me talk about copy paste (or whine about not having it), you know I 100% want copy paste and I fully to the NTH degree understand its importance.

That being said. Tsuna makes a good point when he says

"people gets mad when I remove the feature afterwards. This 100% not your fault, it is mine for adding that thing in the first place.

Everyone of you knows he is 100% spot on with this statement. If he implemented copy paste, and it in fact turned out to be greatly abused (and it would, myself included), and then he removed it...well, Tsuna would be lynched by the community. Less so for discord or people who have close contact or come to github, but greatly by those on steam who do not follow development.

And look, I get it. Being able to make a door frame and save it as a prefab. Being able to make a turret and save it and its logic as a prefab. Being able to make crew quarters rooms and save them as prefabs. Being able to save engine designs as prefabs. I mean the list goes on and on. But...all of that being said, he has a solid point in that the community would be in an uproar if he implemented it and removed it.

I mean hell man, I still complain about hunters losing fat raptor strike crits from wow a decade ago.

The other thing to consider is this. We have all made suggestions for StEVO and Tsuna listens, remarks and implements some of them. If he is pushing back as hard as we are pushing for copy paste, it's not because he does not understand the need, it's that he understands what it could do to game stability as designers push for more and more detail.

So, all of that being said. I need to state it again because I can already see the flaming rebuttals being formed in heads of the reader. I WANT COPY PASTE and I DESPERATELY UNDERSTAND THE NEED FOR IT. But I can also appreciate Tsunas reason.

It comes down to this. Would you be willing to remove bricks from the game for the use of copy paste? Because that is what it comes down to. Voxels are much more resource intensive to calculate than mesh. No one is making a building game with small voxels except Dual Universe and the only reason they can get away with it is due to their server architecture which has been in development off and on since 2012 with millions being poured into it.

Anyway. I want copy paste but I also can respect Tsunas reason for not implementing it. And no one wants to hear it, but he is right.

5URG3 commented 4 years ago

@Servomotor - I understand maintaining stability is crucial. As a trade off, how would you feel about a "Maximum Complexity Level" as described in my previous post? I appreciate you are not making the game, but as you are an experienced builder I'd like to hear your opinion.

Possible Solution

I propose that Copy and Paste or equivalent be added to the game alongside a "Complexity Level" feature in order to prevent abuse.

Each category of ship from 1-5 (Example: Fighter, Corvette, Frigate, Destroyer, Cruiser) could be assigned a "Maximum Complexity Level" based on the amount of blocks and bricks it has.

Once the maximum level for a given category has been reached, the player can add no more bricks to the build without redesignating it as a higher category.

The player could then be restricted to a certain number of ships of each category, or by a "Global complexity limit". This would give you a framework for optimisation. It would also standardise ship categories for builders.

There could be an option to disable the Complexity Level in the F3 menu, but disabling it could have a pop up window with a disclaimer that states that exceeding the Complexity Level is not supported and may result in performance issues.

This is quite similar to the PCU system in Space Engineers. Each block is assigned a PCU value based on it's performance impact and a limit is imposed on each player. While not perfect, it has allowed Keen Software House to make SE reasonably stable. As a long time SE builder, I can say Starship EVO's performance is excellent in comparision and I'm confident it can support far larger fleets than SE.

IMO, a limited number of ships in a world is a perfectly reasonable trade off for Copy and Paste.

I know survival is the priority and that's fair enough. But for creative play, Copy and Paste must be the most requested feature. I really hope it is a priority after gameplay elements are added.

Servomotor commented 4 years ago

@5URG3

I am not familiar with space engineers in regards to how it operates but ultimately we may need a system like you described for performance sake. Most of my building comes from the old and now dead game landmark. The building in that game exceeds what can be done in every game I have seen to date. They used the Voxel Farm voxel engine which allowed for unprecedented levels of detail mated to the same engine they used for Planetside 2. Landmark was made so players could make detailed assets for Everquest Next but the devs would "bake" the assets to lower their impact on EQN. Landmark also had a single, static grid. Builds did nothing but look pretty, they had no function. I had builds with literally millions of voxels that could drop the best of PC's from 90 FPS to 20 in a heartbeat. So, I guess in laying that out is to frame my understanding of what players WILL do in a building game, they will push the boundaries and because of that limitations (like you suggested) are imperative in order to maintain a playfield that has acceptable performance in a multiplayer scenario.

For now, my personal opinion is that we should all respect Tsunas decision. This is a bridge he will cross once he has other core systems in place, where he can better judge the performance impact. It's good that we have people pushing the envelope because he can use these as tools to help measure what players will build when given the freedom to do so.

Just a cursory browse through github shows that we are all hitting Tsuna up with new ideas or features, or tools, or even block shapes. Everything that is added gets added to that overall calculation which impacts performance. It seems to me the best course of action in regards to copy paste or a feature that limits build size is to hold off until all the other stuff is in place. Its the only reliable way to measure performance.

Being a one man show, he must fully respect the adage "measure twice, cut once" which is what it seems like he is doing.

damoran79 commented 4 years ago

YES TO COPY/PASTE - 1,000%

I see the lack of Copy/Paste in a building game such as this absolutely detrimental to Starship EVO's future. I work full time, I have a newborn baby, I work on the side to supplement reduced income during the pandemic. I have very little time during my week to play games but I love building in games such as EVO as an escape. Anything that makes building less time consuming is a good thing. Why make building more difficult simply to discourage players from abusing the thing we bought the game to do?And the fine detail is what sets your game apart from the competition. You are effectively nullifying one of the largest selling points of your game.

I do understand how Tsuna believes people will abuse this tool. He is right, they will, but I promise you they will without copy/paste as well. As my mother would say; "cutting off your nose to spite the face". I've already seen builds with obscene level of details even on a small scale ship, here is an example (https://steamcommunity.com/sharedfiles/filedetails/?id=2152187201&searchtext=). Unfortunately, this is the nature of the beast in these games and there are a few ways around it such as block limits, but throwing out critical tools that aid in one of the core elements of the game is not the way to go.

With great power comes great responsibility. What will happen is the community will start to police itself. Builders will begin to find the best ways to build beautifully and efficiently. Those that don't will be avoided and/or ignored when people find their builds difficult to play with, à la Space Engineers.

And look, building to the games limits is part of the fun. It's perfectly harmless when in single player. In multiplayer, server owners will police themselves and your community will figure out what the etiquette should be.

Please, don't punish your players by eliminating this critical tool. Thank you!

ProPeach commented 4 years ago

As a temporary measure if performance is a potential issue, how about copy and paste for child entities only for things like turrets? Say players can copy/paste the contents of a child entity (A bit like the old Identity Block bug, but without the crazy duplicating behaviour) to reduce some of the tedium of building the same turret a large number of times.

I also support the addition of copy paste, but I recognise it's not as simple in its implementation as pretty much another games so I'm happy to wait for a bit

Dwarf-LordPangolin commented 4 years ago

The lack of copy-paste is one of the two main reasons I haven't been active here for the last few months. There are real-life reasons too, but the lack of copy-paste left me completely burned-out after working on station modules for the game. Let me give an example to illustrate why copy-paste is an absolutely essential feature.

The station modules that I built for the game follow the 50m-to-a-side pattern that the community adopted as a standard. This is a good measurement, but it has a problem:

If I build an interior for every one of my station modules, I will have to make over 750m of hallways by hand. That does not include any rooms in addition to the hallways. I just can't do that without copy-paste, because it took me way, way too many hours to build the modules that I did, during which time I basically set most other activities aside and sorta turned into a hermit.

As a comparison, imagine writing code for a game, but not being able to copy-paste or use auto-complete functions, and only being able to move the cursor with the arrow keys, not the mouse. That would be incredibly painful and frustrating, right? That's how hard it is to build in any game like this without copy-paste.

I understand that the potential exists to abuse copy-paste due to the game's high level of detail, and I also know that some inattentive players will blame the game for issues that result from their own abuse of the feature. I also understand that Starship EVO's build system will make the implementation of copy-paste a far harder job to program than it would be for a game with a simpler build system. Having spent a little time messing around in C# lately, I cannot imagine how hard a job adding copy-paste in a performance-friendly way will be.

But as someone who has built in this game and other games a fair amount, I also know that there are vastly more players that will criticize the game for a lack of copy-paste, or will simply never buy the game in the first place, for the same reason.

Personally, I dearly want to keep making ships and other stuff for the game and reporting bugs for it, but combined with the fact that real life is a bit tricky right now, trying to make anything larger than the smallest ships at the moment without copy-paste is a bridge too far.

Whackjob commented 4 years ago

Hi, I'm Whackjob from KSP. I was briefly mildly internet famous in a very narrow niche for building far bigger than sanity would suggest to be useful. I literally melted the processor out of an Alienware m17x laptop years ago by launching a supremely large ship into orbit. This is not hyperbole, it was permanently ruined. So I have a bit of expertise in the building big category, just to establish my bonny-fides.

I bought in to this game just a couple of days ago. And right now I'm building big because thats my fun. I'm laying a trusswork spine for my ship. Right now off the top of my head, the current dimensions are approximately 100m wide by 50m tall by 1,500m long. When i return from vacation i will add another 500 to the length, then probably add some more sections to the outside so I'm not too spindly. I have so far spent eight to ten hours laying out just this spine. I expect to spend another fifteen to forty hours laying out framework before im happy with it.

And I will do it without cut and paste if I have to. But honestly, it's a bit of a second job, isn't it? Wouldn't it be great if i could spend some less time on redundant routine, identical framing, and more time on systems, greebles, fighters for the bay im putting in (16 cubic meter bays, maybe 32x16x16 meters if i extend the outside, and there will be two hundred and twenty of them!) Shields, lights, a foc'sle, and so on.

Cut and paste improves the ratio of necessary tedium and fun. Pure and simple.

I would also like to suggest a quick alternative if i may: If we could get merge blocks, i could save many small blueprints, and use those to assemble larger frameworks faster. That would be a boon to greeble spread also. Spawn the subgroup in air, use a tug to place and bind it, and rather than remain a child group, it would permanent lock on and add to the parent group. Bigger lego, you know, with all the fun that implies.

PopkaAkula commented 4 years ago

To start off: I mostly build small ships with large amounts of internal detailing so I might be biased against or even uneducated about large ships but I'm with Tsuna here on not allowing copy and paste because it can be easily exploited, but I think a sort of compromise can be offered:

Maybe have copy and paste be limited to the amount of blocks, bricks, and various other things in the given area you are copying, this could maybe scale inversely with how complex a ship is. The more complex and large a ship is the less you can copy on it.

It would be nice to have child entity saving and copying back as well but I can also see how this can be exploited to create large ships made out of child entities so maybe have the complexity limitation apply to child entity saving and copying as well?

5URG3 commented 4 years ago

@Dwarf-LordPangolin - Absolutely nailed it, thanks for taking the time to respond.

DLP has also explained exactly why I didn't attempt the station contest. That is a perfect example of the problem.

A station should have a uniform look so that it looks right in any combination. This virtually guarentees multiple copies of the same block patterns, a process that is extremely tedious, especially at that scale. I salute anyone that builds multiple matching modules of a decent quality.

Multiple planes of symmetry would definitely help, but still Copy and Paste is essential. I think pasting turrets is far too open to abuse and potentially worse for stability unless full copy and paste is allowed since people could just build loads of child entities for greebles etc. It's got to be all or nothing I think.

I can't see a way around these issues without a limit being placed on ship complexity. Can anyone else?

Calvert4096 commented 4 years ago

I have to echo what Dwarf-LordPangolin said... copy-paste of sub-assemblies would be a huge quality of life improvement, and I've gotten burned out building without it.

If Tsuna's concern is that it impacts performance, then some sort of complexity metric should be implemented, and server admins can have a slider that puts a limit on allowable blueprint complexity. If you build something more complicated than the server admin wants, too bad so sad, play with it on single player. If Tsuna wants to limit it even for the single player experience, then there should probably be some survival gameplay mechanic that organically punishes complexity as it exceeds a certain level (maybe make that adjustable too). I think if a player wants to melt their computer or play at 0.1 FPS on creative mode single player, the game should let them (as kerbal space program and others do). The key to minimizing player frustration in that case is providing actionable debug information so they can find what's causing slow-downs and eliminate it if they so choose.

Rhedd-V commented 4 years ago

It seems very simple to me... Limiting the complexity of player builds by making it totally miserable and un-fun to build something too complex is a terrible way to limit complexity. At best, people are going to build whatever they want anyway, and waste hours and hours of their lives on tedium to do it. At worst, people will give up and dislike the game because building anything with any repeating shapes is too boring to be fun.

Also, I mostly used copy/paste in Space Engineers to move parts of my builds around and adjust proportions, make room for newly added parts, etc. Without it, I would’ve just thrown my best builds away and given up.

This game isn’t that special when it comes to complexity. I’m sure I’m not the only one who built a ship in Space Engineers that ended up being too big for the game to handle. Nobody with a brain blames the game when that happens.

tsunamayo commented 4 years ago

Okay thanks all for the discussion. Before I post more specific answers lets just clear a way forward:

A few question first:

The issue So the things I want to avoid is people choosing to build with some massively detailed tiles instead of the normal Hull block. With a prefab system it would be super fast to cram 100x time more detail in their build. Such a "hull of the death" image This is just an example, obviously nobody wants to use that crappy block ;). There must be 30x more geo in that 1m tile compared to a normal hull. If you were to put that over a 10mx10m there would be 3000x more geometry, as the hull block scale whereas this tile just repeat itself. I cant just yolo and give you a way to increase by three order of magnitude the complexity of your build. I am sure that a lot of people would make their nice little repo of fancy hull of the death and fancy corridor of the death (and then build me a neat km wide death star with it ;))

Solutions So I need a good system to prevent it or making it inefficient gameplay wise, while making sure the player understand the limit while being "acceptable". The best approach would be to make it inefficient. By no means bricks should be perceived be a valid alternative to hull block. This is hard as in recent update bricks now provide some armor and hp, but I think it is still the case: 1) weaker armor compared to hull (atm 100 vs 140, and there will be higher hull tier) 2) heavier 3) no heat dissipation. (as we have surface heat) Of course some people will still complain about that... But I think saying hull block is for armor, mini brick are for detailing seems acceptable to me.

Then there is the PCU approach. It is less elegant because it remind players of the inner working of the game, but it is definitely acceptable I think, and honestly I think it will be necessary anyway. If SE already have this then it is a good thing as so many people played that game. What I dont like is having a limit of some kind, ie this give the false impression that you can cram as much as you want while below, which is not true. So maybe a having a softer graduation / rating?

godsgopher commented 4 years ago

What about the very simple solution that bricks can't be copied and pasted. You can select them and copy and Paste and all you will get are the Blocks. It seems to me "bricks" are the issue here, not copy and paste.

Now I admit this is not a great solution because yes all that little detail is super important and the desire to copy and paste ALL the details is defiantly a wanted item. However, if the bricks sending the processing time through the roof is the hold up then lets just not do bricks. No other limits need be imposed.

I would also point out this could be treated as a first iteration of copy and paste. If its insufficient then it's a "first iteration" and you can add a more robust system later when there is "more time" to develop a more balanced less restrictive system.

Just being able to do blocks would get us a LOT further along than we are now. Only being able to do Block and NOT bricks would be inefficient as you call it.

tsunamayo commented 4 years ago

@godsgopher No I dont think that is acceptable. Also I like your style, colorful and simple, very much 80s Chriss Foss / homeworldesque! @Servomotor thanks, you clearly understood the dilemma at play on my side!

tsunamayo commented 4 years ago

@5URG3 omg those are absolutely incredible design... you need to make me a faction for the game... By the look of it you made the biggest ships already... Really amazing detail (not too much! It is really hull based), and sleek shape! Do you have this on the workshop? Thanks for the constructive feedback too. Your use case where new to me also.

@Dwarf-LordPangolin glad to hear from you! Yes I can understand you got burned out, you must have played so much already - I am so thankful for it as it. Thanks for the pertinent feedback as always. The code side of it should be okay, there will be some challenge for collision check on large assembly though. Prefab on the other side will be a bit more time consuming because of the UI side of things.

@ProPeach Yes I though about that but this could have some perverse side effects (people simple using children entity instead of main one as a way of having prefab...)

@Whackjob haha that must have been something to witness! But you highlighted the main issue with the prefab/copy-paste, this is an absolute explosive cocktail with massive ship. I definitely did not designed the tech to make such large ship, otherwise I would have created something different (with no bricks for a start...)

Sorry I cant answer to everybody!

CaptainKronos commented 4 years ago

@tsunamayo Okay, bricks not having heat dissapation would break the game. Any small vessel built with bricks would break immediately. Also, making it heavier... I disagree with. Just make the mass proportional to the mass of a brick. Weaker armour, yeah I can get that. But if it's made heavier, you need to increase the thrust of thrusters so it would make sense. Also, smaller craft tend to be made with bricks. Changing bricks would kinda break smaller vessels.

tsunamayo commented 4 years ago

@CaptainKronos that is already like that actually (no change planned) The reason it dont break small ship is: 1) you have surface area heat dissipation. Huge boost for small ship, medium boost for medium ship ect. 2) bricks are OP compared to blocks. But they generate a lot of heat. Which is fine for small ship because of the surface area heat dissipation! It all click together to make small ship viable. If not thats just a balancing problem.

tsunamayo commented 4 years ago

okay so as I understand in SE you can get a prefab like feature with the weld tool. You spawn your prefab, then weld / merge it to the main grid. It is make sense, it is definitely slower and more convoluted compared to normal building, which is good thing and could save my life...

CaptainKronos commented 4 years ago

@CaptainKronos that is already like that actually (no change planned) The reason it dont break small ship is:

  1. you have surface area heat dissipation. Huge boost for small ship, medium boost for medium ship ect.
  2. bricks are OP compared to blocks. But they generate a lot of heat. Which is fine for small ship because of the surface area heat dissipation! It all click together to make small ship viable. If not thats just a balancing problem.

@tsunamayo ohhhhh.... okay.

CaptainKronos commented 4 years ago

yeah, I've suggested merge-block like blocks in this game. SE does that right.

BrickMacklin commented 4 years ago

So I think the consequences of causing a performamce issue is something we would be ok with. For example in the game Stormworks any ship made with excessive detail tends to cause lag. Especially if you build big. The deva warn you this can happen. Any person who builds this way warns you on the workshop "this ship causes lag!" Some of them even slow your game to a crawl. To be honest the playervase is fine with it. We recognize the limitation and for the most park build accordingly.

LtDingus commented 4 years ago

Copy paste would indeed be extremely useful for building starships.

ProPeach commented 4 years ago

Thank you Tsuna for taking the time to explain your stance answer everyone specifically! Bricks are already a worse alternative to blocks in terms of stats, but I think players could be reminded of that more often in the codex. Normalizing bricks as a detail option rather than a hull option can help with performance.

On the other hand, even players who know the negative impact of bricks will still decide to use them to make large structures simply because they look better. There is nothing that can be done about this, it's just a testament to how awesome the brick system is. But as long as it's common knowledge that bricks are the higher performance option players will blame the builder for any performance issues, not your game. Awareness is better than hard limits in this case I think. This has already been the case with clipping - back in the day you'll remember that players would clip things freely, but now if a player clips in their build a lot of other players will (mostly jokingly) call it a "sin", or just point out that they shouldn't do it unless they're aware of the potential consequences. Servomotor actually came to me the other day about the possibility of a ranking system for which parts if the building system cause more lag, blocks -> bricks -> light - >child entities etc. If that documentation was available in game that would help players make informed choices about how they build.

With regards to prefabs, how about using your existing blueprint system? SE didn't have a prefab system as such, you could just copy and paste(weld) blueprints together. You basically copy a build/part of a build to your clipboard, and then place it like a block with the help of a ghost to show you where it will place. As a further option a blueprint GUI with folders would make this a lot easier and less cluttered (and would be awesome anyway!). Hopefully this smooths out some of the potential GUI issues

5URG3 commented 4 years ago

Hi Tsuna, thanks for responding, I really appreciate it.

Thanks for the feedback on the ships, I'm glad you like them and I'm happy to build more for an in-game faction if you wish. To avoid derailing this discussion, I will make a post over on the “Skywanderers-Pathfinder-Group-Build” page with details and links soon.

Copy and Paste

Is copy and paste only (no prefab) acceptable or prefab is a must?

Is there a prefab system in SE, or just copy and paste.

In Space Engineers there is effectively a “Clipboard”. The player looks at a grid (entity) or grids (entity and connected child entities), presses Ctrl + C/X (Copy/Cut). The “Build” (A collective term for the entity and connected child entities) is then stored in the Clipboard.

Obviously in the case of Ctrl + X the build is also deleted.

As with the traditional Copy + Paste, only one Build can be stored in the clipboard at a time.

Players can paste the Clipboard into the World using Ctrl + V. If pasting into free space, this is pretty straight forward.

When pasting onto an existing grid, SE will use the block the player was facing when they used Copy/Cut as the targeting block and attempt to link this and the rest of the Clipboard to the block the player is facing on the existing target grid.

This kind of system is essentially what I believe most people are asking for.

In Space Engineers there are also “Blueprints”. These are saved copies of the Clipboard. I believe this is what you mean by “Prefabs”. In SE Blueprints can be loaded into the Clipboard using the Blueprint Menu. The Blueprint Menu is fairly similar to the system in SEVO, except no Starter Block is required, the Blueprint is simply loaded into the Clipboard and then pasted into the world.

The Blueprint/Prefab menu is useful, but Copy + Paste is the essential part.

Requirements for Copy + Paste in SEVO

One of the major differences between SE and SEVO is that when an entity is physically split in SE, it becomes two entities. In SEVO, it remains a single entity. Therefore, any implementation of this kind of system may require a tool to enable us to cut parts off existing builds, or target parts not physically connected.

A potentially better system might be one that allows the dragging of a selection box that would work similar to existing block stretching.

Players would also need a means of reliably moving entities for pasting or a method of linking entities together. I have not used the station connection tool, does this perform a similar task?

Regarding PCU and Merge Blocks, I will type up another post soon.

PFSCommissar commented 4 years ago

like many others from SE, I think copy/paste is the #1 thing that I miss most when coming over here. I ran into this when working on my latest ship:

image

You can see here that the dorsal turrets are all the same model. It got very tedious while building to constantly fly back and forth and ensure that everything looked the same. In fact, I had much less motivation to do this later, and opted for much simpler ventral turrets.

In SE, I used copy/paste to make custom turrets and line my ships. It was also immensely useful when loading a ship full of missiles. As I understand it, in SEVO the idea has been tossed around that we may build our custom missile models. If that's the case, copy/paste will be a necessity if we are to ever build missile boats and not just strap one or two onto our fighter wings.

I understand the idea of keeping away trolls, but I can't remember copy/paste trolls really being a problem in SE. I will grant that I never played multiplayer much, but I would think admin controls or max grid sizes could fix any issues that might arise. Some people like myself never really play a game like SE or SEVO with others. We are only there to build, upload, and move on to the next one. So on behalf of those players, this feature would be a great boost to our creativity.

Drillz007 commented 4 years ago

i support copy and past for the game and if they only argument against it so far is that it will impact performance because it will make it easier to repeat complex designs... well a determined person will do it anyways i know i have build many doors by hand just cause its more fitting for the design than the standard sliding door block (not saying the design is bad) it also is a bit of human fear in with it though i would rather a thick door that can take some fire then a simple door that can easily be bypassed

tsunamayo commented 4 years ago

@5URG3 thanks for the detailed explanation - I think I will do this. I could do something more streamlined but again that would be too risky - it would give the impression that this thing could be valid substitute to blocks. Also yes I would give a copy/paste tool with a stretchable box. I would also have to improve the blueprint system with custom folder for easier navigation.

@PFSCommissar it is not trolls, a lot of people will be genuine it their use. @Drillz007 no. Almost all the massive ship I saw had no interior, for a reason. With this you will be able to spawn massively detailed generic corridor and room in no time, and people will do it for sure. Also to add on this: it helps player to auto-regulate their expectation: instead of making a 500m ship then maybe they realize that doing a 200m is better. FYI your custom door wont be compatible with crew and air tightness when those features will be implemented (if ever), it also make the game lag more collision wise (rendering has now no impact since the latest patch though)

BrickMacklin commented 4 years ago

For what it is worth I have added detailed hallways to my interior and have not had a performance hit

tsunamayo commented 4 years ago

@BrickMacklin interesting to hear given the size of your ship, how detailed they were? Is it on the last you sent me I dont remember.

BrickMacklin commented 4 years ago

Nope I have been hard at work on the interior. It utilizes a good combination of blocks and bricks.

This hallway spans roughly 120 meters. 20200823194118_1 20200823194140_1

I will be making more like this that lead to other rooms. 20200823194130_1

There's also the two main airlocks 20200823194158_1

And my ODST Pod bay 20200815135217_1

Visual of the hallway length image

Copy and paste would have made this a lot easier. But I'm making it without it. Just a lot longer. Committed to seeing the ship through. And then I have two others just like it to work on.

tsunamayo commented 4 years ago

@BrickMacklin amazing! Those interior are legit block interior, my fear is that instead of doing them like that you would use brick based prefab that contains 100x more geometry. And lets face it people would totally do this with a prefab / copy paste... Thats why I think I cannot skip the PCU implementation.

BrickMacklin commented 4 years ago

Thanks! I would much rather do it with copy and paste. It would save me several hours. But if I did it and the bricks caused a performance issue I would immediately remove them and find another way. I am doing my best to utilize both to maximize performance. There are already plenty of bricks on the outside detailing and bridge has a ton of bricks. image

Is there away that we could try a copy and paste with both to see what the performance hit would actually be?

tsunamayo commented 4 years ago

yes I will do a dirty implementation just to check the impact, on a special build. I just want to finish that medbay update, I am near the end of that.