Jump to content

Pwolf

Members
  • Posts

    57
  • Joined

  • Last visited

Reputation

10 Good

Contact Methods

Profile Information

  • About me
    Rocketry Enthusiast

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Sorry to rag on your parents but the work you are doing right now is absolutely not going to ruin your imagination or your brain. Both programming and KSP's general focus encourage problem solving and critical thinking. There's a big difference between sitting in front of a computer and playing COD or WoW all day and making something with your own thought processes that will benefit other people (to some degree at least). You're doing more for your own mental growth and health by working on this project and playing KSP. Keep it up and hopefully one day your parents will be a little more understanding of that
  2. Added a link to a new thread where I released the source code. Thank you all for being so interested in my work. Sorry I couldn't deliver... That said, please be sure to check out this plugin that just got released yesterday: http://forum.kerbalspaceprogram.com/threads/55835-Kmp-0-22-wip-alpha/ The new thread is located here: http://forum.kerbalspaceprogram.com/threads/56056-KSP-Multiplayer-Proof-of-Concept-Source-Code-Very-Alpha
  3. For those of you who have been following my work here: http://forum.kerbalspaceprogram.com/threads/47861-Working-Multiplayer-Proof-of-Concept-with-video-proof I recently decided to stop working on it for various reasons. I was going to make this big writeup (well, halfway typed it out already actually) to try and garner some motivation by other programmers to take on the task... well it seems like someone else other than myself, or Markus at the LOG project, has done just that: http://forum.kerbalspaceprogram.com/threads/55835-Kmp-0-22-wip-alpha/ (seriously, if you haven't checked this out yet, go do it now!) So, I have decided to not do my big writeup and just release the code for everyone to look at and laugh at (It's not very good). That said, I will go over my ideas a little bit: Basically, my goal was to synchronize the rotation and position of multiple vessels being controlled on different clients over a network. Rotation was easy. Position, as I later discovered was also pretty easy. I realized that all I needed was orbital data. KSP does all the calculations for me, position wise. Because of this, the kraken shouldn't be an issue... My theory is: The way I understand how KSP renders a vessel is that it will take it's orbital data and plop it where it needs to be around a body. Doesn't matter where in world space it is. If the vessel is within loading distance from the active vessel (your vessel) then KSP will automatically calculate the relative position for you based on the orbit it's in. Since KSP is constantly shifting the reference frame automatically, the position of the other vessels within viewing distance should also shift accordingly without notice. So, using that idea, only updating the orbital data to get the position, the Kraken shouldn't be a problem. In theory of course. I was not able to test it fully but I was able to fly around another client without issues: Anyway, enough talk... Bellow you will find the source code. A few things to note: this is all test code. It was never meant to be production quality. The plugin requires a very specific environment in order to run. You cannot compile this and expect it to work out of the box. This code is meant purely for reference and discussion. I am also not a programmer by trade. I do this stuff in my free time as a hobby. That said, my source is not clean and I'm probably doing a lot of bad things some of you seasoned programmers might cringe at. At best, I hope someone might find what I've done useful. If not, then oh well Go check out the actual working plugin and have a blast! Download Source License: GPLv3 - Please read ReadMe.txt for more information. One last bit: I want to extend a big thanks to those who visited my thread, sent me messages, and watched the videos I released over the past few months. You guys are passionate about this idea and I was glad I was able to spark your interest and hopes. I am sorry I wasn't able to give you all something that was fully playable but I am really stoked to see TheGimp's project and looking forward to what he and Markus' LOG project can come up with. These are very exciting times
  4. Fantastic! Glad someone else is taking up the task and managed to release something as well (something I wish I could've done)! Keep up the good work!
  5. Unfortunately the code is in a very early stage, to put in nicely. Since I wasn't planning on making anything completely usable from the start, the server and port addresses are hard-coded and the environment needs to be setup before you can even connect. There's no vessel spawning and the client/server update code is unstable due to the way I'm indexing vessels and updating their data. The source will only really benefit anyone who's curious about it or those who want to reference it for their own projects. Sorry :\ I really do wish I had more motivate and time (more knowledge as well) to make it more robust and useable for those like yourself to at least play with. Maybe someone who has a bit more time and experience can add on to what I have to make it a little more playable. That said, I've added all the comments to the code I feel like I needed to add and cleaned up some test code as well. I am currently working on a write-up to explain the code and my methods in more detail so someone who knows better can probably take what I did and make it more usable
  6. So, uh... I've been completely burned out coding wise. Between work and this, I don't want to look at a line of code for a while. Since I've started this project I've had very little time to just enjoy the game. I haven't even played .22 yet ;_; I also have a lot of other things going on so I can't devote any time or energy to this project. I think I've completed my goal of a "proof of concept" so I think it's time to put this to an end and give the community my ideas and thoughts (as well as source code). So, that said, I think what I'm going to end up doing, sometime in the near future, is make a write up about KSP Multiplayer... Which means going through what I've done, as well as other projects, to explain why and how it's possible to bring MP to life. For the most part, it's already been done. Between my initial work and what the L.O.G. project has been able to do recently, it's already happened. We've played multiplayer KSP... Now it's just the long haul to make it playable and practical for you all. Along with this write up I'll explain what I've been able to do as well as talk about various other concepts... for example: what about the kraken? I'll also release my source code for everyone to look at. I still need to clean up a few things before then though (cleaning up some debug code and adding comments mostly). I'm sorry if I've dissapointed anyone by shutting this down but, again, it was never my intention to make a full-on multiplayer mod. Hopefully down the road I might be able to contribute some more time to either the L.O.G. project or some other MP project. I wish them and anyone else who's crazy enough to make this happen the best of luck
  7. I didn't watch the new video, just commenting on Faark's posts about the Quanternion
  8. Like I said, super easy At worst, you just deconstruct the Quaternion into 4 separate floats and reconstruct it on the other side.
  9. Markus has asked me to join this project but I'm just too busy. I can't even find the time to work on my own MP project
  10. Rotation was the first thing I had working on my project, super easy. You guys will have it figured out and working in no time.
  11. This is more or less what I'm doing now. I have dedicated server software which acts as a middle man, relaying data to all the clients that are connected. I really like this idea. Might be something I would be interested in after I get this proof of concept in a semi-playabe state. Which it is, just need to work out a little issue and I should be able to show off two or more players flying around each other.
  12. I've been pretty busy with work but I'm currently working on spawning in vessels as they connect to the server.
  13. Trying to load a craft file and then load it into the game. I can clone an existing vessel and spawn a new instance of it using something like: ProtoVessel pv = new ProtoVessel(FlightGlobals.ActiveVessel); pv.Load(HighLogic.CurrentGame.flightState); However, if I try to load the craft file using something like: Vessel tempv = new Vessel(); tempv.parts = ShipAssembly.loadShip("T:\\Programs\\SteamLibrary\\SteamApps\\common\\Kerbal Space Program\\Ships\\VAB\\Two-Stage Lander.craft"); tempv.orbit.Set(FlightGlobals.ActiveVessel.orbit); tempv.orbit.epoch = tempv.orbit.epoch - .01; ProtoVessel pv = new ProtoVessel(tempv); pv.Load(HighLogic.CurrentGame.flightState); I'm getting a reference object not set to an instance of blah blah runtime error. Did a little bit of troubleshooting last night to figure it out but I figured I'd come on here and see if anyone has done this before. Are there any mods out there that do something like this so I can reference the source?
  14. Unfortunately the immediate issue I see with NTP is that if a client is blocking the protocol (network firewall), it wont be able to sync. I'll give NTP a more thorough look though, thanks.
  15. Once i get the clock synchronized within a more reasonable threshold I should be able to make a quick and dirty time-warp demo for everyone to see... just to finally allow the poor horse to rest in peace.
×
×
  • Create New...