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.
 
toiletbrush
May 17, 2010

Mu77ley posted:

Actually, they may be trying to implement an Entity Component System: http://entity-systems.wikidot.com/

But this is stuff they should have built in from day one. His description of people having copy/pasted (also it's loving PASTE you idiot, not PASTA) chunks of code between similar classes fills me with dread as a developer. This is schoolboy error stuff. Where the gently caress were the experienced lead developers performing code reviews and architectural oversight to stop this kind of poo poo contaminating the code base?
Experienced leads/architects with the best will in the world can't keep code hygienic and stop tech-debt mounting if they're in crunch/'just hack it in for the demo and do it properly later' mode 100% of the time, and having an architecture with strong technical direction (that also helps stop the juniors doing dumb stuff) is really tough with requirements that are constantly changing or non-existent. I bet they're mostly decent devs, they're just working in the worst environment possible.

I love to poo poo on CIG as much as anyone but some of this armchair dev analysis is cringy as hell.

Adbot
ADBOT LOVES YOU

Ghostlight
Sep 25, 2009

maybe for one second you can pause; try to step into another person's perspective, and understand that a watermelon is cursing me



Beer4TheBeerGod posted:

Originally they said that adding a second camera wasn't viable within CryEngine, so I guess they have that going for them.
Just a reminder that in their initial poaching of Cryengine developers they literally hired one who'd already written a second camera for the engine.

orcane
Jun 13, 2012

Fun Shoe

Kosumo posted:

I bet it fucks up their network code and adds more lag.

Actually that's impossible, since Network is done. Lag eliminated, checkmate etc.

Tank Boy Ken
Aug 24, 2012
J4G for life
Fallen Rib

toiletbrush posted:

I love to poo poo on CIG as much as anyone but some of this armchair dev analysis is cringy as hell.

Copy and pasting logic between individual weapons, just to change a single line is really bad. Imagine how a system would look like if you do it not just for one system but in everything. And that was done years ago. Granted 3-4 years of crunch will make every coder stop caring.

Roeben
Jul 23, 2013

Tank Boy Ken posted:

Copy and pasting logic between individual weapons, just to change a single line is really bad. Imagine how a system would look like if you do it not just for one system but in everything. And that was done years ago. Granted 3-4 years of crunch will make every coder stop caring.

That was when there were only 3 weapons in the game though, and no mechanics or requirements had been established for weaponry beyond what cryengine came with.

Tank Boy Ken
Aug 24, 2012
J4G for life
Fallen Rib

Roeben posted:

That was when there were only 3 weapons in the game though, and no mechanics or requirements had been established for weaponry beyond what cryengine came with.

Well perhaps it's just me. But I hate having the same code in 2 places. It's me. I'm somethingsensitive.

SelenicMartian
Sep 14, 2013

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

What if each submunition of that cluster missile is a separate weapon type?

Roeben
Jul 23, 2013

Tank Boy Ken posted:

Well perhaps it's just me. But I hate having the same code in 2 places. It's me. I'm somethingsensitive.

Depends on what I'm doing. If i'm bashing out something that needs to work quickly and will be replaced later, I see no problem with it at all.

Ayn Marx
Dec 21, 2012

Plural Abysss posted:

Derek revives the ELE. Moma gets angry. EightAce returns with a cryptic message.

Something happened today.

2 weeks

I like when we get angry momaposting, it's fun to read and you get to laugh at the people trying to engage him/them instead of just mocking him

Mu77ley
Oct 14, 2016

Roeben posted:

That was when there were only 3 weapons in the game though, and no mechanics or requirements had been established for weaponry beyond what cryengine came with.

I'm sorry, but if you even think about copy and pasting code between classes, and don't stop to say "hey, this is very likely to happen again, I'll just refactor it now to save time/effort later", then you are not doing your job properly.

Mu77ley
Oct 14, 2016

Tank Boy Ken posted:

Well perhaps it's just me. But I hate having the same code in 2 places. It's me. I'm somethingsensitive.

Yep, because it's a code smell. And it's an extremely common source of problems that will come to bite you in the arse later. Anybody with any experience knows this tries to avoid it like the plague.

Roeben
Jul 23, 2013

Mu77ley posted:

I'm sorry, but if you even think about copy and pasting code between classes, and don't stop to say "hey, this is very likely to happen again, I'll just refactor it now to save time/effort later", then you are not doing your job properly.

But they did do that, developing the item/clothing/weapon system that exists now. This isn't new. You can't complain they refactor a system too much and too little at the same time. Which one is it? :ohdear:

Tank Boy Ken
Aug 24, 2012
J4G for life
Fallen Rib

Roeben posted:

But they did do that, developing the item/clothing/weapon system that exists now. This isn't new. You can't complain they refactor a system too much and too little at the same time. Which one is it? :ohdear:

I think changing their system was warranted. Their main problem is not having a plan for how stuff should interact and which attributes they need. Which is funny since pre-development started before 2011. At least to Mr. Roberts himself he had already worked for a long time on this.

I don't think their bloating of Attributes for interactable Items is suprising given the organic growth of the game.

But if I'm not mistaken refactoring logic into a class, instead of copy+pasting it is usually not a lot of work. I mean they could actually say "logic" and mean variables. In that case, copy+pasting them to create new weapons is probably SOP in game development. But most people do not refer to variables as "logic".
Though we're talking about a company which boasted about having achieved serialized variables...

happyhippy
Feb 21, 2005

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

Mu77ley posted:

I'm sorry, but if you even think about copy and pasting code between classes, and don't stop to say "hey, this is very likely to happen again, I'll just refactor it now to save time/effort later", then you are not doing your job properly.

Then again, if your boss has the attention span, memory, and changes mind so often as Roberts does, you would want to keep back up copies of the code.
Just in case that mop animation code you did 2 years ago before he asked you to change it, is his bright idea again now.

Sillybones
Aug 10, 2013

go away,
spooky skeleton,
go away
Pro-tip: Always pull out duplicated code and put it in one spot. Always.

The hard part is when code looks the same, but is actually different and shouldn't be shared.

Colostomy Bag
Jan 11, 2016

:lesnick: C-Bangin' it :lesnick:

Sillybones posted:

Pro-tip: Always pull out duplicated code and put it in one spot. Always.



Not to defend Roberts, but hell Apple hasn't been able to fully pull it off either.

Hav
Dec 11, 2009

Fun Shoe

Tank Boy Ken posted:

Well perhaps it's just me. But I hate having the same code in 2 places. It's me. I'm somethingsensitive.

if it matters, that's the point of DRY (Don't repeat yourself). Python is pretty much built around that concept.

