It’s been several months since I did any substantial work on either Rube Goldbot or any of the home automation stuff, thanks largely to changing jobs and having zero energy for projects while I got myself acclimated and settled in.
I’ll definitely go back to those projects at some point in the future, but right now I’m going to center the projects I work on around getting more familiar with some of the new tech I work with at work. No better way to learn!
Two of the technoligies we’re using now are SignalR, NServiceBus and RabbitMQ. I’ve worked with similar tech before, though never in enough depth to really explore them. At one point I built a super simple proof of concept audio/video/chat application using WebRTC and node.js, and while SignalR is largely different in implementation, conceptually some of it maps pretty well. Ditto NServiceBus and RabbitMQ – between the home automation stuff and mosquitto and some work with RabbitMQ at my last job, the concepts are comfortable enough. Anything I work on is going to incorporate those tools.
I also want to keep myself using skills I no longer use at work – namely web stuff. I’m now doing a large amount of work with WPF and Windows application development, and I feel like in the past 5 months or so, my web stuff has gotten rusty as a result. I’m thinking I want to incorporate ASP.Net MVC into one of my projects, and also get some experience with Angular2. So, whatever I do is going to have some web stuff for the UI.
What leaps instantly to mind for this is a web based game – I’m thinking something like an old school Multi-User Dungeon or MUD, which is basically a role playing game done usually with text. Logically it could be broken into a few services that would make use of the message queueing: login and account creation, character design and creation, administration tools/designs, the actual game loop, etc. SignalR would let an arbitrary number of clients connect to the game, and of course web stuff would be the UI for players and people running the game or designing areas. If we break that into three sections – Game, Administration, and Design that would let me use Angular2 for one, MVC for another, and maybe some other front end tech for the third.