Development Update - July 08, 2013

Mycal

Staff member
As it goes, the past two weeks were basically, "One step forward, Two steps back." (Well technically, I've been on vacation for the past week, but we'll ignore that week). I've committed to being cross platform via Mono and MonoGame. I want this to work on Windows, Linux, and OSX. So naturally, I test regularly on another platform right? Well, kind of.

I've been putting off testing the server on a different platform since I had a strong suspicion that it was going to fail on a certain component. Well I was right. The game database is giving more headaches than anything else in this port. I've rewritten it so many times that I can't even keep track of the correct test database anymore. Agent Ransack tells me I have about 35 different "server.db3" files and about 15 other "server.*" db files. That's not really important though since I am now just deleting and generating a new database every run for testing purposes. But one of those ~50 database files has valid converted data, I think...

I decided to test the server load recently and it worked relatively well on my Windows 8 testing box. I moved it over to another Windows 7 VM and it also ran well there. So I decided to dump the binary over on my linux box and test it out, and crash and burn. From what I can tell through my logs, it very inconsistently fails on the world loaders. Sometimes it fails on loading Guilds, sometimes it fails on creating the players table, sometimes it fails on loading Maps, sometimes it fails loading scripts. It's not consistent at all, but the one consistent fact is, it always fails on the loaders. There's probably something wrong with my Linq-to-Entities implementation, but it's taking far too long to figure out.

For now, I'm just going to shelve these changes and revert back to good old queries. I lost a week of work, but they seem to work a lot more consistently. I am going to have to rewrite some other stuff that I don't want to shelve, so that's my plan for the next week.

I hope this is the last of my database issues. I've never had this much issue before, but this is my first time working multiplatform with mono and c#.
 

steven

Administrator
Anything I can do to help? I'm still dabbling in Unity every now and then - making a game (3D 3rd person rpg) no direction really. Been spending some time on a new website www.slashskill.com, just gaming and what not. I'd like to get into this and contribute though.
 

Mycal

Staff member
I need to get the latest stuff checked into the git repo, but sure. I've got the basic framework laid out, so it's mostly just grunt work now. I've mostly been working on the database stuff. Every time I get it working nice, something else seems to break, but I think I've mostly solved those issues now with just reverting back to queries instead of using the Entity Framework. I've put the groundwork for the login sessions, sockets, client UI, drawing, etc all in place already. The only thing left to really do is convert all the vb6 game logic over. Most of it should be a 1:1 conversion of code. This is stuff like, packets sent between the client and server and the main update loop on the server.

That stuff should be pretty simple, I've just put it off since it's fairly tedious. The other crappy part will be rebuilding all the menus/screens the client has in screen builder. This is basically just loading up the client, editing xml, and f5ing the screen to see if things are positioned right.

Actually, what would be really helpful is a tool to aid in creating this xml. Basically, something to drag and drop controls on the screen and position them. If you could handle that, that would be awesome.

Do you know how to use Git? The source is in private repos on Bitbucket. So you'll have to send me a message at bitbucket.org/Mycal/ so I can send you an invitation to the repos you need. Speaking of which, I've been meaning to move the repos over to our new server :think:. Eh, one thing at a time.
 

steven

Administrator
I'm sure I could figure it out, gotta get into it and see what I'm working with... I will send you a message tomorrow but I never really used git - I know how it works though. It's about time I jumped into this.
 

Mycal

Staff member
Mycal said:
Speaking of which, I've been meaning to move the repos over to our new server :think:.

Actually, after having said this, I went ahead and did it. The git repos are now located on our server. Look in the dev forum for more info.
 
Top