SelenicMartian posted:

What if each submunition of that cluster missile is a separate weapon type?

It think that was the upshot of the missile chat. Each entity is it's own thing, so 6 starfish/mirv missiles will become 36 entities.

Mu77ley posted:

Yep, because it's a code smell. And it's an extremely common source of problems that will come to bite you in the arse later. Anybody with any experience knows this tries to avoid it like the plague.

Literally bites you in the arse. When you first get into functional programming, the first thing you do is start chokepointing (I predate OO); then when you're into OO, you start the process of writing to tests.

Sillybones posted:

Pro-tip: Always pull out duplicated code and put it in one spot. Always.

The hard part is when code looks the same, but is actually different and shouldn't be shared.

QFT;

Colostomy Bag posted:

Not to defend Roberts, but hell Apple hasn't been able to fully pull it off either.

Apple's been suffering from a brain drain for a while. Google too.

Colostomy Bag
Jan 11, 2016

:lesnick: C-Bangin' it :lesnick:

Hav posted:


Apple's been suffering from a brain drain for a while. Google too.

Showing my age, but I always thought it was cool to get Kickstart images for the Amiga (the leaked ones with the dev notes during the 2.0 and 3.0 releases) and they would go to great lengths explaining how they saved 200 bytes here or 30 cycles there.

Granted it was a different time and obviously a programmers time is cheaper than storage and my god they had storage constraints to keep to. But as we both know the pendulum swings and perhaps someday we will get back to efficient code.

Had to chuckle yesterday when the latest Geforce driver was 400 megs. Would have been roughly 200 floppys. Yeah I'm old.

Sarsapariller
Aug 14, 2015

Occasional vampire queen

no_recall posted:

No, thats a screenshot.

I see you are not familiar with Magritte and the French irrealism movement. Lethality is clearly making a bold statement here: "Ceci n'est pas une trailer."

tuo
Jun 17, 2016

Colostomy Bag posted:

