
Serious Engine – Serious Sam open-source engine (2016) - adamnemecek
https://github.com/Croteam-official/Serious-Engine
======
SloopJon
Not sure how far he got, but Ryan Gordon's (aka icculus) fork may be more
portable:

[https://github.com/rcgordon/Serious-
Engine](https://github.com/rcgordon/Serious-Engine)

------
aetherspawn
Put screenshots in the README!

~~~
edoo
The readme has a link to the steam page with videos and images.

------
edoo
That code is a nightmare.

~~~
o-__-o
No way, I said. Then I clicked into a random file[0] and was greeted with
inline optimizations. Fun and nightmarish stuff, but then I thought about the
game and its performance when all of those bombhead guys come running out from
way in the distance on 2000s era hardware and the game didn’t hiccup or blink
at all. Of course the optimizations are useless with today’s hardware so the
code is equally as redundant (but oh so cool to browse)

[0] [https://github.com/Croteam-official/Serious-
Engine/blob/mast...](https://github.com/Croteam-official/Serious-
Engine/blob/master/Sources/Engine/Sound/SoundMixer.cpp#L205)

~~~
edoo
I went straight for the meat and most of it is like this. Double hungarian and
poorly abstracted: [https://github.com/Croteam-official/Serious-
Engine/blob/mast...](https://github.com/Croteam-official/Serious-
Engine/blob/master/Sources/Engine/Rendering/Render.cpp)

~~~
PavlovsCat
That's probably because it's an actually working and fun game, not some
project where people spent more time giving talks or writing blog posts about
it than all the people who can be bothered spent on playing it combined, and
which is just a stepping stone to yet another half-assed thing nobody needs.
Writing it perfectly the first time isn't possible because you don't know what
exactly you're making until you made it, and rewriting it into something that
behaves exactly the same for the user, but has nicer code, would be pointless
masturbation.

~~~
edoo
More likely it was the vision of one person who didn't need to worry about
others figuring out what they did.

~~~
o-__-o
We also don’t have access to pull/merge requests or bug trackers or internal
docs which may provide context to these things

