-
Posts
57 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by Pwolf
-
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
-
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
-
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
-
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!
-
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
-
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
-
I didn't watch the new video, just commenting on Faark's posts about the Quanternion
-
Like I said, super easy At worst, you just deconstruct the Quaternion into 4 separate floats and reconstruct it on the other side.
-
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
-
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.
-
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.
-
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?
-
My focus now is to try and get an accurate server<->client time synchronization. As mentioned in older posts I'm trying to maintain sync by running a game clock on the server and then trying to sync the Planetarium Universal Time on the local clients to that clock... This should be simple to fix by calculating a delta time offset when ever the client syncs with the server (and periodically during the game). Right now the latency between the client and server is enough to shift the other vessels off course by tens of meters. Since I'm running the clients on the local machine or on a LAN, I can probably fix it so its reasonable. However, this can be a much bigger issue when connecting from half way around the world. Not very good for close maneuvers. Wrote some code earlier today to try and fix this so I'll be doing some testing after work...
-
I'll go into this when I make the video. I believe there's a big misunderstanding/miscommunication about what I've actually been able to do versus what people think I've actually done based on the one video I showed. In a nutshell, I haven't done much at all and don't deserve a whole lot of credit or praise. I will go into more detail when I make the video. I don't think it would be that difficult at all. Depending on how one would implement MP, you could simply add the detached vessel to a list of controllable vessels other players can take over.
-
We're still talking about that timewarp thing as if it's a problem that needs to be solved? I think I'm going to try and post a new video some time in the next few days showing what issue I'm currently trying to get around in hopes someone here can come up with a possible solution or at least an explanation as to why it's happening. Just got back from a mini-vacation so I have a bit of motivation in me now. Hopefully I can try and get this thread on topic rather than just talking about timewarp all the time
-
As mentioned earlier, I haven't had a lot of time/motivation to work on this. I've burned myself out a bit. The last few weeks have been pretty busy in general for me as well. That said, there hasn't been very much progress at all. I tried to tackle the positioning but it hasn't worked out very well. Going on a bit of a vacation next weekend so hopefully I'll come back with some motivation to work on this a bit more. If anything, I'll upload some videos of the behavior I'm experiencing with the positioning.
-
I've been sitting on this for a while and decided to finally share it. Nothing too special. It's a pure VTOL aircraft that acts more like a helicopter than a plane. Watch the videos for an idea on how to actually fly the thing: I've included a few variants: one with two rockets and two with detachable fuel tanks. You can download em here: http://www.pwolfamv.com/other/Pwaffle%20VTOL%20MkII%20Dropship%20And%20Variants.zip