Showing my age, but I always thought it was cool to get Kickstart images for the Amiga (the leaked ones with the dev notes during the 2.0 and 3.0 releases) and they would go to great lengths explaining how they saved 200 bytes here or 30 cycles there.

Granted it was a different time and obviously a programmers time is cheaper than storage and my god they had storage constraints to keep to. But as we both know the pendulum swings and perhaps someday we will get back to efficient code.

Had to chuckle yesterday when the latest Geforce driver was 400 megs. Would have been roughly 200 floppys. Yeah I'm old.

"Computers are so powerfull these days, it's not as important to write efficient code or care about asset size as it used to be", said Crobberts, before clipping through the floor at 5fps in his MMO with a maximum player count of 18.

Colostomy Bag
Jan 11, 2016

:lesnick: C-Bangin' it :lesnick:

tuo posted:

"Computers are so powerfull these days, it's not as important to write efficient code or care about asset size as it used to be", said Crobberts, before clipping through the floor at 5fps in his MMO with a maximum player count of 18.

5GB per ship should be enough for everyone.
-- Chris Roberts, esq.

JugbandDude
Jul 19, 2016

Remember when you were young, you shone like the sun

Shine on you crazy diamond!
Tiber in space Rome... they've really given up on any hope of creativity in this train wreck.

hardycore
Nov 4, 2009
It was really nice of the rest of humanity to let English speakers name all the planets and stars after things from their history and culture only.

xXAdmiralBekHarXx
Jul 11, 2017

by zen death robot

hardycore posted:

It was really nice of the rest of humanity to let English speakers name all the planets and stars after things from their history and culture only.

they needed those tax credits

Tokyo Sexwale
Jul 30, 2003

hardycore posted:

It was really nice of the rest of humanity to let English speakers name all the planets and stars after things from their history and culture only.

Eventually they'll get to systems named for Crobberts's favourite vacation spots

kw0134
Apr 19, 2003

I buy feet pics🍆

JugbandDude posted:

Tiber in space Rome... they've really given up on any hope of creativity in this train wreck.
I believe someone at CIG genuinely believes this moldering pile of cliches is fresh and original, which would be even more damning.

They aren't competent enough to realize how trash this all is.

Beet Wagon
Oct 19, 2015





lol friendly reminder that even loving :pgi: has PIP working in their lovely cryengine game.

Although admittedly, the fidelity argument does hold some water here cause MWO's RTT stuff is very simple status graphics.

Tank Boy Ken
Aug 24, 2012
J4G for life
Fallen Rib

Beet Wagon posted:

lol friendly reminder that even loving :pgi: has PIP working in their lovely cryengine game.
Although admittedly, the fidelity argument does hold some water here cause MWO's RTT stuff is very simple status graphics.

:pgi: "cheated" in their PIP implementation. It's basically a zoomed in portion of the already rendered view. Thus a lot more efficient than actually rendering part of the scene again.It's like a ZOOM this. Just without enhance.

If I recall correctly CIG did something similar with their Sniper Scope FlatScreen?

big nipples big life
May 12, 2014

doingitwrong posted:

Any well-managed game is going to have a Producer role. A producer's job (unlike in film—where they are generally money people) is to manage the project scope and schedule. Their main role on a day to day basis is to say "no" to things. They act as a kind of foil to the designers whose job is to propose cool ideas and mechanics and push the features as far as they can. As a team, producers, designers, programmers, and artists work to develop a project that is feasible but ground-breaking. How groundbreaking? Depends on the project. Ultimately, it's up to the producer to have the last word on what does and doesn't get worked on in the game.

All evidence we have about CIG is that there is no one firmly in the producer role. The guy who has the last say on things is the ideas guy, Chris. Chris is notorious for making promises about features and gameplay, seemingly off-the cuff. This results in what we are seeing now, a spiralling expanding scope, with very little clarity about what is in or out.

MoMA, your response to this seem to be that "well it's only been 5 years and they are exploring, still—that's part of game development".

And it is. Feature prototyping plays a crucial role in the early days of any game, especially a AAA one. But when people talk about a game being in development for years, often the first few years of that game's life are done with a skeleton crew. A core group of programmers and designers, with an artist or two, working primarily with grey boxes and WIP assets to validate design ideas and asset pipelines. Only once you have a solid idea of the core gameplay loops and the technical requirements to realize your vision do you staff up. Generally, you put this together in something called a vertical slice.

