Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24)

Pages: 1 [2] 3

Author Topic: Hypothetical challenge: eliminate lag  (Read 14912 times)

reactorcore

  • Guest
Re: Hypothetical challenge: eliminate lag
« Reply #15 on: February 04, 2014, 11:26:47 AM »

The limiting factor of an "all at one level" approach is not so much technical as gameplay related. For example, if you had to cross a starsystem at the same scale you're doing fights, it would take a very long time. Or you'd have to have grossly enlarged ships.

Why couldn't FTL travel exist on that level too?

If you wonder how navigation would work, then a think of a VR display generated by the ships sensors to see where to go and where stuff is.
A pilot of the ship could switch to this view to plot a course and then track the progress, but still view the ship on the basic combat level.

Meanwhile, a ship traveling in FTL could have a cool scrolling FTL travel background during its FTL travel, so you don't have to render objects you pass by, when its all obscured by pretty FTL motion.
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #16 on: February 04, 2014, 11:50:01 AM »

Quote
Why couldn't FTL travel exist on that level too?
There aren't any reasons that couldn't occur, but if you can use FTL, then why bother ever not using FTL, except really close to a destination?

That's basically a model like Freelancer's Trade Lanes system, except that, unlike Freelancer, the game wouldn't be spontaneously creating encounters around the player to keep things interesting and make the game feel a lot more like a sim than it actually was.

Basically, I'm not sure what you're trying to do with this idea, other than being really, really enamored of "everything happening in the sim". 

But how does that inherently make things more fun?  At the end of the day, the players need stuff to do, and with a large-scale sim like that, you're using up CPU that could be better-used on other things, like graphics and sound and all that, for simulation aspects that don't necessarily create more fun for the players.
Logged
Please check out my SS projects :)
Xeno's Mod Pack

reactorcore

  • Guest
Re: Hypothetical challenge: eliminate lag
« Reply #17 on: February 04, 2014, 03:28:22 PM »

That's basically a model like Freelancer's Trade Lanes system, except that, unlike Freelancer, the game wouldn't be spontaneously creating encounters around the player to keep things interesting and make the game feel a lot more like a sim than it actually was.

Basically, I'm not sure what you're trying to do with this idea, other than being really, really enamored of "everything happening in the sim". 

But how does that inherently make things more fun?  At the end of the day, the players need stuff to do, and with a large-scale sim like that, you're using up CPU that could be better-used on other things, like graphics and sound and all that, for simulation aspects that don't necessarily create more fun for the players.
[/quote]


No no, certainly not the Tradelane system of Freelancer, instead, think of the FTL travel more in the sense of Freelancer's cruise engine. Completely free-form and not restricted in any arbitrary way when you can use it.

Basically you can use FTL drive anywhere, anytime  (assuming you have the fuel). Its like the cruise engines in Freelancer: charge it up, which takes time and disables your weapons, shield and leaves you vulnurable while it powers up (EMP or other FTL-disruption weapons can cancel the charge up, ala Freelancer cruise disruptor style).

Ultimately, its the same gameplay as Starsector is with its campaign mode, except without the arbitrary limits and rules that impose contrived circumstances, like having a strictly limited rectangular area to fight in, only being able to engage the burndrive when near a maps edge and spawning at strictly defined certain areas on the map.

Its the same game, but not limiting itself artificially as it is now. The possibities for fun this opens up are huge. You have infinitely more space to battle in, meaning map borders will not artificially force you towards the center of a battlefield, your battles can begin in an infinite diffirent ways, like spawning on any side of the battlefield, having other factions join the fights if they are close, get convoy fleets in a crossfire, introducing gravity traps (like in Homeworld games) which you can deploy in areas where you expect for ships to pass by to make ships come out of FTL to force them to fight you, doing battles near space stations, planets and stars, with the real hazards of crashing into them or being dragged by their gravity, all of this allowing for new tactics which make the campaign mode way more deeper and fun than what it can achieve with the current solution of arbitrarily limiting the area of where action takes place.

