Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
Mirificus
Oct 29, 2004

Kings need not raise their voices to be heard

Adbot
ADBOT LOVES YOU

Thoatse
Feb 29, 2016

Lol said the scorpion, lmao
https://i.imgur.com/HNZDLdA.gifv

Mirificus
Oct 29, 2004

Kings need not raise their voices to be heard






VictorianQueerLit
Aug 25, 2017

naked delusion is pretty interesting. I hope all of this poo poo is being archived so that psychologists can study it for decades.

ewe2
Jul 1, 2009


Take up the rich man's burden, you dirty non-sc havers!

Agony Aunt
Apr 17, 2018

by LITERALLY AN ADMIN

I see, but let me retort with "$27000 on a loving computer game! Are you loving mad?"

Kosumo
Apr 9, 2016

VictorianQueerLit posted:

Yeah, also don't forget that whenever anyone would mention how good Freespace 2 was or recommend it he would lose his mind because he thought Crobbler's 4th or 5th lovely cinematic cutscene game was a masterpiece instead so he would rant at length about how lovely and awful Freespace 2 was.

Not only did he have no qualifications to work for CIG other than slapfighting on the internet he is also terminally retarded and can't recognize a good space sim.

His qualifications to work for CIG WAS that he is terminally retarded and can't recognize a good space sim.

It's what the guy at the top with the dream can relate to.

VictorianQueerLit
Aug 25, 2017
I think it would be funny if discovery uncovered all of the emails Ben was sending to Chris. He already thought the guy cured his blindness and spent years throwing it in other nerd's faces that his idol had actually communicated with him.

GreenElephant
Mar 22, 2016
I've been seeing a lot of "Hey, only 20 people are working on ships, the rest are working on mechanics/etc so it ain't hurting speed at all, fools" recently and want to add my two cents on this.

Dear citizens reading this, it isn't true. In fact, the 50+ half done flyable ships are a constantly increasing millstone around CIG's neck. In addition to the hours of design, modeling, tech debt, QA, textures and effect works on the ships themselves, here are the bigger problems caused by the continual required reworks:

Code complication: Every time a coder makes even a small change in a ship mechanic, for example, changing how thruster values work or adding a new tag to a ship zone this means going through EVERY old ship and updating, testing, and merging into the latest version. This probably means hours per ship for even the smallest change and much more for larger modifications.

Backward asset compatibility: Retouching & testing every ship asset to fix something before a release usually doesn't happen as it's too time consuming, especially when older ships won't even export with the latest version of the tools because nobody has updated it to use the new 3.0 control panels or whatever – so the coder is asked to continue supporting the "old way" as well.

You end up with multiple versions of code doing the same things, item system v1, v2, etc. The code turns into unmanageable spaghetti because you can never make completely breaking changes unless you're prepared to release something with only a single ship or two being functional.

Unfortunately, releasing an update that doesn't include most ships (or having a year with no updates...) while baseline technology is still being figured out would make a big impact on funding, so can't do that.

Programmers start to avoid breaking changes completely and look for quick/cheap hacks that won't interrupt existing systems to avoid another re-work. Nobody wants to be the person to say “ok, we can fix collision, but we'll have to create a new collision mesh style for every room” so you get stuck in kind of a a local maxima where true engine fixes can't happen and you band-aide everything.

Twyst
Mar 5, 2005
:O

i'm the t-posing enemy that causes the tester to turn away until the slow as gently caress death animation kicks in

tuo
Jun 17, 2016

:ohdear: poor flowgraphs!

Foo Diddley
Oct 29, 2011

cat
It's a critical error, too

Game just can't get along without those flowgraphs

Twyst
Mar 5, 2005
:O

https://www.youtube.com/watch?v=mSXNtulQtik&t=38s

http://www.firehawkgaming.com/hullcitizen/

lol its english ben



llol

Is clicking on someone's channel doxxing

