Due to some upsets back in October, I've had a messy time streaming Rituals. Throw in HandmadeCon, the horrible cold I brought to it (which has lingered since), and life in general, and I'm pretty far behind, both with development and writing about the project. However, development continues!
Rituals' code has gotten pretty messy, or, at least, has some messy parts that the important code interacts with, and I find this a pain to work on. As such, most of my development has been outside the Rituals project, essentially forking the ideas, borrowing code, and cleaning it up. It feels like I've grown as a programmer too, and even if not, my style has changed slightly, which means that a lot of the next part of Rituals' development will be changing how I use the technology available to me to suit that. I'm planning on moving to dynamically loaded game code, removing the CRT on Windows, possibly abandoning SDL, and generally tweaking and cleaning things up. I'm also thinking of moving into whatever subset of C99/C11 MSVC supports, rather than continuing to use C++. There aren't a lot of C++ features I use, and I'm starting to feel like the ones I do hurt more than help.
The last thing I spent real time on stream with was the metaprogramming tool/header generator, which I left in a mostly functioning state, but I expect it'll need more work to be truly useful. The introspection/reflection capabilities are rather weak right now, and I never got around to writing the serialization code generator.
I suspect regular streams will return in the new year. I've got a lot of little projects I'd like to wrap up and a bunch of things I need to learn more about (as we all do, I'm sure), so hopefully I'll have a productive December. See you all next year!
More immediately: I'll be streaming my work on the Ludum Dare this Saturday and Sunday. Times will be: from whenever I wake up to whenever I have to sleep (or whenever my compulsion to play Stardew Valley consumes me).
You know, Will, it's always interesting for me to hear of folks cleaning up their code / gravitating towards a less featureful (bloated?) language or programming style. I'm still only just starting out, as you know, but haven't been all that conscious of any possibilities to write cleaner or without "needless" features. Maybe as I start to write bigger things with more moving parts, uncleanliness will start to creep in. Or maybe the stuff I do already is unclean, and I just don't realise it!
Miblo, just my 2 cents on the matter:
I used to not clean my code, but then i felt like visiting some parts of my code base is a chore, and it takes me a lot of energy. then i saw that if i clean my code, it's suddently feels a lot more nice to visit those parts, and i can make a lot more improvements to make them better.
I don't usually work on huge projects, but they certainly have a number of interwinding parts, so if one part is not good, it can hurt some other parts. On the other hand, it can be easy to constrain it to hurt only that part until you can do something about it. so i took me a habit of whenever i come back to a part, i clean it up first so my work there feels better.
I feel now that feeling good about writing your code is a crucial thing, and it can make my performence vastly better, so it's vital to do anything to make your code writing as fun as possible.
Miblo, I think the only way you can really start to write _clean_ code is by writing really messy code originally and knowing what you don't like. Proportion has gone through 2 phases so far the fist version was all C++'d up with libraries, the CRT and the STL inside of it. After programming it with a little bit i realized i didn't like that so i went about stripping all of that out, and doing just a general structure clean up on the code. Now the code is 1000 times better, and much much easier to work with. So if i were you i'd write something bigger in whatever way you to need to, to get it kinda working then decide if you like the current state of it, and if you don't go crazy and make it the way you want it! Just My 2 cents!
Mmm, cheers folks! So what's super consistent here is that the natural process – and the only one available to us when starting out as I am – is to "get something working" before later doing a clean-up pass. I actually have this issue when writing English that I kind of "edit as I go", which makes some kinds of writing super slow for me (although I don't know if my writing time is longer or shorter than the time it'd take to write any old thing for starters before later editing it), and which workflow I may take into programming. Still, though, as you say, we have to write (program) something bigger before we can even get a perspective on the thing's cleanliness.