Why I think Immediate Mode GUI is way to go for GameDev tools


Before you continue, if you don't know what IMGUI is don't bother reading this post, just ignore it, don't write anything in comments section, etc. If you're curious about IMGUI see bottom of this post, otherwise continue whatever you were doing, this post it's not for you. Thanks!

If you know what IMGUI is, for context read following presentations and blog posts:

  • Insomniac’s Web Tools Postmortem

Notes on header files

After over 20 years working with C/C++ I finally got clear idea how header files need to be organized. Most of the projects in C++ world simply dump everything in .h file, and most of my C++ code was organized this way. Lately I started to separate function declaration from implementation as it was done in C. Now .h headers are exclusevely intended for function and class declaration with doxygen documentation style comments. Inline implementation of functions, class method implementation, etc. goes into .inl headers or .cpp files.

For example .h file would contain only declaration and doxygen style documentation comment:

	/// Convert size in bytes to human readable string.
	void prettify(char* _out, int32_t _max, uint64_t _value)

Phenomenon of Yelp Programmers

Other day on Twitter I ran into some retweets about "10x programmers" by some people who are not known for their coding, but rather complaining on Twitter. Since I followed them before I know partially their work history, or more like their brief stints, at different well known game tech companies.

This made me think about recent phenomenon of programmers who seem to be working on games with existing codebases their whole career, without significant contribution to any of those code bases, but who are very vocal and opinionated about things in those code bases.

Some traits of Yelp programmers are:

  • Brief stints at different game companies.

Orthodox C++

What is Orthodox C++?

Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It's exactly opposite of what Modern C++ suppose to be.

Why not Modern C++?

View gist:8487361

Using SteamBox as DevKit

In SteamOS go to Settings / Intefrace and check "Enable access to the Linux desktop" option.

Click on Exit, choose "Return to Desktop".

Open terminal and set password so sudo can work: