Return to “Announcements”

Post

Re: Limit Theory @ PAX South!

#122
BFett wrote:Flat, I believe you were one of the backers who had access to the prototype. Can you tell us more about the demo that Josh had running and possibly how it would compare with the prototype from 2012?
I started the LTP again this morning. The last time I started the prototype was approx. 2.5 years ago. Just from the details of the last dev upd #21 this version feels antiquated.
Therefore in my opinion it won’t make sense to compare the LTP with any version of LT mainly used for low-level analysis and concept testing.
Post

Re: Limit Theory @ PAX South!

#123
Flatfingers wrote: Some quick technical notes:

  • I saw a snippet of the Lua code -- it's as clean as LTSL was. If LuaJIT winds up working, it will be a fine modding language.awesome :)
  • Freakin' garbage collection, man.Is this a good thing or bad thing, I can't tell?
  • Josh was not exaggerating when he said his system procgen had produced a beautiful system. Wow.Any screenies?
  • The combination of contrasting nebula/star colors, and the lighting model for nebulae, will make your eyes very happy.I'm already happy, how much more happier can I be?
  • Screenshots do not do these nebulae justice. Videos do not capture what they look like in person. Wait till you see this.No screenies?
  • As Josh was showing me the star system, the exhibitor in the next booth over spoke up to praise it. Woulda loved to have seen Josh's face at that moment :D
Thank you Flat for taking the time out to visit PAX, meet Josh, and write a wonderful write-up of your experience :) :clap:
But one question, did you have a phone on you to take screenies?? :lol:
YAY PYTHON \o/

In Josh We Trust
-=326.3827=-
Post

Re: Limit Theory @ PAX South!

#125
1. Josh had LT going in a couple of modes at PAX South. One (what I think of as the "demo reel") was a looping sequence of stills from earlier incarnations of the game, showing some of the features seen in the development videos -- LT as it will be. The other, which I think Josh showed me mostly for my benefit, was the very minimal "live" version of LT as it exists currently, which he's still working on.

The Limit Theory Prototype (LTP) was a reduced-feature-set implementation that showed off some very early ideas about star system graphics, asteroids, flight mechanics, combat, station docking, ship component trading, ship component configuration, and missions. That sounds like a lot -- and it was! -- but it didn't try to address any of the relatively much harder (from a performance perspective) questions of multiple wormhole-connected star systems, non-combatant AI, asteroid-based resources, research, object fabrication, procedural ship and station generation, project-creation by NPCs, factions, player conversations with NPCs, market-based economies, planetary colony management, planet-based landing sites for colony interactions, fleet management gameplay, and level-of-detail scaling across an entire procedurally-expanding universe of star systems.

It's an architecture that can support all those additional features (which reasonably could be considered necessary to deliver the gameplay experience that Josh described in his Kickstarter) that distinguishes what Josh is working on today from the LTP. The Prototype was very valuable as it showed off what a small part of the actual Limit Theory might look and feel like, as well as demonstrating to potential backers that Josh actually does know how to code. But it was far from being the Real Game, or a suitable platform on which the Real Game could be built.

In fact, let me stress that last point. While I don't know everything about LT, I think I'm not wrong in saying that it was never an option to try to extend the LTP into the full Limit Theory. The prototype was never designed to have all the "hooks" necessary to do all the other things; it was never going to be a platform capable of handling all the multi-system and simulation stuff. If Josh had wrongly tried to go that route, just hard-coding everything, the resulting product would have been a disaster to try to maintain or extend, if it even would have worked at all.

For the kind of dynamic, massively simulated and yet highly responsive world that Josh requires to make the game he wants, there was never any responsible option but to design and build it from scratch. It's just an unfortunate fact that this is Really Hard To Do. But I've never known anyone with Josh's level of programming capability. I think he can do it.

2. On pictures... it did occur to me. But once we got to talking, I just plain forgot to ask! :lol:

I'm more of a words guy, anyway.
Post

Re: Limit Theory @ PAX South!

#127
Flatfingers wrote:
...snip

For the kind of dynamic, massively simulated and yet highly responsive world that Josh requires to make the game he wants, there was never any responsible option but to design and build it from scratch. It's just an unfortunate fact that this is Really Hard To Do. But I've never known anyone with Josh's level of programming capability. I think he can do it.

...snip

Great post, but I think this is what most people tend to either forget or never consider. What he is trying to do is extremely difficult, and if he manages to actually pull it off, which I think he will, this game is going to rock the space game world.
Ask, and it will be given to you; seek, and you will find; knock, and it will be opened to you.
Post

Re: Limit Theory @ PAX South!

#128
Poet1960 wrote:
Flatfingers wrote:
...snip

For the kind of dynamic, massively simulated and yet highly responsive world that Josh requires to make the game he wants, there was never any responsible option but to design and build it from scratch. It's just an unfortunate fact that this is Really Hard To Do. But I've never known anyone with Josh's level of programming capability. I think he can do it.

