Jump to content

Devnote Tuesday: Asteroid Day Edition


SQUAD

Recommended Posts

<figure class="tmblr-full" data-orig-height="92" data-orig-width="480">tumblr_inline_nqrzjjqnph1rr2wit_540.jpg</figure>Felipe (HarvesteR)

Not many exciting news to share about wheel modules this week, I’m afraid. Work on the new wheels is progressing, but not as quickly as I would like. I got the steering module working last week, and had to step back to work on the suspension again. It required a few more days of investigating and moving things around, but they are now much more stable than before, and their internal logic is much simpler. Yesterday I wrote the new extend/retract module, which is about as interesting as a two-state animation controller can be… which admittedly isn’t much. The wheels can deploy and retract again though, which is a good thing.

I’ve also fixed the way wheels respond to being aligned to ground at launch. When you hit Launch in the editor, the game figures out where the bottom-most bits of your ship are, and uses that to place it flush with the launchpad or runway surface, so if you had your ship hovering 5m up in the air in the editor, it won’t fall and smash itself to bits on starting flight. This lowest-point-on-ship system relies on collider bounds to figure out where the ship is, but wheel colliders are special cases, because they’re not actual solid objects, but rather just a physics behaviour component, so they don’t figure in for the bounds detection, and as a result, ships would tend to spawn with their wheels below ground.

Now, wheels use the same system launch clamps use (and had it developed for, in fact) to override this ground alignment. Wheels don’t do anything as dramatic as the clamps do, but they add the height of the wheels at full extension, so when you spawn, the tires are flush against the tarmac.

That’s about all I have so far, I’ve evidently not had the most exciting week. I’m also .going through different ideas here to split the project into multiple DLLs, because this slowness is mainly being caused by the time it takes to compile and run the game after making changes. The time it takes between saving your latest tweak to the code, switching to unity, waiting for the project to compile, then launching the game and waiting for it to load, even with all the development tools we have to speed up this process, is still taking several minutes, which is more than enough time to lose focus, forget what you were doing, fire up a browser and ADHD yourself into total disconnection. Any amount of time spent optimizing this process is definitely going to be time well spent.

Well, this has been my week.

Mike (Mu)

It’s been another long week of UI work. I wrote some nice new editor scripts last week to aid us in working faster. Should have done them much sooner! The various scenes are getting debugged and it’s all coming together. Staging is still a thorn in my side but decided to have a day or two on other areas before going back to it refreshed.

Marco (Samssonart)

Last week was mostly about ensuring every store that sells KSP has version 1.0.4 available, most already do, KerbalEdu is on the way, the only one that has been giving trouble is Amazon. We’re having trouble getting the update up, so for now we’re giving KSP Store accounts to those who bought the game on Amazon and wish to receive the update now, so spread the word.

Daniel (danRosas)

Did the Asteroid Day graphic for Kasper, I hope you’re enjoying the ‘official mod’ in your games. This week I’ve been working on several visual improvements to different game assets. You know the drill, a little adjustment in the topology, some textures over here and there, shaders and all that jazz.

Jim (Romfarer)

At the start of the week I broke the research and development facility and today I’ve putting it together using the Unity 5 GUI system. Visually R&D is going to look the same as it did before, that is the goal at least. The back end driving the GUI has changed tremendously though: the tech tree. itself which had to be redone from scratch. Luckily this time around half of its logic is handled by the Unity 5′s GUI system so I didn’t have to write the code to update the scrollbars, snap the grid area to the edges, etcetera. Another advantage is that this GUI system has proper clipping implemented, so the tech tree area is no longer visible through a hole in the rest of the GUI.

Max (Maxmaps)

Finally back from my break. Had a lovely time in Canada. Not a whole lot to report, just playing catchup on everything that I missed throughout the week. Next week’s devnotes should be a tad meatier.

Ted (Ted)

I’ve been working away on internal documentation for the past week. It’s less code or asset documentation and more training-style documentation for the methodologies we follow, the tools we commonly use and any resources that we find useful. It’s not something we’ve really needed in the past given our small team size, but as we continue to work on the future of KSP it’s definitely something that’ll prove useful and will only bring benefit.

