4 ms·
I developed 9 ports and maintained 13 ports of RAD's Telemetry middleware for the game industry over a period of 3 years. My biggest takeaway from that experien
by psykotic 12y ago
I developed 9 ports and maintained 13 ports of RAD's Telemetry middleware for the game industry over a period of 3 years. My biggest takeaway from that experience is that build management, testing and release management are the hard parts once you get beyond the first few platforms. The only platforms that posed even minor problems in the traditional coding sense were ones in their infant stages (e.g. WiiU, Xbox One and PS4 years before their release) where hardware, APIs and even compilers are full of holes, and you have to deal with SDK updates (including deprecated APIs) and devkit refreshes. Automate everything you can and grit your teeth for the rest of it.
Purely on the coding side of things, I would caution against extremism when fighting code duplication between platforms. There is much to be said for having a single C file per platform that is self contained, even if it entails a certain level of duplication. The alternative very easily leads to an increasingly bifurcated decision tree that tries to account for similarities and differences between platforms (autoconf syndrome).