Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411507 Posts in 69374 Topics- by 58429 Members - Latest Member: Alternalo

April 25, 2024, 11:57:52 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)The grumpy old programmer room
Pages: 1 ... 269 270 [271] 272 273 ... 295
Print
Author Topic: The grumpy old programmer room  (Read 738760 times)
Garthy
Level 9
****


Quack, verily


View Profile WWW
« Reply #5400 on: August 14, 2017, 03:08:51 PM »

Using Facades and/or Interfaces means that any component needs only know as much about other components as they need to. It also makes it easier to switch out different implementations or pop in proxies or so forth.

For initialisation order dependencies, I have been known to use or work with the following:

- Tree-style init for the simplest cases.

- Just set it all up at the top level. Usually if I'm pushed for time and it is non-trivial.

- Make every component have an interface to every other component they care about. Each component calls init on components it cares about, and each component only performs the first init that is requested of it. IMHO the best solution if you can get away with single-stage init, and sometimes does multi-stage init fine.

- Have a set of init levels that all of the components accept, and they perform actions in their init level. Works when init is no longer a single-stage process. Usually needed when there are complex dependencies between components that you don't yet know anything about, eg. interdependent external modules.

- Delay true init for a component until first use. Whilst a common technique, I used this once to resolve an initialisation order dependency when a less-informed colleague got a stick up their ass re the need for init to grow beyond a single-stage process. Cool
Logged
Schrompf
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« Reply #5401 on: August 15, 2017, 01:26:10 AM »

I'm super pissed ATM because Software Engineering as a craft is simply not required anymore to make games. Thanks to Unity and the likes. People nowadays can assemble their games with code snippets from the Asset Store. And they're widely successful with that.

Only that some issues never get fixed because they simply don't know how it works. Combine that with a survival game that offers map changes from planet to space and back, while three players are seated in a space ship. Two players spawn in that space ship at the new map, the third player appeared in thin air. And none of them were able to see the other players anymore. That's how networking is supposed to work. Frigging rocket science.

After the third loss of a ship/base to server bugs we stopped playing. And the depressing part is that if I ever do a multiplayer game, and *if* I actually achieve to make it work nicely, it won't help me a bit. Because when players notice if your game works fine or is buggy as fuck, you already have their money. Nice trailers sell games. Proper craftmanship doesn't make a difference.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
oahda
Level 10
*****



View Profile
« Reply #5402 on: August 15, 2017, 03:25:06 AM »

what about bethesda
Logged

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #5403 on: August 15, 2017, 07:40:30 AM »

I'm super pissed ATM because Software Engineering as a craft is simply not required anymore to make games. Thanks to Unity and the likes. People nowadays can assemble their games with code snippets from the Asset Store. And they're widely successful with that.

Greater accessibility is always a good thing, even if it comes with a few hiccups. Think of it this way: Instead of (arbitrarily low numbers) 10 new high quality games being made per year, there are 20 high quality games and 200 garbage games made per year. Of those 200 garbage games, maybe 10 of the developers will continue learning their craft, and they produce next year's high quality work. The sea of garbage might seem like an annoyance to sift through to find the gems inside, but without it, fewer gems would exist.

There's certainly something to be said for encouraging developers of garbage to either try harder, or to have some standards of quality and not try to distribute projects that fall below it, but trying to keep a craft in the hands of only an elite few is a terrible thing for the ecosystem.
Logged

oahda
Level 10
*****



View Profile
« Reply #5404 on: August 15, 2017, 07:56:54 AM »

+1

Just be careful about what you buy. Look at reviews and ratings first.
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #5405 on: August 15, 2017, 08:02:43 AM »

Brb, forging my own cpu with fresly mined ore I extracted yesterday. Considering making my own sun to create said ore instead of using ready made one in the crust.
Logged

Schrompf
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« Reply #5406 on: August 16, 2017, 03:29:29 AM »

... but trying to keep a craft in the hands of only an elite few is a terrible thing for the ecosystem.

You're right on this, sorry. In the end I think it's a great time to be alive, when such a lot of people get the chance to follow their dreams, and quite a few of those will end up being madly good at what they're doing.

But hey... at least the thought fit the "grumpy old programmer" topic very well, didn't it?
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
DireLogomachist
Level 4
****



View Profile
« Reply #5407 on: August 16, 2017, 09:58:26 AM »

but trying to keep a craft in the hands of only an elite few is a terrible thing for the ecosystem.

 Hand Any Key Hand Any Key Hand Any Key Hand Any Key Hand Any Key Hand Any Key