Apart from that, I’ve also been working with Marco to solve some issues with the Amazon distribution of KSP as well as moving towards the goal of having a functioning Patcher for all. (Hotfixes with no Patcher does not make for ‘hot’ fixes.)

Additionally, the time has come again to refresh our voluntary testing team (Experimental Team). I’ll be accepting new applications around this time next week. They will be accepted through an online form (Google Docs). As I’m sure you can all understand, owing to the sheer number of applications, I won’t be reviewing or replying to any PM’d to me on the forums.

Lastly, like Kasper, I’d been focusing on my studies recently and am proud to say that I’ve finished up my BSc and have now graduated, receiving a 1st in my dissertation and 2:1 overall!

Happy Asteroid Day!

Kasper (KasperVld)

Today is Asteroid Day and I’ve been coordinating a few things we did to highlight the occasion. The results for the
have also been announced and I had fun looking at all the nominees, although the choices I was faced with as a judge weren’t always easy. I think we have some very deserving winners in the end, though all the nominees definitely deserve an honorary mention.

Outside that and the obligatory “stuff I cannot talk about†I’ve been focussing on my studies, as I’ve got one more exam coming up next month before I obtain my BSc (Bachelor of Science) degree. Busy times, but sadly not much news to report on this week.

Bob (Roverdude)

As most of you probably know by now, Arsonide and I have been working on a little surprise for Asteroid day - a representation of the B612 Foundation’s Sentinel mission! Arsonide handling most of the code and contract goodness (more about that in his devnote), while I built out several new parts.

One of the interesting things was figuring out how to take a unique satellite (the Sentinel infrared telescope) and ‘Kerbalize’ this in a way that we could release it as several multi-use parts instead of just releasing a single unique one-off. Hence, you will be getting a new jumbo probe core, antenna dish, and large static solar panel in addition to a slightly reimagined version of the telescope itself. Fun note - I had to change the HECS-2 from silver to gold because (a) it matched the Sentinel better, and (
B)
it was almost impossible to distinguish from the original HECS probe in the VAB toolbox! Have fun with the new toys!

Brian (Arsonide)

After 1.0 I had a nice break, which gave me plenty of time to read through feedback and prototype crazy new ideas. Following that, for the past few weeks RoverDude and I have been in a small dark room quietly toiling away on a secret side project to celebrate Asteroid Day!

By now, most of you will know that as a representation of the B612 Foundation’s Sentinel mission in Kerbal Space Program. I handled most of the code that the telescope utilizes to discover asteroids, as well as the new contract that comes with the add-on.

It is a bit different than the stock contracts, as it encourages long-term passive income, building infrastructure, and planning. It really opens up a lot of new options in both career mode and sandbox, so I hope you guys enjoy it!

Edited by KasperVld
Link to comment
Share on other sites

When will you start working on multiplayer? I'm waiting for it since i found your game.

We've been working on multiplayer for quite some time now, but multiplayer is not something that comes easily in a physics sandbox game :)

Link to comment
Share on other sites

When will you start working on multiplayer? I'm waiting for it since i found your game.

They've been working on it since before beta. Most of the work, however, is backend content that you don't see. The portion of multiplayer you as a player see, is a tiny fraction of the code actually written. By the time you see any changes from MP, it will be weeks away.

EDIT: ninja'd by the man.

Link to comment
Share on other sites

I remember reading long long ago, that due to 32-bit stuff there was a max time in the game. After like 230 years(whatever the 32bit interger limit is for seconds) in game stuff would break down. will U5 change any of that?

Link to comment
Share on other sites

I'm noticing a lot of misplaced periods.

.going, the. tech, .Arsonide, parts. ., .Hence, .Fun, and .Have.

I also noticed that all of RoverDude's sentences started with a period, except for the first one in each paragraph.

Link to comment
Share on other sites

I remember reading long long ago, that due to 32-bit stuff there was a max time in the game. After like 230 years(whatever the 32bit interger limit is for seconds) in game stuff would break down. will U5 change any of that?