VictorianQueerLit
Aug 25, 2017
50 views in 3 years for a Star Citizen round table is pretty brutal. I think even Erris and The Bearded Infant get like 200 on average.

SelenicMartian
Sep 14, 2013

Sometimes it's not the bomb that's retarded.

VictorianQueerLit posted:

I think it would be funny if discovery uncovered all of the emails Ben was sending to Chris. He already thought the guy cured his blindness and spent years throwing it in other nerd's faces that his idol had actually communicated with him.
"Chris Roberts stopped responding to my mail:~( #9546"

"Anyway, I was hoping I'd get a threatening note from Chris Roberts or somebody when I said I had the script, but so far nothing:~(\ #10219"

"Chris Roberts put a clause in his contract which lets him have 2 weeks to find a different studio if FOX doesn't release before Star Wars... but he doesn't expect to have any luck... #10490"

"Poor stupid Chris Roberts. He wants to be a ral director. #10893"

"If it's a big hit Chris Robert's 'll go "Oooh! I can make another one!" and Chris McCubbin 'll go "Oooh, I can write another book!" and somebody at Creative Licensing will go "Oooh, we should market WC diapers!"... #10932

Yeah... hopefully when examining the sales info FOX will realize that they made lots of money and assume that they only did that because it had the SW trailer. #10933

Was "WC diapers and tons of crap" a pun? #10934

I do not want it to be a hit. I don't want to go into school on Monday, March 15th and overhear people talking about how cute Chris Blair is and how cool SFX were... #10935

Plus, if the movie is popular... I won't be able to wear one of those cool Pilgrim crosses... #10936"


You got your wish Ben.

Daztek
Jun 2, 2006



https://i.imgur.com/NkQNzQ3.gifv

https://i.imgur.com/9GChClQ.gifv

tuo
Jun 17, 2016


:allears:

I'm so glad Chris is a perfectionist

Agony Aunt
Apr 17, 2018

by LITERALLY AN ADMIN

GreenElephant posted:

I've been seeing a lot of "Hey, only 20 people are working on ships, the rest are working on mechanics/etc so it ain't hurting speed at all, fools" recently and want to add my two cents on this.

Dear citizens reading this, it isn't true. In fact, the 50+ half done flyable ships are a constantly increasing millstone around CIG's neck. In addition to the hours of design, modeling, tech debt, QA, textures and effect works on the ships themselves, here are the bigger problems caused by the continual required reworks:

Code complication: Every time a coder makes even a small change in a ship mechanic, for example, changing how thruster values work or adding a new tag to a ship zone this means going through EVERY old ship and updating, testing, and merging into the latest version. This probably means hours per ship for even the smallest change and much more for larger modifications.

Backward asset compatibility: Retouching & testing every ship asset to fix something before a release usually doesn't happen as it's too time consuming, especially when older ships won't even export with the latest version of the tools because nobody has updated it to use the new 3.0 control panels or whatever – so the coder is asked to continue supporting the "old way" as well.

You end up with multiple versions of code doing the same things, item system v1, v2, etc. The code turns into unmanageable spaghetti because you can never make completely breaking changes unless you're prepared to release something with only a single ship or two being functional.

Unfortunately, releasing an update that doesn't include most ships (or having a year with no updates...) while baseline technology is still being figured out would make a big impact on funding, so can't do that.

Programmers start to avoid breaking changes completely and look for quick/cheap hacks that won't interrupt existing systems to avoid another re-work. Nobody wants to be the person to say “ok, we can fix collision, but we'll have to create a new collision mesh style for every room” so you get stuck in kind of a a local maxima where true engine fixes can't happen and you band-aide everything.

You missed one. Some of the ships were initially made years ago and are already looking dated due to improvements in tech as CIG keep pushing fidelity. So those need reworking. Another year or two, other older ships will need reworking to meet the newer standards, and so on. Too many ships can be a problem.