...snip

Great post, but I think this is what most people tend to either forget or never consider. What he is trying to do is extremely difficult, and if he manages to actually pull it off, which I think he will, this game is going to rock the space game world.
Oh people aren't forgetting to consider that. People know it's a very difficult task. What most people wanted was communication a little more frequently than once every 4-6 months. :ghost:

Glad Josh has broken that streak recently though and is on the forums as well as getting out to conventions. :thumbup:
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Post

Re: Limit Theory @ PAX South!

#129
DWMagus wrote:Oh people aren't forgetting to consider that. People know it's a very difficult task. What most people wanted was communication a little more frequently than once every 4-6 months. :ghost:

Glad Josh has broken that streak recently though and is on the forums as well as getting out to conventions. :thumbup:
This, if Josh posted once a week, during that entire period, and told us what his issues were, then I doubt anyone would care all that much about the late delivery.
°˖◝(ಠ‸ಠ)◜˖°
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
Post

Re: Limit Theory @ PAX South!

#131
JoshParnell wrote:I certainly can't tell what the output will be, but for sure this would not pass the gauntlet of 'is it really random' tests...I can almost understand what it does and that's not a good sign :P Still no idea what floatFix is though. I see INT_MAX and a high power of seven in there though, which I'm not particularly fond of (why not primes?) But anyway. Probably better than rand()'s LCG.

FWIW Mersenne starts (typically) with ~624 loops of state 'twiddling' based on the seed immediately when it's constructed, so you get a good distribution right off the bat.
Though you're not entirely wrong here, you're saying a lot of Programmer Folklore that is basically unfounded. Can't really blame you, given it is "common knowledge", but it's still wrong, and that irks me. Hopefully this reply has left my rants hidden mostly behind links, so as not to result in a full-on essay. Note that if you want cryptography guarantees you should not follow the advice I give here.

A good PRNG is likely to be extremely small and simple code-wise. An example is the PCG set of random number generators, whose core generator is summarized as

Code: Select all

// *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org
// Licensed under Apache License 2.0 (NO WARRANTY, etc. see website)

typedef struct { uint64_t state;  uint64_t inc; } pcg32_random_t;

uint32_t pcg32_random_r(pcg32_random_t* rng)
{
    uint64_t oldstate = rng->state;
    // Advance internal state
    rng->state = oldstate * 6364136223846793005ULL + (rng->inc|1);
    // Calculate output function (XSH RR), uses old state for max ILP
    uint32_t xorshifted = ((oldstate >> 18u) ^ oldstate) >> 27u;
    uint32_t rot = oldstate >> 59u;
    return (xorshifted >> rot) | (xorshifted << ((-rot) & 31));
}
or something like xoroshiro128+, the website for which is sadly down for the moment. These need not be complex functions, and in fact they are likely to be better-off being simple. Of course, wrappers around CSPRNGs are equally suitable, and those are nowadays fast enough to be generally feasible, even if they are also overkill.

Note that this contains fairly simple constants like 18 and 27; their existence does not necessarily represent a flaw in the generation scheme.

A Mersenne Twister is a generally poor PRNG, being bloated, slow and not very random. It takes the "brute force" approach to randomness, rather than a structured attempt at producing good random values, and fails fairly badly given how much effort it puts in. For reference, see my question Why is the Mersenne Twister regarded as good? You are better off with even a 96-bit LCG.

Large seed states do not a good RNG make. They are generally indicators that the underlying generation scheme is poor, and that it had to be propped up with other models. The exception is of course a CSPRNG, though those actually pass through stringent review.

A good, accessible rundown of non-cryptographic random number generation is given in The PCG Paper, which I would recommend if not for your general lack of time for anything. Just to pique your interest, though, last time I recommended it the response was
Finally, using C's rand() is like relying on the devil. Don't do it if you want to keep your soul. srsly
Post

Re: Limit Theory @ PAX South!

#132
Silverware wrote:
DWMagus wrote:Oh people aren't forgetting to consider that. People know it's a very difficult task. What most people wanted was communication a little more frequently than once every 4-6 months. :ghost:

Glad Josh has broken that streak recently though and is on the forums as well as getting out to conventions. :thumbup:
This, if Josh posted once a week, during that entire period, and told us what his issues were, then I doubt anyone would care all that much about the late delivery.
I really hope Josh has learned his lesson on this. Even bad news is WAY better than no news.

The fact that he was able to do the whole PAX thing does renew a bunch of confidence in his ability to bring Limit Theory is a successful release for myself.

Not to put a negative spin on this, but perhaps "new" Josh should show us his new ways by posting in the Kickstarter and doing something with the old dev logs. The last one from Jan-9th 2015 still refers to doing an update in "one more day".

Even better, get Tal to do it for him... ;)
My Signature

Online Now

Users browsing this forum: No registered users and 5 guests

cron