I want to talk about three things that has fundamentally changed my dev-life. There are a lot of things, like ImGUI, that are very amazing and useful but they don’t provide a general solution across many problems.
In no particular order…
Git
I’ve been using Git since 2010 and it really has changed my dev-life. I’d used version control before that, mainly Perform, SVN and PVSC, but Git felt nice and unobtrusive and I like that everything was local until I pushed to the server.
It’s both nice and annoying that you can’t lock files (like art). You can (kind of) with LFS but that feels tacked on and not ready for primetime. Don’t think so? Try explaining installing and using it to a non-technical artist sometime.
Git can be frustrating if you’re trying to do anything but the basics.
Accidentally check in a secret file months ago and need to scrub it? Good luck with that. There are ways but it requires a lot of Git-Fu.
I mainly use a GUI for git (Fork) and that takes most of the pain away. I do use the command line, but mostly in automation scripts.
Markdown
Before Markdown became the de-facto standard, I used my own custom format. It worked but wasn’t great and only I understood it.
Markdown has it’s issues when you start using the more esoteric features. I’m also annoyed at bold and italics notation. Why is italics *italics* and bold is **bold**? Why not *bold* and _italics_. That would make a lot more sense to me.
I also have issue with it’s creator, John Gruber. He is a highly annoying smug Apple Fanboy. His writing was fine in the early days when Apple was #3, but got intolerable as Apple became the 800lb gorilla. It’s changed recently as Apple has snubbed him but I still can’t read anything he writes.
But, I like his Markdown.
JSON
I use JSON for just about every data file format in my games. JSON was created by Douglas Crockford as a notation for Javascript objects.
I worked with Doug Crockford at Lucasfilm for several years. I always had a lot of respect for Doug and was somewhat intimidated (in a good way) by him. Doug was also the producer for the Nintendo Maniac Mansion.
As much as I love JSON, there are some things about it that annoy me. I dislike that trailing commas are not allowed
"name": [ "value1", "value2", <- Opps ]There is no need for this and it makes writing out valid JSON more complex. I also don’t like you that have to wrap keys names in quotes if they are simple ascii.
name: "value" <- OppsI wrote a custom JSON parser I use in all my games that relaxes these, but then general JSON readers fail on my data.