Read by Schine Sector 'Walls' and Scanning

    Joined
    Sep 14, 2014
    Messages
    238
    Reaction score
    139
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen
    So I was out hunting the other day and I lost some prey due to sector 'walls'. Basically as soon as something passes over a sector border it will disappear from navigation and until you pass into the same sector you won't be able to reacquire the target. I'm not sure if this is something going wrong with the server I play on, my settings (although my friend with different settings was having the same issue), or the actual game, but it makes PvP ridiculous. If this is something wrong with the game it could do with being fixed.

    On another note why are scanners so short range? What kind of space-faring species can only scan like 100km away and why does being in an enemy/neutral system make that even less? They should be able to scan much further.
     
    Joined
    Jan 16, 2015
    Messages
    298
    Reaction score
    81
    Sadly I think it is just Java mate. Massive limits to it like the block id's going to run out before the worlds IP addresses do lol.

    Played a few java games and they always seem to be grids of some form where you lose track of anything outside the grid or 'hit the wall' every time you go ever a section. But generally they've not had an impact like they do in SM as they've been games like Runescape where real time doesn't matter as much.

    Honestly I just do not think Java is the best engine for a MMO Space game like StarMade. Only fix I could see is make the sectors larger so you have more room to move before hitting those walls, but then you have the problem of increasing sector/system sizes spreads everything out further apart. Seriously multiple issues with this games sectors, the pausing, losing targets as they cross them,exploiting them for shield recharge avoiding fire. Kind of weird how bad it is being a player when an AI turret can hit a target no problems from 20km away across a couple of sectors as long as both have players in them, but at lower ranges human controlled ships can almost hit nothing across a sector.

    It's not the server or our PC's it's the game as I have experienced this across multiple servers and PC's. Pretty much been like this as long as I have played.

    Combats always been a frustrating experience due to the sector crossing issue. So many people exploit it especially when they're starting to lose, been cheated out of more victories from it than I care to count.

    If I won the lotto I'd in all honestly attempt to buy Schine. First thing I do would be scrap the engine and switch to another more suited for this style of game, like Unity, and hire a decent sized team of professional coders. I do like StarMade but it is one of the most frustrating games that I own.

    Oh and ditto on the scanners. They cannot even detect AI or empty ships ;)
     
    Joined
    Dec 28, 2014
    Messages
    262
    Reaction score
    64
    Honestly I just do not think Java is the best engine for a MMO Space game like StarMade.
    Java isn't an engine, it's a languge. Are you saying a different language would be better, Like C?
     
    Joined
    Jan 16, 2015
    Messages
    298
    Reaction score
    81
    Java isn't an engine, it's a languge. Are you saying a different language would be better, Like C?
    Jeezus is someone going to point that out every time I say Java and Engine...... StarMade players are seriously the only players I have ever met who have this problem with the term Engine and Java being used and the need to point it out........ :rolleyes: I am beginning to think 99% of people who play this game have some kind of OCD :D lol

    And yes, I do think another "ENGINE" would be better for a game like StarMade, development for one I think would be a million times faster in a C++ based 'ENGINE'. Did I not already state as much in my last post? :confused:

    First thing I do would be scrap the engine and switch to another more suited for this style of game, like Unity
    Yep looks like indeed I did. :p

    Edit: Let's try to not derail Wookies thread arguing the semantics of Java terms.
     
    Last edited:

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    Massive limits to it like the block id's going to run out before the worlds IP addresses do lol.
    That is completely unrelated to Java. the ID limit is to help keep memory usage down so we can have ships at the scale we do.
     
    Joined
    Jan 16, 2015
    Messages
    298
    Reaction score
    81
    That is completely unrelated to Java. the ID limit is to help keep memory usage down so we can have ships at the scale we do.
    I can think of better ways that would keep the memory down. First would be not trying to build a 1km+ titan on a 10 inch Windows Intel HD Notebook with 2gb of RAM.
    Anyways no matter how you look at it, Java is crap for what a game like SM is trying to achieve.

    And scale we build on is relative. I've seen people who think 100m is massive, and have their mind blown when they see a 500m long frigate. Most of those though are on machines like those mentioned above. I've seen those who think 50m is massive. What is scale we build on?

    Nevermind, don't answer, rhetorical question, let us stick to discussing OP pleez.
     

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    I can think of better ways that would keep the memory down. First would be not trying to build a 1km+ titan on a 10 inch Windows Intel HD Notebook with 2gb of RAM.
    The id limit also keeps file sizes down and network usage down. There's lots of reasons for it. Schema said recently it can be expanded, and he will do it should the occasion arise, but no one has hit the limit, so its not needed.


    asically as soon as something passes over a sector border it will disappear from navigation and until you pass into the same sector you won't be able to reacquire the target.
    The nav menu and HUD have a range of 2 sectors. the sector you are in, and the bordering ones. If the entity passed the sector boundry to the next one, meaning there was a whole sector between you, the entity would have been unloaded from memory and saved, and it wouldn't have moved until you entered that 2 sector range again.

    Before its said, this isn't a Java thing. Sectors are both a way to divide the universe up so they can be saved and loaded in chunks, and solve the floating point inaccuracies we would otherwise have.
     
    Joined
    Jan 16, 2015
    Messages
    298
    Reaction score
    81
    The nav menu and HUD have a range of 2 sectors. the sector you are in, and the bordering ones. If the entity passed the sector boundry to the next one, meaning there was a whole sector between you, the entity would have been unloaded from memory and saved, and it wouldn't have moved until you entered that 2 sector range again.

    Before its said, this isn't a Java thing. Sectors are both a way to divide the universe up so they can be saved and loaded in chunks, and solve the floating point inaccuracies we would otherwise have.
    And in the process we lose lock-ons and ability to fight effectively, and have an easily exploited combat mechanic.
    I am talking about I and another player are in the same sector fighting, I have the upper hand, he crosses the sector edge, his ship glitches about teleporting all over the place for a second or two, I lose my missile lock, and he runs away as the game spazzes out. Or he as I and others have experienced uses it to instantly recharge shields. Seen people just back and forth back and forth across sectors doing this making combat useless and unwinnable essentially giving players godmode and screwing legit players.
    Solves the inaccuracies problems? How is adding inaccuracies while removing inaccuracies solving problems? (Rob Peter to pay Paul logic?) I've not played any other space sim that comes to mind where a visible target may as well be in another universe. Where reaching a new sector often feels like you've hit a speed bump. Just worsens the more players that are on the server, especially when they have high pings.
    It's not just me, it's not just any one server.

    Regardless of the logic or reasoning behind it, if it is bugging out and crippling one of the biggest mechanics in the game, ship to ship combat, it's not working. If you can see it you should be able to lock on or shoot it. It should not pause jump drive charging, it should not reduce speed, it should not be making people appear to teleport about.

    I know other games only load things as they are needed, have a generally good grasp of how games,computers and software works, no use loading items no body can see. But they do so smoothly and without noticeable transition. They attempt to make it seemless.
    Take Grand Theft Auto. I am driving down a street shooting another car, on a not so beefy computer, the other car crosses a new area and I am about to enter it. The background scenery reduces in detail, pops in, but me shooting that car stays the same. The game makes the adjustments in the right area.
    The way it works in StarMade feels like as we cross the new area the other car teleports around my bullets hit anywhere but the car. And while it appears in front of me going through an intersection it has actually turned left down a side street leaving me with no idea where it actually is and the background stays hi-res and beautiful the whole time.
    The game is designed around the game play working, without the game play working properly the mechanics of the game are moot. Dunno about anyone else but I buy and play games to play games, I do not buy them to drool over the code in them. o_O

    Let me think of a real world example here...... you own a car. To make your aircon work you rewire the cars entire electrical system to it, now the engine doesn't work properly, it coughs and splutters and sometimes you can get to 60kmph, other times 5kmph, but hey it's okay because the aircon is blowing nice cold air........ and people who like the brand of car you own say 'hey it's not the cars fault, after all other cars have problems too.' Despite the fact you neither own or drive those cars.......... :rolleyes:

    It may not be an exclusively java thing, but when it comes to Java it's a more noticeable and poorly done thing.
    When you play a lot of games using various 'engines' (yeah, yeah I know SM fanboys hate that word) and notice that games made with particular engines all operate the same. e.g grid sectors and stutter of java games, you kind of see the pattern and realise it is indeed a Java thing.

    If not then why only in Java games do I see it time and again? Unreal games handle loading new sectors and game play crossover of them fine, Unity does, iDtech does, Source does, even half baked ones like GameGuru does and I could go on. (okay GameGuru does come close to Java in this matter, but even that's not as bad but hey the devs decided dark pro basic is crap and made the smart decision to convert to C++ and directx11. :D)

    So if is not java then what? Is it just some sort of weird mystical thing that Java just happens to be a magnet for every bad programmer on the planet?
    Not that I am saying Schine or Jagex or any other developer is bad at programming. But if it's not Java then that is all I can think it must be. :p

    Oh I know, sectors crippling game-play mechanics because reasons is by design. In some new age hipter edgy fashion I am yet not privvy to.

    Can you people so quick to defend Java all the time not see the problem with game play halting across sectors in a real time game or am I just freaking completely crazy here for thinking it's important that there are no walls in this kind of game? That I should be able to fire a missile at someone I can see and that missile actually hits them?

    Before it's said, I know the what the answer is. What it always ends up being for every game these days. Early Access Alpha Game is Early Access Alpha Game.
    Which I should no by now should clears everything up and is the solution to all. :confused:

    :D

    Man there is an answer for everything these days it seems. Except that simple one that is taboo "It happens because shit's broken and needs fixing." But let that one be our little secret hey. ;)

    Now excuse me I need to go ponder on why in 300+ games in my steam library, including games like the 'X' series and other huge space sims/arcadey games it's the only one that is using Java that does this shit.
    I think Valves behind it and just trying to mess with my head personally. Because as I am now educated. I know it is everything but Java to fault. And you know it's true because Schema said so. o_O
    [DOUBLEPOST=1452099824,1452099445][/DOUBLEPOST]SuperWookie sorry mate,seems people would rather talk about java than your posts topics.
     
    Last edited:
    • Like
    Reactions: Deserea

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    The nav menu and HUD have a range of 2 sectors. the sector you are in, and the bordering ones. If the entity passed the sector boundry to the next one, meaning there was a whole sector between you, the entity would have been unloaded from memory and saved, and it wouldn't have moved until you entered that 2 sector range again.
    A range of 1 sector more would be smoother, but 1x1x1=1. 3x3x3=27. 5x5x5=125 already. A performance loss of 400% if done wrong.

    The issue right now is that it's "beyond double and half" extremes.

    A sector triagonal is sqrt(1*1 + 1*1 + 1*1) = sqrt(3) = about 1,73
    • If you are at the very corner of one and the enemy in the very corner of another sector, it can be 3.4 times a sectors border-length.
    The other extreme is when you both are at a sector border and directly adjacent to the same sector.
    • Then it's only 1.1 distance.

    A difference of 3x scan range.

    I would limit it not only by sectors but also by scan range of max. 1 sectors distance to scanned entities.
    If this is too low, then we have too many sectors or too small ones.​
     
    Last edited:

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    Just to be clear, the transtitions from one sector to another not being smooth is a bug, but the sector boundaries aren't going anywhere.

    Solves the inaccuracies problems? How is adding inaccuracies solving problems?
    Co-ordinates are saved in a float. the bigger the number gets, the less accurate it can be as the decimal place is moved around to allow for the bigger numbers. Sectors solve this issue by each sector being its own little chunk of space, meaning co-ords are never to far away from 0,0,0 and so everything stays nice and accurate. If we didnt have this, things to far away from the origin would slightly buzz and things would generally be even more buggy

    Regardless of the logic or reasoning behind it, if it is bugging out and crippling one of the biggest mechanics in the game, ship to ship combat, it's not working. If you can see it you should be able to lock on or shoot it. It should not pause jump drive charging, it should not reduce speed, it should not be making people appear to teleport about.
    Its solving a problem that would be much worse than the current one. Its not perfect yet, but its getting smoother. It used to be much worse.

    what it does is move the universe. Everything shifts in a way that to the player, they can't tell, but the players camera and the import thing all stay within ~10km of the center, even if your on the other side of the universe, your technically near the center of the world space

    Take Grand Theft Auto. I am driving down a street shooting another car, on a not so beefy computer, the other car crosses a new area and I am about to enter it. The background scenery reduces in detail, pops in, but me shooting that car stays the same. The game makes the adjustments in the right area.
    GTAV isn't on anywhere near the scale starmade is. The map in GTA is around 10 km squared. Sectors in starmade are that big on most servers. GTA doesn't really have any need to use floating origin solutions. Yes, its dynamically loading in new assets, but its not having to move the universe.

    I've not played any other space sim that comes to mind where a visible target may as well be in another universe.
    Elite Dangerous, Star Citizen and KSP all have to do this moving of the universe. The KSP devs gave a talk about it at the Unite conference, its on youtube, CBA finding it though.

    If not then why only in Java games do I see it time and again? Unreal games handle loading new sectors and game play crossover of them fine, Unity does, iDtech does, Source does, even half baked ones like GameGuru does and I could go on. (okay GameGuru does come close to Java in this matter, but even that's not as bad but hey the devs decided dark pro basic is crap and made the smart decision to convert to C++ and directx11. :D)
    The engine is pointless here. Its down to the logic beind the floating origin that is the issue. starmade is using sectors, KSP in unity uses its own solution because MP isn't a concern, fairly sure Elite Dangerous has to use sectors because of multiplayer. Star Citizen has hired ex CryTek devs to rewrite CryEngine to support 64 bit floats, but its still not enough for the scale they want.

    This is a fundamental issue with solar system scale games. You have to divide the universe some how in order to get past floating point inaccuracies. There is a reason space games are very difficult.

    Sector transitions not being smooth isn't caused by Java, it is a bug, and one that is much less worse than it used to be. Removing sectors would limit the scale of the universe drastically. There are numerous reasons behind sectors.

    The game is in alpha, Schine hasn't even started the intense debugging they intend to do in beta.
    [DOUBLEPOST=1452100866,1452100480][/DOUBLEPOST]https://starmadedock.net/threads/dev-blog-september-9th-2015.20887/#post-229568

    Just remembered that Schine already did a dev blog explaining the need for sectors.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    This is a fundamental issue with solar system scale games. You have to divide the universe some how in order to get past floating point inaccuracies. There is a reason space games are very difficult.
    Would it not be possible to load a low-resolution, low-actions "sector" from a system-chunk?

    low-resolution: 1/16 coordinate size + position-update calculation ticks.
    low-resolution collision handling (don't do collisions except intended).
    low-actions (trigger actions 1/16th as fast).​
    The gradual transition is complicated, but I think it could be done if desired.