I think ED solves this by making the newer ships on more or less the same quality level as the old, less disparity. Lacks a bit of shine then at times compared to what could be achieved with newer tech and hardware, but it does the job. Also doesn't mean older computers struggle with newer ships.

One good things about ED compared to SC is performance. FD maintain good backward performance with older hardware. When backers say that when SC releases people will drop ED, they sometimes forget many people are not running top end hardware and simply won't be able to play SC, even assuming they wanted to.

Bofast
Feb 21, 2011

Grimey Drawer

SPERMCUBE.ORG posted:

Look the point is CIG has a bridge to sell you.

:golfclap:

Koil
Jun 24, 2005

two weeks

Bofast
Feb 21, 2011

Grimey Drawer

trucutru posted:

Ok, found the blueprints!



I guess CIG really is trying to build something no one else has ever done before, huh?

Kosumo
Apr 9, 2016


:holy:

VictorianQueerLit
Aug 25, 2017

"Six folds, huh? W-W-What, have you guys got me in a series 3.2? You cheap content locust fucks didn't think I was worth your best patches?"

ComfyPants
Mar 20, 2002

Beet Wagon posted:

Man part of me wants to take that Montoya "Star Citizens would never do this" quote into photoshop and just surround it with a cloud of all the loving insane poo poo SC superfans have done and said over the years. Of course, I've already stared into that abyss enough to go a little crazy, so maybe diving right back in isn't the best bet lol

Make sure you have a number of quotes equal to the number of people who voted to expand the scope, that way you can prove that it is indeed the majority of backers.

Pixelate
Jan 6, 2018

"You win by having fun"

Fricking lol

I love how he liquid snakes out into the aggressive bum exit. That's one way to stay frosty while mid-animation I guess.