100% this. Remember there were crap games before Unity and there will be crap games in the future.

Sturgeon's law cannot be denied.
Logged


Living and dying by Hanlon's Razor
oahda
Level 10
*****



View Profile
« Reply #5408 on: August 16, 2017, 10:34:24 AM »

don't forget those games in the desert Shrug
Logged

Photon
Level 4
****


View Profile
« Reply #5409 on: August 16, 2017, 12:57:49 PM »

Uuuuuuuuh...

So I had a snippet in my project configuration XML for Haxe/OpenFL that looks like this:

Code:
<!-- optimize output
<haxeflag name="-dce full" /> -->
<haxeflag name="--no-traces" />

I wanted to turn traces back on, so I thought I'd move the comment tail over top of the trace flag:

Code:
<!-- optimize output
<haxeflag name="-dce full" />
<haxeflag name="--no-traces" /> -->

Apparently this small change made my anti-virus claim my game executable was malware.

Shocked Shocked Shocked
Logged
Photon
Level 4
****


View Profile
« Reply #5410 on: August 16, 2017, 02:17:21 PM »

Also, don't you love it when Windows tells you that you need permission from yourself to delete a file, then errors out when you try to give permission to yourself?

Instead of testing my game, I'm fighting with Windows to retake control of the Steam install directory where the game belongs.

 Angry Angry Angry Angry Angry
Logged
Crimsontide
Level 5
*****


View Profile
« Reply #5411 on: August 16, 2017, 04:45:32 PM »

Also, don't you love it when Windows tells you that you need permission from yourself to delete a file, then errors out when you try to give permission to yourself?

Instead of testing my game, I'm fighting with Windows to retake control of the Steam install directory where the game belongs.

 Angry Angry Angry Angry Angry

LMAO...  Good old windows  Huh?
Logged
JWki
Level 4
****


View Profile
« Reply #5412 on: August 21, 2017, 04:19:34 PM »

Spent like three hours trying to find my mistake in implementing the direct illumination part of UE4s basic shading model - not a difficult thing to do in itself, learnopengl.com has a very nice section explaining it, but my normal distribution just kept being wrong.

Of course it had nothing to do with my maths.



Fuck me.
Logged
qMopey
Level 6
*


View Profile WWW
« Reply #5413 on: August 21, 2017, 04:39:38 PM »

Inverse transpose to the rescue? Smiley
Logged
JWki
Level 4
****


View Profile
« Reply #5414 on: August 21, 2017, 04:41:45 PM »

Inverse transpose to the rescue? Smiley

Yeah eventually but I don't care about non uniform scaling atm.
Logged
ferreiradaselva
Level 3
***



View Profile
« Reply #5415 on: August 23, 2017, 11:41:09 AM »

back at programming. Time to be sad again.
Logged

ferreiradaselva
Level 3
***



View Profile
« Reply #5416 on: August 24, 2017, 05:48:45 AM »

spent 4 hours looking for an error in the projection/view matrices.





the error was the rectangle that i created with height 0.
Logged

JWki
Level 4
****


View Profile
« Reply #5417 on: August 24, 2017, 11:44:36 AM »

spent 4 hours looking for an error in the projection/view matrices.





the error was the rectangle that i created with height 0.

Can I recommend you RenderDoc? It's been great at improving my graphics debugging experience.
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« Reply #5418 on: August 24, 2017, 06:21:17 PM »

what is renderdoc?


It never fails when I'm setting up a new renderer, spend at least 20 mins saying "why the hell is the screen the clear color? Where's my triangle?"
Logged

InfiniteStateMachine
Level 10
*****



View Profile
« Reply #5419 on: August 24, 2017, 06:37:24 PM »

I wouldn't say this is really a grumpy post but I guess this area applies most.

I recently went on vacation and tried catching up on my c++. It's crazy that even with a year where I've only been putting maybe 10% of my time into c++ things have already moved so forward. I feel like I keep falling more and more behind in regards to the STL additions and changes.

Now I'm reading about C++ metaclasses and I can barely keep up. I'm a little weary about metaclass abuse but at the same time they sound like they would solve a lot of issues major frameworks have had to work around using code gen and macros.

I know I need to keep an open mind and should probably allocate more time to keeping up with c++ but sometimes I miss coding in C where I can fit all the rules in my brain at once. I've been writing a lot more C at home lately.
Logged

Pages: 1 ... 269 270 [271] 272 273 ... 295
Print
Jump to:  

Theme orange-lt created by panic