Memory addressing limits place no restrictions on variable byte size (plenty of KSP's floating point math is already done using double typed numbers). That doesn't mean that the format used has enough space to prevent this issue though, it just makes it a coding issue rather than a x64 one

Edited by Crzyrndm
Link to comment
Share on other sites

I remember reading long long ago, that due to 32-bit stuff there was a max time in the game. After like 230 years(whatever the 32bit interger limit is for seconds) in game stuff would break down. will U5 change any of that?

That explains why after going around an orbit that was around 30 something years (kerbin years) long (I was using one of those mods that add extra timewarp intervals) a bunch of times, the MET and UT clocks glitched out. I was attempting to see if I could rendevous back with Jool over time and I deleted that save and restarted after I saw the time glitch out.

The time glitching out is the only affect that I saw since the challenge attempt was borked up anyway and I decided to reset that save.

Link to comment
Share on other sites

Welcome home Maxmaps...

Jim (Romfarer)

...The back end driving the GUI has changed tremendously though: the tech tree. itself
which had to be redone from scratch
.

It does seem that the tech tree is getting redone EVERY update!

Daniel (danRosas)

...This week I’ve been working on several visual improvements to different game assets. You know the drill,
a little adjustment in the topology
, some textures over here and there, shaders and all that jazz.

Question: Does mean the terrain heights around the anomalies are being adjusted danRosas?

Peace.

Link to comment
Share on other sites

Thanks for the shiny new parts. Yeeey!

And i really like the idea of little parts/mission packs related to stuff, that´s currently happening in the aerospace industry. Something like that is always welcome to me :).

Happy asteroids day everyone.

Link to comment
Share on other sites

Question: Does mean the terrain heights around the anomalies are being adjusted danRosas?

Peace.

Topology = the structure of polygons in a model. He's not talking about literal terrain topology.

Edited by NovaSilisko
Link to comment
Share on other sites

That explains why after going around an orbit that was around 30 something years (kerbin years) long (I was using one of those mods that add extra timewarp intervals) a bunch of times, the MET and UT clocks glitched out. I was attempting to see if I could rendevous back with Jool over time and I deleted that save and restarted after I saw the time glitch out.

The time glitching out is the only affect that I saw since the challenge attempt was borked up anyway and I decided to reset that save.

I remember reading long long ago, that due to 32-bit stuff there was a max time in the game. After like 230 years(whatever the 32bit interger limit is for seconds) in game stuff would break down. will U5 change any of that?

Time in Unity (4, anyway) of any bitness is counted as seconds in a double -- that's a 64-bit floating point number (available in both 32-bit and 64-bit platforms; 64-bit platforms should just execute it a little faster). The maximum value is a bit more than 179E+306, so you never "run out" of time, but at some point you may run out of precision.

Expressed in decimal, a double has 15-17 significant figures of precision at any given value. So, if your game has been around for a number of seconds with more than 15 digits in the number -- about 30 million (Earth) years -- the notion of a "second" will no longer be possible. Milliseconds will be impossible 1000 times sooner; about 30 thousand (Earth) years.

Since the game runs at a max of say 180 FPS, the delay between frames is at least about 5 milliseconds. At time warp that number gets bigger, not smaller, so the worst case for adding time to the clock is at 1x warp after 150 thousand (Earth) years of game time or so.

I'm going to guess that clock model instability is not actually why the clock display goes funny after a long period of time. ;)

Edit: As an aside; it is a falsehood that 64-bit data structures like double-precision floating point numbers and "long" integers are not available in 32-bit games or builds. They are constructs handled somewhat differently by the runtimes of various bitness, but they absolutely are available in any modern language, and certainly in .NET.

Actual example of 64-bit precision loss, using Mono's 32-bit CSharp CLI interpreter:

csharp> double big = 1e18d;
csharp> double small = 1d;
csharp> double sum = big + small;
csharp> big == sum;
true

Edited by toadicus
Link to comment
Share on other sites

Good to see the preogression on wheels and UI. I'm not sure if it's a part of the work, but maybe a redesign should be made? The stock, grey UI of the game looks kind of alpha-ish and dull. Would like to see it refreshed if that's an option (please?).

The Asteroid Day mod looks really nice! ARM was added to stock, so why shouldn't this one be official too?

Link to comment
Share on other sites

...is still taking several minutes, which is more than enough time to lose focus, forget what you were doing, fire up a browser and ADHD yourself into total disconnection.

ROFL. In my day we didn't have the internet so we had to do something else to distract ourselves. And that's why so many coders my age took up smoking.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...