Even more so, it'll make things more simple, flexible and feel natural when you don't have to deal with silly arbitrary concepts like deployment points or limit the sizes of fleets artificially (even if it makes your fleet more clumsy and inefficient by having more ships), but instead just have everything work as it actually is which both easier to learn and doesn't feel restricted to what you can do in the game.

It would also allow for every possible scripted mission the game offer to occur naturally in the game, like the mission where you stumble into a top-secret research sector and a huge fleet goes to pursue you, or that convoy line of freighters that hang around between a space station and a clear FTL-launch point, patrolled by police ships can all happen by itself in an open all-at-one-level type of game universe.


To be frank, while Starsector is neat, it limits itself greatly by forcing these restrictions, rules and framework of how its metagame works, making the game feel less fun, more predictable and very sterile for no real purpose aside from old game design traditions of arcady logic, which assumes the solutions it currently holds are the best means of fun possible.

I want to try making something that surpasses that, if its possible. The problem of the many scattered objects I mention in a previous post and on the OP is the current big obstacle I'm trying to figure out a solution for. Aside from it, I'm also looking for other possible optimization tricks that could be used to make such a system work smoothly, without lag, regardless of what kind of crazy situation you throw at it to simulate.
Logged

Debido

  • Admiral
  • *****
  • Posts: 1183
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #18 on: February 04, 2014, 03:45:37 PM »

I like your enthusiasm reactorcore, however I'll be honest the only computer that can simulate the universe or a universe is theuniverse itself.

Form must follow function in a game design, and if you're 'simulating' things that don't 'add' to the game experience - like Xenoargh - you could use that power for something else.

Just look at EA's game "Spore" as an example of how to create immense sandpits, they use a huge amount of procedural generation to reduce dataset size, so that a simple seed number can generate a completely unique Star system inside a galaxy of Star systems.

The only other way to 'simulate' more is to require more hardware, such as a Cray XK7 super computer.
Logged

reactorcore

  • Guest
Re: Hypothetical challenge: eliminate lag
« Reply #19 on: February 04, 2014, 04:29:21 PM »

I like your enthusiasm reactorcore, however I'll be honest the only computer that can simulate the universe or a universe is theuniverse itself.

Form must follow function in a game design, and if you're 'simulating' things that don't 'add' to the game experience - like Xenoargh - you could use that power for something else.

Just look at EA's game "Spore" as an example of how to create immense sandpits, they use a huge amount of procedural generation to reduce dataset size, so that a simple seed number can generate a completely unique Star system inside a galaxy of Star systems.

The only other way to 'simulate' more is to require more hardware, such as a Cray XK7 super computer.

Thats exactly what I am doing, form-follows-function is the basis for best game design. Video games are ultimately clever illusions of many interconnected systems, which can make things that look truly like infinite possible. The real challenge is in organizing the design that takes the limits of a modern computer, the goal of the project and finds a way to make it all work together smoothly and look pretty.

What I'm suggesting doesn't require super computers, only clever design. You don't need to simulate things that you don't use at that very moment. Thats so elementary, so why even mention it?  :P

The wierd thing about your post is that you're first saying its impossible and requires super computers and then the next thing you mention solutions and basic ideas that say it is possible with correct design, even with an example of Spore (and lets throw in minecraft's infinite worlds for good measure, or just cause 2's gigantic islands in 3D).
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #20 on: February 04, 2014, 07:48:17 PM »

Quote
The real challenge is in organizing the design that takes the limits of a modern computer
Not really.  Look, the amount of CPU it takes to simulate one completely accurate physics simulation of one spacecraft is beyond a modern home computer.  And no, Kerbal Space Program is not a "simulation", except in the roughest sense; it's a vague approximation that's fun.

I think you're really making a huge mistake here, in general; when designing a game, you need to start off with "what will be fun" and work from there to develop the systems that create that fun

Starting with the premise that "complexity is fun" is a non-starter; if that's true, then a "game" where one attempts to find a fully-simulated pink ping-pong ball in a sea of fully-simulated white ping-pong balls is inherently fun, when in fact it's really quite boring, even if you do so by melting them with a flamethrower or something. 

If you approach game design that way, you're going to build a terrible game... and you're going to hit performance issues you never anticipated, because you're starting from a premise about simulation complexity and pre-optimization strategies that may or may not have any real bearing on the problems you'll face.

