RonPenton / KatanaMUD

A web browser MUD. It originally started life as a clone of MajorMUD, but may end up diverging from that vision significantly in the end. Who knows. We shall see!
16 stars 4 forks source link

KatanaMUD Progress Updates #5

Open RonPenton opened 9 years ago

RonPenton commented 9 years ago

This thread is so that I can leave regular progress updates.

RonPenton commented 9 years ago

So I just spent the last couple of days trying to get the Roslyn scripting API to work in my application. I'm running into some significant hurdles because all of this stuff is very prerelease and unpolished, but long story short, I haven't been able to do this successfully yet.

I'd really like to get the scripting engine working sooner rather than later, but if Microsoft isn't ready, then there's not a whole lot I can do. I've briefly toyed with adopting a 3rd party engine, or maybe even a LUA or other engine altogether, but ultimately decided I'd rather stick to C#, and a 3rd party engine is going to be riddled with the AppDomain issues that .NET has had since the very beginning. So I'll wait.

The last task for 0.2 is the rate-limitation feature, to prevent spamming. I'll try to tackle that and then I can mark 0.2 complete and move onto 0.3.

RonPenton commented 9 years ago

I'm willing to call the current codebase 0.2 at this point, and begin work on 0.3 now. The majority of this release was creating then refactoring the Item code. The first round was ok but had some structural issues that would have come back to bite me in the ass in the future, so I had to spend a fair amount of time refactoring it. I'm happy with it for now, but may end up needing to revisit it again in the future, possibly in the next version.

For 0.3 the primary focus is going to be on the back end scripting engine. I had always intended to get scripting into the engine to go above and beyond what MajorMUD supports and set grounds for really expanding what the game engine can do in the 21st century. I had originally slotted this feature for 0.5 but have moved it up to 0.3 because I'm beginning to feel like certain architectural decisions are going to depend on the Scripting Engine being in place. And since I'm going to be using bleeding-edge technology from Microsoft on this one, I'm really not sure of how the performance and logistics of it all are going to work out. So I don't really want to get too far into this only to realise I will need to do a complete rewrite to get scripting to work.

So that will be the primary focus of 0.3. Unfortunately the scripting engine won't really expose too many immediately-visible features to the user, so it may seem that the project will have a lack of progress until the 0.4 milestone. But in the end I think it'll be worth it, just to get some of the more difficult questions answered earlier rather than later.