Saturday, 27 July 2019

The day that would never come

Microsoft Visual Studio has been a great IDE and mainly the one I've been developing my projects, but recently I changed to Code::Blocks. It didn't take much for me to make the decision, because the way VS is developed seems to go downhill fast. Microsoft is breaking features that were always working in reliable way and it tells me their programmers just don't know what they are doing.

I never believed VS development would take such a turn to worse, but then again Windows 10 itself has had some problems with updates breaking things etc. It's hard to understand how this happens, but it must have something to do with quality of programmers and the way development is handled in Microsoft. When you have a renown software it's never guaranteed to stay that way. It's always possible to break it and I believe it is happening right now to Visual Studio for whatever reason.

Open source development is not safe from these problems, we have seen it in projects like Blender 3D which has had quite chaotic development style focusing on some things and leaving others completely dismissed. In that Code::Blocks is a bit different, because it is a decent IDE at least in Windows (OSX users tend to disagree) and has only few problems or missing features I guess. The developers seem to know their stuff and it's possible to harass them directly in the C::B forum which is nice. This is another thing Microsoft is doing completely wrong. Their feedback "forum" for Visual Studio is a failure where your question is quickly buried under thousands of messages and answered by cut-paste indian people who don't understand anything about the IDE itself.

I'm probably going to check out VS in regular intervals just to see what they are doing to it. The way I've set up my projects allows me to switch between IDEs, but I guess it can be dangerous now when you are not sure what VS is doing to your source files. Then again I always do backups as you should and in VS's case really need these days.

Friday, 5 July 2019

Dragonet

Taking off some time from my other projects and starting a new one. With this I'm going to follow different rules than before. It's a traditional RPG rather than a roguelike, but it's going to have some random things. The actual idea is in the implementation with these rules:

1. Completely class-based without public data (only public interface).
2. Inheritance first design.
3. Everything is programmed as a function to a required gameplay feature.
4. External data with parsed dynamic instances.

I think rule 1 is going to be broken in some places, but not inside classes. Mostly in global instances I guess. I think 3 will be an interesting one, because it's the opposite I've done this far. I've always added features without planning them that much and maybe it's one of the reasons I've spent a lot of time wondering how to put everything together.