For example, if you make everything as simplistic as possible- simple Newtonian physics with circular collisions, no drag forces, only one force vector applied per frame, etc., that's great, the motion of the characters is now as simple as it can get without not being simulated in any real sense.  But your AI for driving those characters might run to 1000 lines of code; compared to the physics, the simplistic, goal-seeking AI handling local steering is already far heavier. 

Then you have the AI that would need to handle these independent agents in the larger simulation, making decisions that determined where, exactly, they choose to go next; this gets into further and further complexity.  Then there's the complexity of drawing the character on the screen; once you're past a single quad that does nothing but appear / disappear depending on state, it's quite likely to make the AI code look small and tidy.  Again, I really feel like you need to spend some time actually trying to develop something here, instead of just theory-crafting, because you're making a lot of assumptions that simply aren't true.

Your argument is, essentially, if only the perfect strategy existed, then hugely complex sims could be realized... but that's not the question, ever.  At the end of the day, the job of the game designer is to make fun happen.  Develop the fun, then look at what needs optimization. Often, you'll be very surprised where the issues are.

Lastly, let's go ahead and talk about Spore and Minecraft.

Spore and Minecraft take two different approaches that are both noteworthy but are surprisingly similar when you really analyze them:

Minecraft uses an algorithm to build the voxel worlds.  It also stores any voxels in a given set that have been changed, so that there is permanence.  There are some practical limits to that, in the sense that if enough voxels are changed, then the amount of memory that is required to have permanence is too large to handle, but the data is so simple (literally an int in an array) that it's huge.  Minecraft doesn't generate any new events (mobs, etc.) far away from players; these are generated procedurally when it's desirable, to save memory and CPU.  It also doesn't allow for much permanence of local objects that can't be stored as simple ints in arrays (like, if you drop a bunch of blocks somewhere, they eventually fade out to save memory).  So the world looks very complicated but actually isn't.  Minecraft doesn't even simulate the AI for mobs that get beyond a certain distance from the player, and eventually culls them to save CPU.  There are Minecraft mods that actually keep game entities from being culled for a much longer period; they are very, very memory and CPU-heavy.

Spore doesn't deal with permanence very much, beyond some very simple things, but instead uses procedural methods to create the local scenes.  Because these scenes are generated from a seed, there is a CPU cost when entering the range at which they need to be turned into something, but it can be controlled by keeping the scope small.  Very little else is actually being simulated, but because it's always busy around the player, it appears very complex.

Note that both games are essentially like Freelancer in this regard.  There is very little real permanence in any of these games, because permanence eats a lot of memory, and the number of characters in any given situation is carefully controlled at all times.  Where it's necessary, all three games made global events happen that change events far away from the player's current POV, but these are generally very small events, both computationally and memory-wise (setting a boolean somewhere to declare that a given task is done, an int to declare a specific state change in a script, etc.).

In short, both of those games are games where instead of chasing after this goal you're so enamored of, the developers simply keep it busy in the local area around the players.  This creates challenge and fun.  So basically you're spending all this time trying to think about ultimate optimization strategies for having a whole bunch of things flying around everywhere... but it's the wrong question.  The right question is, "what will players get to do that's fun" and "how can I create that fun within the limitations of modern processors and memory".
Logged
Please check out my SS projects :)
Xeno's Mod Pack

reactorcore

  • Guest
Re: Hypothetical challenge: eliminate lag
« Reply #21 on: February 05, 2014, 01:33:21 AM »

Quote
Not really.  Look, the amount of CPU it takes to simulate one completely accurate physics simulation of one spacecraft is beyond a modern home computer.  And no, Kerbal Space Program is not a "simulation", except in the roughest sense; it's a vague approximation that's fun.

Thats exactly what I am doing, form-follows-function is the basis for best game design. Video games are ultimately clever illusions of many interconnected systems, which can make things that look truly like infinite possible. The real challenge is in organizing the design that takes the limits of a modern computer, the goal of the project and finds a way to make it all work together smoothly and look pretty.

What I'm suggesting doesn't require super computers, only clever design. You don't need to simulate things that you don't use at that very moment. Thats so elementary, so why even mention it?  :P

