1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Ben - June 9 2015

Discussion in 'Developer Progress Reports' started by Benjamin, Jun 10, 2015.

  1. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Today was a catchup day since I haven't done much over the past few days. Ended up getting quite a lot done both in the code and for figuring out some internal company stuff.

    All the work Ive been doing recently is mostly multithreading stuff for better loading of assets and such, as well as a huge pile of code cleanup. As far as visible changes, I did add a little minimalist progress bar square thingy to the splash screen that disappears when everything is done loading. After it disappears you can hit enter to skip the screen. See it in this video, its right at the beginning in the bottom right hand corner. Its very fast since the main menu loading is simple. There's also plenty of bugs for your viewing pleasure in this vid :p P.S. That song isn't ours. I don't know the name of it but if somebody figures it out I'll love you forever.



    I was gonna work on the transitions, but instead I have been writing a lot of voxel code. Our new voxel system is going to be even faster and more cache friendly, and most importantly, moddable. Still have lots of work to do there but I'll keep you posted as always!

    Be sure to click the links below if you care about the details of what Ive been doing.

    Commits (over the past 3 days)
    Vorb Engine: 10
    Game Code: 23
    Game Data: 1
    Total: 34
    Benjamin, Jun 10, 2015
    Last edited by Benjamin; at Jun 10, 2015
    #1
    ColdFuseon, joppiesaus, Gingy and 2 others like this.
  2. Thomas988

    Thomas988 Back Into Space

    • Member
    Hooray, Ben the god has returned!

    Everything looks so good, I can't wait until the next version! :D
    ColdFuseon and Benjamin like this.
  3. NeonSturm

    NeonSturm Back Into Space

    • Member
    I am a bit interested into how animation will work.
    How will the character walk on rocky terrain? Will feet sink into ground or the other hover in the air?
    With uneven terrain in SoA, you can probably only mean things like wedges (diagonal blocks) or a stair made out of blocks, where the transition has to be animated and can be reversed at any point.​
    The difficult part here can be that a player could walk while one foot is 1/2m higher than the other.

    Zero-K did it like this: (part of "armsolar", click to see full file - GPL-licensed)
    Code:
    ...
    local base = piece 'base'
    local dish1 = piece 'dish1'
    ...
    local SIG_Activate = 2
    local SIG_Defensive = 4
    
    -- don't ask daddy difficult questions like "Why does it armor at the START of the animation?"
    local function Open()
        Signal(SIG_Activate)
        SetSignalMask(SIG_Activate)
        Turn( dish1 , x_axis, math.rad(-75), math.rad(60) )
        Turn( dish2 , x_axis, math.rad(75), math.rad(60) )
    ...
        WaitForTurn(dish3, x_axis)
        WaitForTurn(dish4, x_axis)
        Spring.SetUnitArmored(unitID,false)...
    end...
    This works for parts with nothing attached, but for legs (2 parts) with feet attached or even a body with legs attached, you need better algorithms, like:
    1st, you only have a height and 2 angles for your feet each.
    2nd, you get the numbers for the next bone, the lower leg.
    3rd, you do NOT calculate the lower and upper leg, instead assume a minimum and maximum distance and ask the hip/haunch what it wants.
    4th, you try to accommodate for what the hip/haunch wants the best you can
    + give feedback to the animation part if it is possible or difficult to archive.
    ... Perhaps if it fails and the character falls (then calculate which feet didn't reach ground and the weight distribution.
    ... + trigger an action where the hand tries to grab something which looks stable.

    5th, likewise you don't set a position for hip/haunch, but average left/right a little bit more together (0< (0.5, 0.7) <1 => (0.55, 0.65)) to simulate how the hip/haunch works and then ask the main_body what it wants, which in turn could ask the head and set the start values for arms.
    Except if you are hanging on something grabbed with hands, then it would origin from there.
    The part which supports your weight during a step or grabbing a new part could have some resistivity to changing to a new value, depending on muscle work and fitness of your character.​

    I could go into further detail ... instead I say use above as idea how to implement aliens and flexible movement, if it is possible :)

    Few games offer you the ability to walk and wink at the same time, in even less games the character may fail to do a movement if he hasn't learned jet how to do it. (the knee gets stuck in-between ladder parts and the character has a being-hurt animation | fitness of a character counts)
    Thus this would make SoA outstanding.
    NeonSturm, Jun 10, 2015
    Last edited by NeonSturm; at Jun 10, 2015
    #3
    ColdFuseon likes this.
  4. Gingy

    Gingy Back Into Space

    • Member
    I'm a bit curious what these optimizations will do to RAM useage. I was fairly excited when someone told me that the 0.2.0 demo hadn't exceeded 800MB when they used it(I think I remember that being at max settings too). What you said makes it sound like the game will play nicer with lower end CPUs as well. Of course, I barely know how to make a window show up with C++, so I'm no expert. I admit I could be horribly wrong.
  5. NeonSturm

    NeonSturm Back Into Space

    • Member
    Today you can expect people to use 1 GB for Windows 8+ and 1 GB ram for firefox + flash player => to have 4 GB installed, 2 free at least.
    I had problems with 2 GB even with linux (which uses 400MB) when I run StarMade's client+server and Firefox.
    Probably you should even have 8 GB for new PCs and for maximized performance of memory allocation + to have a safe system for future extensions.​
    Not my opinion, but the opinion of those who make web-page-ads :/

    BTW: I would like to ad-block (by default) everything above a certain download size or cpu-usage, but have seen no settings for that jet.
  6. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Ram usage will still be low, can't say what the total impact will be right now but we will know as the new Voxel API is further developed.

    I think it might be a couple days before the next dev progress report. I have been working on all backend voxel stuff, pretty much shifting everything over to the new API as well as doing a lot of experimentation trying to figure out the most efficient way to do things. As soon as I have something I can show or talk about in detail I will make a post!
    Gingy and Thomas988 like this.
Similar Threads: June 2015
Forum Title Date
Developer Progress Reports Ben - June 25 2015 Jun 26, 2015
Developer Progress Reports Ben - June 23 2015 Jun 24, 2015
Developer Progress Reports Ben - June 22 2015 Jun 23, 2015
Developer Progress Reports Julien - June 21 2015 Jun 21, 2015
Developer Progress Reports Ben - June 14 2015 Jun 15, 2015

Share This Page