It's a level or some other very small short part of the larger game proposal that incorporates all the core gameplay elements and supporting technology. Once you have that, you test and test it and make sure that you have the seed of a fun, cool game. Maybe you make a lot of changes. Maybe you are happy with what you see. Once you are, you greenlight the full project and start bringing more people online. The reason you do things this way is that the earlier in the project and the smaller the team, the cheaper your mistakes and changes are. Refactoring anything before you've started development is basically free. Refactoring when you have gigs and gigs of assets is project-killing.

All evidence we have about CIG is that they staffed up pretty much as quickly as possible, before the game was even close to a vertical slice. We are in something they are calling "Alpha 3.0" right now, which is a heck of weird name for a set of prototypes that are still missing dozens of core mechanics and technologies. Ordinarily, Alpha is a feature-complete game that is still missing huge chunks of assets. Here, we're being told that all these assets are waiting in the wings for features to get up and running.

Star Citizen's asset-first development process is incredibly dangerous and wasteful. Any changes to any system will have cascading effects across the entire studio. And while CIG is still exploring features and systems, they are burning an incredible amount of money on payroll.

When they hit the crowdfunding jackpot, if CIG had put together a small braintrust of clever developers, artists and designers to hack out the core systems of the game, refined that like crazy, and then started staffing up, $150 million would have taken them a long, long way. Maybe they'd still be in pre-Alpha just like now, but they'd have a huge buffer of money to keep the lights on and give them time to get it right. But instead you get this stumbling shambling morass of broken dreams and borderline fraud.

Get a refund.

I'm way back in the past but this post deserves to be quoted either way.

Beet Wagon
Oct 19, 2015





Tank Boy Ken posted:

:pgi: "cheated" in their PIP implementation. It's basically a zoomed in portion of the already rendered view. Thus a lot more efficient than actually rendering part of the scene again.It's like a ZOOM this. Just without enhance.

If I recall correctly CIG did something similar with their Sniper Scope FlatScreen?

For their "advanced zoom" you mean? Yeah, they did the same thing CIG did with the sniper scope (which is why Advanced Zoom sucks rear end and only the most dedicated gaussboats use it)

But I think they got PIP working for the monitor screens in the cockpits, IIRC. But again, those are just simple status screens, not like... holograms or whatever. The point is that the tech is there, and CIG are (again) reinventing the wheel.

MilesK
Nov 5, 2015

hardycore posted:

It was really nice of the rest of humanity to let English speakers name all the planets and stars after things from their history and culture only.

:wrong:
China, Japan, and India all got their own star systems where they turned into anthropomorphic turtles, birds, and trees respectively.

Hav
Dec 11, 2009

Fun Shoe

Colostomy Bag posted:

But as we both know the pendulum swings and perhaps someday we will get back to efficient code.

Had to chuckle yesterday when the latest Geforce driver was 400 megs. Would have been roughly 200 floppys. Yeah I'm old.

Office 4.23 came on 35 floppies; I was an IT manager when the CDROM and the internet arrived.

Processor cycles will always be cheaper than programmer time, but the moore's law expansion means that we have a lot of headroom for inefficiency, which is one of the reasons why we're interpreting rather than compiling most of the time. There hasn't really been much of change since OO arrived, though. RISC came and went with the vastly increased clock speeds. XK has a better handle on processors, but we went from optimising queries in 1997 to throwing in abstraction layers to increase portability in 2003 and finally to devolving things into key/value stores and nosql at around 2010.

tuo posted:

"Computers are so powerfull these days, it's not as important to write efficient code or care about asset size as it used to be", said Crobberts, before clipping through the floor at 5fps in his MMO with a maximum player count of 18.

Ye cannae change the laws of physics - Montgomery Scott

hardycore posted:

It was really nice of the rest of humanity to let English speakers name all the planets and stars after things from their history and culture only.

'Crusader' has some resonance to it in the Middle-East. Can't for the life of me remember why.

Tank Boy Ken
Aug 24, 2012
J4G for life
Fallen Rib

Hav posted:

'Crusader' has some resonance to it in the Middle-East. Can't for the life of me remember why.

Because the Crusaders went there on a party: https://en.wikipedia.org/wiki/Crusades

Roeben
Jul 23, 2013
There's some japanese stuff around, some german stuff, some egyptian names, also a cereal brand...

Tsar Mikey
Nov 30, 2005


When will then be now?



doingitwrong posted:

And it is. Feature prototyping plays a crucial role in the early days of any game, especially a AAA one. But when people talk about a game being in development for years, often the first few years of that game's life are done with a skeleton crew. A core group of programmers and designers, with an artist or two, working primarily with grey boxes and WIP assets to validate design ideas and asset pipelines. Only once you have a solid idea of the core gameplay loops and the technical requirements to realize your vision do you staff up. Generally, you put this together in something called a vertical slice.

This whole post is great but I wanted to highlight this because I vaguely remember some dumb citizen calling Elite Dangerous "skunkworks trash" and I always found it hilarious.

Mne nravitsya
Jul 14, 2017

Gamescom 2017

In a last ditch effort to calm the backers: Roberts is forced to demonstrate 3.0" in a playable state..................

Toops
Nov 5, 2015

-find mood stabilizers
-also,

toiletbrush posted:

Experienced leads/architects with the best will in the world can't keep code hygienic and stop tech-debt mounting if they're in crunch/'just hack it in for the demo and do it properly later' mode 100% of the time, and having an architecture with strong technical direction (that also helps stop the juniors doing dumb stuff) is really tough with requirements that are constantly changing or non-existent. I bet they're mostly decent devs, they're just working in the worst environment possible.

I love to poo poo on CIG as much as anyone but some of this armchair dev analysis is cringy as hell.

gently caress that dude. If you write lovely code because you let yourself get pushed around, if you don't have the backbone to either change the system or quit, then you're a lovely developer. It doesn't matter how "good" you are in theory. This is Star Citizen doublethink. "They're actually really good developers, they just write poo poo code that doesn't work because" reads a lot like "This game is really amazing it's just an unplayable pile of poo poo right now because"

Colostomy Bag
Jan 11, 2016

:lesnick: C-Bangin' it :lesnick:

Hav posted:

Office 4.23 came on 35 floppies; I was an IT manager when the CDROM and the internet arrived.

Processor cycles will always be cheaper than programmer time, but the moore's law expansion means that we have a lot of headroom for inefficiency, which is one of the reasons why we're interpreting rather than compiling most of the time. There hasn't really been much of change since OO arrived, though. RISC came and went with the vastly increased clock speeds. XK has a better handle on processors, but we went from optimising queries in 1997 to throwing in abstraction layers to increase portability in 2003 and finally to devolving things into key/value stores and nosql at around 2010.


Yes, of course. I'm all for abstraction and saving a programmer's time. Guess what I'm implying is the bloat is going past Moore's law. Lax underlying APIs, ABIs and other issues have bloated code (and more importantly assets) into a 'let's throw the kitchen sink into it' because what the hell, storage is cheap and we need the drat to compile.

Yet here we are...reaching a point where storage isn't so cheap anymore.

Anyways, back on topic, looking forward to whatever this weeks show is going to be since they've discontinued ATV for the making of 3.0. :toot:

Toops
Nov 5, 2015

-find mood stabilizers
-also,
If you have any idea what you're doing, refactoring on the fly when you feel the impulse to copy/paste code is instinctual and doesn't actually take any longer.

The problem is, a lot of developers in the gaming industry are the worst kind of programmers. They're code-closet cowboys who think they're geniuses because no one can read their tangled web of spaghetti vomit, when in actual fact, they're junior-level hackers who couldn't write a hello world without stack.

Adbot
ADBOT LOVES YOU

Crazypoops
Jul 17, 2017



Toops posted:

gently caress that dude. If you write lovely code because you let yourself get pushed around, if you don't have the backbone to either change the system or quit, then you're a lovely developer. It doesn't matter how "good" you are in theory. This is Star Citizen doublethink. "They're actually really good developers, they just write poo poo code that doesn't work because" reads a lot like "This game is really amazing it's just an unplayable pile of poo poo right now because"

There's a reason the experienced devs all left, when this whole thing rolls over anyone still working at CIG will be kryptonite.

Either you knew better and did it anyway, or you didn't know and learned bad behavior.

Either way it's actively dangerous for a company to hire you.

  • 1
  • 2
  • 3
  • 4
  • 5