For *** sake, didn't I already make it clear that I'm going for a Starsector type gameplay and similar shallow level of complexity?

Yes I am already doing exactly what you're saying. I'm not looking to simulate every bloody atom in the universe here, only what is actually necessary and contributes to meaning, which is the basis of fun video game design, achieved by the means of form-follows-function, that is obvious.

Basically its exactly like Starsector, but its metagame reorganized to remove arbitrary restricting elements be open the same way moving around in minecraft works, where by chunks are loaded and unloaded when you enter/exit them respectively. I'm not going to simulate anything useless or anything that has no meaning in terms of fun. It is a video game, after all. I did already mention that a video game is an illusion at its core and no game does actually simulate a complete universe. You just need to shift the core design of a game from instead of being built around limited spaces and arbitrary representations, to something that allows for open movement by using dynamic content loading and level of detail techniques.

Hell, that new Wayward Terran Frontier game is a live example of this format.

Logged

FloW

  • Captain
  • ****
  • Posts: 282
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #22 on: February 05, 2014, 02:04:56 AM »

Just realized: Why exactly are we talking about changing the core of Starsector this late in it's development? Wouldn't it be far better to think about reducing the memory consumption?
Logged
"The point is, you see, that there is no point in driving yourself mad trying to stop yourself going mad. You might just as well give in and save your sanity for later.''
- Ford Prefect, creator of the giraffe; a very long time ago

Debido

  • Admiral
  • *****
  • Posts: 1183
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #23 on: February 05, 2014, 02:06:40 AM »

nah, reactorcore is going to make his own clone - but better apparently.
Logged

Cycerin

  • Admiral
  • *****
  • Posts: 1665
  • beyond the infinite void
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #24 on: February 05, 2014, 04:53:05 AM »

Game aint optimized yet.
Logged

Pelly

  • Admiral
  • *****
  • Posts: 757
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #25 on: February 05, 2014, 08:07:19 AM »

I saw this a few days ago before there were any responses, and thought about it...got bored, then played Starsector which I think is good enough as it is. Then went back to here and saw you lot getting confused and the OP whining......I sigh....................................Jesus Christ. Couldn't you have made it clear in the OP what you intended, same goes for the title??? It in no way indicates that you will make a game.

(To respond to optimising, you do that after you make the 'draft' game otherwise it just gets complicated and messy however well planned you make it, so go away make a draft of what you want to make then come back and ask us for advice.)

I sound harsh, yes, that is because I am frankly bored of silly little posts and misunderstandings. BE CLEAR WHEN YOU POST.

(I am also very tired and slightly Ill so if this offends tough idc and my logic is mildly broken :P )



All in all......bleh I give up on trying to understand people
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #26 on: February 05, 2014, 08:52:53 AM »

Quote
Game aint optimized yet.
Totally true :)
Logged
Please check out my SS projects :)
Xeno's Mod Pack

c plus one

  • Commander
  • ***
  • Posts: 170
  • 'Make Jumpgates Great Again!'
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #27 on: February 05, 2014, 02:44:18 PM »

BE CLEAR WHEN YOU POST.

^^^ this. so much unpleasantness could be avoided.
Logged
Quote from: Lopunny Zen
you are playing them wrong then..

Don't tell me I'm playing anything wrong in a singleplayer sandbox game. Just don't.

Aratoop

  • Admiral
  • *****
  • Posts: 612
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #28 on: February 05, 2014, 02:51:18 PM »

Best method to temporarily reduce all lag: delete game
Logged
Quote
The community's response to a change is inversely proportional to its importance.

What do you call a dog who's a magician? A labracadabra

CopperCoyote

  • Captain
  • ****
  • Posts: 451
    • View Profile
Re: Hypothetical challenge: eliminate lag
« Reply #29 on: February 05, 2014, 03:08:57 PM »

Best method to temporarily reduce all lag: delete game

That's how i eventually dealt with minecraft   :'(

It just wasn't fun enough to deal with 4 to 10 Frames Per Second
Logged
Itches are scratched. Back-rubs are savored.
Pages: 1 [2] 3