(I don't speak performance overlays. Does that one say the guy has 17 cores to achieve kinda 30fps?)

shrach
Jan 10, 2004

daylight ssssaving time

Pixelate posted:


(I don't speak performance overlays. Does that one say the guy has 17 cores to achieve kinda 30fps?)

It's probably 8 hyperthreaded cores. The bottom one is probably average load.

EminusSleepus
Sep 28, 2015

Trump and Kim Jung Un are already here in Singapore


I think World Peace is more attainable than go live release of Sperg Citizen

Virtual Captain
Feb 20, 2017

Archive Priest of the Stimperial Order

Star Citizen Good, in all things forevermore. Amen.
:pray:

GoingPostal posted:

No? I was just curious if Pocket Casts was missing episodes or something. VC was talking about other podcast episodes and I was wondering if there was a side podcast I missed.

I took a little vacation, before leaving we recorded and streamed at least two episodes on twitch. Those videos have expired and haven't been put into the podcast feed yet. That will happen probably Tuesday or Wednesday this week.

There are some more episodes that weren't streamed anywhere that will hopefully be added as well if the recordings were successful.

Hav
Dec 11, 2009

Fun Shoe

Foo Diddley posted:

"They don't charge $1000 to access that page, they just don't let you access that page until you've spent $1000"

What a fuckin' idiot

No, he has a point. I’d like to know what the gender-confused weeaboo think ‘real journalism’ is.

Is it like when you tell a copper to go after ‘real criminals’?

Beet Wagon
Oct 19, 2015





ComfyPants posted:

Make sure you have a number of quotes equal to the number of people who voted to expand the scope, that way you can prove that it is indeed the majority of backers.

:thurman: :bravo: :perfect: :five:

Hav
Dec 11, 2009

Fun Shoe

Tippis posted:

A thousand pages too late, but just to add to this, I'll copypaste an old effort post of mine answering a related but slightly different question:


Pretty much… time to effort post. :D

Level of Detail (LoD):
The method of using different art assets depending on the distance between the viewer and the object they're looking at. Be it sprites or 3D models or textures, lower-detailed ones are used at larger distances because any more detail will just be squished together to a size smaller than a pixel, and be lost. This method has been around for the last 30 years.

Serialised variables:
Serialisation is the method of turning a complex data structure into a much more simplified series of data points. Instead of dumping an entire block of memory onto the client, you compact it into something much mor terse and relevant.

You may have a ship (partially) stored in memory as:
code:
0000AB12_Ugly Ducking____________________006E_
0000000000003039_000000000000D431_0000000000002F59_
3CE4186D399E326B_308D6E044A0A2E92_009BE179CA492B01_
etc etc etc.
…where the different parts are things like ship ID, name, type, x/y/z coordinates, memory coordinates for fitted equipment and so on.

That's a whole bunch of ugly junk to send, and those last bits won't even be accurate because they depend on how the equipment is stored in the server's RAM — the client will be completely differently set up. You have to turn it into something that's not just light-weight enough for transmission, but also actually useful for the client. So you “serialise” it — turn it into a data series that the client can use — along the lines of:
code:
43794,Ugly Duckling,110,12345,54321,1212, …
[and then some serialisation of the different equipment]
The client knows which parts are which, and stores them into memory in a way that's suitable to it, and life goes on.

This is simply a different way of saying that the way data is stored internally is not how it is (or should be) transmitted — it's an idea that is as old as computers, and I'd be surprised if this was news even to Ada Lovelace.

Incidentally, formats like XML or JSON, that you may have heard of in relation to this, are serialisations of variables — they let you express complex objects in a very structured way. The problem is that their focus is on being easy to read for humans and on being interoperable between different software, not on being efficient. So for a controlled and fast-paced environment, you really want something else. Hence why Cryengine's internal XML-based structures make for a very poor basis for syncing objects over a network, and why you had this guffaw a few years back where each ship in SC required megabytes worth of data to be sent to the client — they were dumping the entire inefficient XML structure on the poor users.

Serialised variable culling:
That's all nice and well, but do you really need all that data to be sent, even in a serialised format? After all, the equipment won't really change that often, and even positions may be static. So to reduce traffic even further, you devise a way to inform the client what you're actually sending and what it should just retain based on old data. This may entail either skipping entire variable series, or skipping parts of a series. Either way, you can now use different update intervals for different variables, and the trick is more in figuring out what needs to be processed when — the rest is “culled”, that is, deemed not relevant for now and thus not processed.

Where, before, you might send a compact data structure of the format Ship ID, name, X, Y, Z, equipment data, you can now just send something along the lines of
[FONT=Courier New]ID=43794,X=12355[/FONT]
…because all that happened between the old update and the new is that our Ugly Ducking ship changed its x-position, and we detected that and skipped all other variable processing and transmission.

Again, a thoroughly ancient technique, but since the whole detection of what needs to be updated creates a bit of processing overhead, it may in some cases be easier and faster to not do it at all. It's a balancing question of, does the lowered transmission and (potentially) reduced processing rate warrant that extra book-keeping overhead?

Bind culling:
Even with that reduced and simplified traffic, the question remains: do we actually need to send anything at all to the client? For the vast majority of stuff going on in a space game, the answer is a resounding “no”. They're too far away to have any impact, or they're just in the wrong location, or of the wrong type. A ship that's half a parsec away is not relevant to you; a character that sits inside a different station than yours isn't relevant to you; the colour of Miles Eckhart's third jacket isn't relevant to you (because while he's close-by, he's a walking-around-mode character and you're current piloting a ship).

So you decide that there needs to be no connection between some object the server knows about, and the client. You don't “bind” that object — i.e. you don't make it a part of the list of things you need to update the client on — and as objects move in and out of relevance, you constantly check and cull that list of objects and in many cases don't even get to the step where you have to bother with serialisation and culling of object variables.

This is a concept that is, in gaming at least, 20+ years old. Any game that offers multiplayer and that supports some kind of division of the world into zones does this to some extent. Well… most of them. Cryengine is (in)famous for having particularly non-granular culling methods — all clients get the same updates on all the same objects, and screw their individual preferences…

Object container:
An easy way to figure out what's relevant and not to the client is to group objects together and have a rule that determines when the entire group as a whole becomes relevant. This means you no longer have to check each individual object — a relevance test that might previously have required thousands of checks now require only one. CIG has dubbed these groups “object containers”.

To aid the process further, one group may in turn contain other groups, each with their own relevance rules. That big old station might be an object container, and the rule determines that you should be kept updated on it because you're close enough out in space. The station holds a mess hall that might be an object container, but its rule determines that you can ignore it, because it's inside the station container, and you're (still) out in space. The mess hall container might then have all kinds of chairs and plants and whatnots inside it, but none of that matters, because the mess hall itself is deemed irrelevant to you. So all the server keeps you updated on is the station and maybe the fact that it offers mess hall services — but the exact details of those lower-level distinctions are kept from you. The station object is bound; the mess hall object (and everything in it) is culled.

This is a more complex version of that same old zoning technique that has been around for decades. Indeed, it is really just an extension of the notion of having “sublevels” — going in and out of a house in anything from Zelda to Far Cry.

Object container streaming:
The problem now is one of transition. How do you go from not knowing or caring about the contents of a container to actually doing so? The classical method would be a hard loading screen: everything outside is dumped and deemed irrelevant; everything inside is loaded instead, and there you are. If we want a smooth, seamless transition, things become trickier.

As a container's content is suddenly deemed relevant to you, the poor client will already be shocked by the sudden mass of data dumped in its lap as all those new objects are suddenly bound to you, and as all their variables have to be set up before variable culling can kick in and start doing its job. On top of that, you also have to load all the art assets and draw the darn thing on screen. Loading screens hide all that, so what do you do if you want to avoid the appearance of loading, and also don't want to just have things pop into existence in a really ugly way?

You need to figure out 1) how to set up and build the container in such a way that, by the time the player can actually see and interact with it, that part has already been loaded quietly in the background (the eponymous “streaming”), and 2) when the moment of transition is, so the loading can begin. Many games, in particular open-world ones, habitually do this these days. The Elder Scrolls games did it for the overworld; flight sims have had this kind of “patch-wise appearance” of the world since roughly forever, where entire neighbourhoods would suddenly increase detail; you see it in ED if you stay away from using FSD — the main change over the years is how well the game hides it, in particular in the face of increasing hardware that lets you see tiny details at long distances more clearly, which tends to reveal the tricks used.

A trivial case might be the approach to a station, where the whole thing is built hierarchically from the outside in: as you approach, the game quickly gets more detailed updates on the location of the station, and it loads the outer hull model and textures. The previously mentioned LoD:s offer a logical stepping ladder of increased detail, and in between each such step, more and more details on the internal structure of that station is revealed, piecemeal, to the client.

It may go something like this:
1. At a bajillion km, inform the player that there's a station nearby, hand over the coordinates and load a low-LoD model.
2. At a jillion km, open up the object container and start building the outside of the station — receive data and load the models for docking pads, antennas, wild off-the-rails spinny things etc. Also, pick a higher-LoD model for the station.
3. At a thousand km, start setting up the decorative stuff since it'll be coming into view any second now — receive data and load models for lights, higher-resolution textures and shaders, and also (again) higher-LoD models for the previously loaded objects.
4. At ten km, it may seem reasonable to suspect that the player is actually going to this station, so open up lower-level containers. Receive data and start loading models for, say, the airlocks/docking bay and other areas the player might see and access.
5. When the player lands, fully open up the station object and start initialising and loading all the rooms inside, and maybe even pre-load some decorations that will appear a bit deeper into the structure.

At every step, keep as short a list as possible on what art assets need to be loaded, and what object states need to be tracked. Anything that is too deeply nested into various object containers is culled; anything on a higher level is loaded based on some predefined priority list of what the player will see/interact with first.

This ties together both the network processing and the graphics processing since the stepping-up of the level of detail on some objects (and stepping down for many others) will happen in lockstep. Even so, one actually has very little to do with the other. The streaming of art asset data into memory is separate from the streaming of object data to the client, but it will look really ugly if the two happen out of sync.

This should be whatever the stimpire.txt is. Best round up of the things they’re struggling with.

Hav
Dec 11, 2009

Fun Shoe

Blue On Blue posted:

Can go along way

Typing on twitter is hard when you’re literally shaking with rage.

Colostomy Bag
Jan 11, 2016

:lesnick: C-Bangin' it :lesnick:

EminusSleepus posted:

Trump and Kim Jung Un are already here in Singapore


I think World Peace is more attainable than go live release of Sperg Citizen

There are musings of a possible Smart/Shatner summit.

Beet Wagon
Oct 19, 2015





Hav posted:

Typing on twitter is hard when you’re literally shaking with rage.

CliffyM, sputtering with rage at 3 in the morning, typing a series of tweets about how actually Star Citizen is good: "This loving rear end in a top hat I swear to God I'm gonna - No, Miku-san, relax. Breathe. Get this rage under control. You can do it on your own this time..."

*Several minutes pass, in which CliffyM caves and buys another $15,000 spaceship, feeling the dopamine rush like a smoker coming off the line after a dinner rush*

"Ahhhhhhh. Okay, now to go calmly tell this guy I hate his whole family because he made a youtube video."

Hav
Dec 11, 2009

Fun Shoe

trucutru posted:

Sometimes you finish building the bridge and you realize that it doesn't connect to anywhere.

Engineering bridges is an interative process. It’s why all bridges are modular and are swapped out every few years to meet demand.

Hav
Dec 11, 2009

Fun Shoe

We’re more an anarcho-syndicalist commune that promotes individuals from with to act as a kind of executive rather that a ‘cult’.

Alternatively, he’s one letter off.

happyhippy
Feb 21, 2005

Playing games, watching movies, owning goons. 'sup
Pillbug

Just turn SC into a realistic space Octodad game, will sell millions.

PederP
Nov 20, 2009

It's really good for Star Citizen that they switched to LumberYard, so among other things they can leverage GridMate to add all those network optimizations they're talking about.

https://docs.aws.amazon.com/lumberyard/latest/userguide/network-interest-manager-large-scale-worlds.html

Oh wait, they're not using any of these LumberYard network features? I wonder why. Maybe because all the scale and precision hacks got in the way of porting their game to LumberYard in anything but name?

PederP fucked around with this message at 16:20 on Jun 10, 2018

Scruffpuff
Dec 23, 2015

Fidelity. Wait, was I'm working on again?

What's extra ridiculous about this is that a real game made by real game developers wouldn't even have an animation to get in and out of the ship in the first place.

"BUT MY IMMERSION" cry the backers, but I reiterate that replicating the minutiae isn't what immersion is.

Imagine a bunch of teenage kids sneaking up to the wall near a nudist colony with a ladder to sneak a peek. When they recount the event years later, they might remember the excitement of approaching the wall doing something they weren't supposed to do. They might recall peering over that wall.

What they will NOT recall is walking up the loving ladder and where their feet placement was as they did so. Their minds would have been elsewhere - climbing the ladder would have been a subconscious act the brain edited out in real time, much less dedicated to long-term storage.

But people with a certain kind of autism ONLY sees the minutiae. They have no way of knowing what or who is proper to focus on, so they focus on everything equally. I'm 100% convinced Chris has this, and I'm equally convinced the "MY IMMERSION" backers have the same defect.

Imagine the percentage of development time spent on something that isn't needed. Imagine how much further along this game might be without this bullshit stopping them cold.

Adbot
ADBOT LOVES YOU

Sabreseven
Feb 27, 2016

Star Citizen : The Derekashi Maru

  • 1
  • 2
  • 3
  • 4
  • 5