• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Tim Sweeny Game Dev presentation

This is interesting. I'm a bit of an amateur dabbler in the dark arts of 3d engine programming (mostly with OGL, although I've done D3D too), and these broad engine architecture outlines are always interesting.
 
Timen said:
so he uses comic sans....

*keeps reading*



:O

Timens, I don't think we should be in this thread. Come on buddy, I think the "Post funny Itagaki quotes" thread is more of our pacing. Scoot now! Go on!
 
Cheers for the link, it's an interesting presentation

Yeah, I was quite interested in the delineation between the 3 types of game code, and also his references to Haskell (which I've not used but I quite liked Standard ML at Uni which is also purely functional)

It really underscores that there is a requirement for a paradigm shift in some ways to utilize these hardware threads and cores.

Being a programmer myself (mainly C# boring business COM stuff :lol ) I really appreciate his focus on trying to avoid run-time errors through the language or compiler. How many games are delayed simply because of the type of run-time exceptions he mentions?
 
Yeah, I was quite interested in the delineation between the 3 types of game code, and also his references to Haskell (which I've not used but I quite liked Standard ML at Uni which is also purely functional)

I love love Haskell. You might want to check out Lambda the Ultimate. It's an extremely interesting weblog on programming languages and the theory behind them, and Tim Sweeney even posts there from time to time.
 
gollumsluvslave said:
Yeah, I was quite interested in the delineation between the 3 types of game code, and also his references to Haskell (which I've not used but I quite liked Standard ML at Uni which is also purely functional)

SML isn't purely functional - there's the ! operator (I forget what it's called, it's been a couple years) that lets you modify data. It can be used in a purely functional way pretty easily though.

I really miss the days of studying programming languages....writing templates in C++ is so much more painful than using generics in SML. I also end up with way more bugs that I discover at runtime instead of at compile time. I have yet to read this PPT, but anyone pushing for the use of functional languages outside academia gets a thumbs up from me.
 
SML isn't purely functional - there's the ! operator (I forget what it's called, it's been a couple years) that lets you modify data. It can be used in a purely functional way pretty easily though.

My bad! However when I used it at Uni (13 years ago now, the memory is rusty) it was as an intro to functional programming and we only studied the functional side. The main thing I remember was the brevity and far less exceptions that resulted compared to Pascal
 
Am I the only one who can't download that .ppt? I've tried firefox, explorer, flashget and nothing, it stops at around 4 Mb, or 97% with flashgot.
 
Finally got a chance to read through it. Very interesting article, lots of valid points. I think he overestimates the ability to make static claims (it sounds like he wants an array datatype with claims about each member, which is nearly impossible to do statically). Apart from that, he nails a lot of things wrong with C++ / C#, why they make life so difficult, and how modern CPU architectures are making functional programming a more viable candidate for "real world" work.
 
Never use assembly? Is that purely a productivity thing? Seems kind of wasteful, as does the approach to multi-threading they're taking. Still, the results speak for themselves...

And the budget for Gears of War is tiny! Less than some AAA games this generation and way less than high-budget games next-generation.
 
Striek said:
Never use assembly? Is that purely a productivity thing? Seems kind of wasteful, as does the approach to multi-threading they're taking. Still, the results speak for themselves...

If you know your target hardware and the details of your toolchain for that target using the "best" data structures and algorithms is more important than what language you write your code in. In a classic game loop an experienced developer can tell you where he expects "hotspots" that need optimizing will occur and an inexperienced developer can use performance tools that will quickly get him looking in the right areas of code. In alot of the newer stuff people are working on it's a little harder to spot performance bottlenecks but still pretty simple with experience.

On projects I've worked on where there was only one target or where the device(s) were limited in some way (CPU, FP, memory, IO, etc) I have allocated time to writing hand optimized assembly. However, typically when I've worked on multi-platform stuff we generally make some sacrifices in absolute performance to ensure it works on all targets acceptably fast as well as be able to fix bugs and add features that work across all targets.

Striek said:
And the budget for Gears of War is tiny! Less than some AAA games this generation and way less than high-budget games next-generation.
Epic, like Brownie , is doing a heck of a job!
 
Top Bottom