Jump to content

Samedi

Alpha Tester
  • Posts

    104
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Samedi reacted to PsychoSlaughter in DEVBLOG: TERRITORY UPKEEP - Discussion Thread   
    “Taxes will automatically be withdrawn from this balance at a rate of 1,000.000 quanta per week.“
     
    Please correct or confirm this number. The use of commas or periods should be uniform. 
  2. Like
    Samedi reacted to CptLoRes in Time for NQ to Resign...   
    I can't speak for others, but we are way, way past the constructive feedback stage. In fact we got past that point years ago.
    And I suspect that is part of why for many people including Blaze left the discussion. There is a limit to how long you can invest and stay motivated in something, and not get anything in return.
     
    And to be honest, only reason I am still here is some weird combination of "sunken cost" fallacy and morbid fascination watching a train wreck in slow motion.
     
     
  3. Like
    Samedi reacted to JoeKing in Took a break and....   
    I first played DU at the beginning of the UKs first lockdown, so around 18 months ago. I was drawn in by the promises of the marketing: that I could forge out any path I wanted - I could be a builder, trader, explorer, be part of an org, or go it alone. My experience was off to a shakey start with a buggy intro, but I knew it was a ‘beta’ so I persevered and was hooked. I became obsessed... I loved it.
    After a disgusting amount of time playing non stop, I started to make progress, bought my first warp drive, built a space station and some little bases dotted about, life was sweeeet. Then #23 hit. Massive bummer. 
    I took a break for a couple of months, and came back, none of my mates did. I assessed the damage, regrouped and started again.
    It quickly got really boring - really not into PVP - and dont have the funds for it anyway, but kept going with the promise of the new asteroid gameplay (thought I might risk some super-fast prospecting). Turns out, this isnt for single, newish, resource-poor players either, but nothing in the promo material indicated this would be inaccessible outside an org with deep pockets  (or, of course, an early player whos taken advantage of the abundant ore, bugs and exploits). The new announcement of the features of Demeter frankly spells the end of the downward trajectory for newish players like me. Theres no way to really amass the resources to access interesting play outside joining an org - which wasnt the reason I signed up. No doubt the game will continue to have draconian brakes applied through money & time sinks to curtail the large orgs and mega factories, but it feels like the game has shifted to cater to these, whilst simultaneously trying to save server resources. There needs to be a realistic and honest disclosure of what the gameplay is for new players, ie. join an org if you want to play beyond a few weeks.
    I tried to play today for the first time in months, the new warp drive speed seemed like the perfect, sad metaphor. Warp Cells are ridiculously expensive, DSATs are beyond ridiculous both in scale and cost - the game feels joyless now, where it used to feel alive, vibrant and full of possibility.
     
    Its a huge, huge shame the direction the game has gone in, it could've been so good. But thanks DU for a great experience while it lasted,  it was a great escape for me, for few months at least...
  4. Like
    Samedi reacted to Warlander in Demeter=DU has failed in fundamental game design requiring either a full rebuild or re-kickstart   
    Checkmate NQ.
     
    I think it summed this situation up when Pann said we have two groups asking to delete scans or keep them and we dont want to wipe their hard work and we have a situation where are are caught in the middle and dont want to cut the baby in half. To which I say you might not want to cut the baby in half as you are attempting to strangle it in the crib when in reality its not even born yet and all of it is hypthetical to begin with.
     
    Demeter exposes fundamental critical flaws in their initial flawed game design under JC's helm that pretty much developed them into a corner that is game ending to the point that it will require a complete rework if not ground up rebuild to make DU feasable going forward.
     
    Why? (TLDR version)
     
    JC had a failed vision and hired a bunch of yes men/women who followed him and continue to keep following his misunderstanding of what is was they were trying to emulate and not make it their own. Going with a voxel game not bothing to do the research that it sounds good but is still not technically feasable in terms of data costs, internet bills, and performance and not knowing it would limit a space game to a single solar system since any additional solar system basically compounds the problem rather than using a hybrid of static mesh worlds you can build voxels onto in order to have enough performance to justify expansions. Then inviting the building communities of the failed games the tried Voxelization with the promise of Space Landmakr combined with Space engineers. The builder community killed any chance of PvP and the PvP community killed off the builders along with new players. Setting unrealistic expectations for mega orgs by feeding them and not establishing factions instead and doubling down by constantly feeding then misunderstanding that not limiting them and being forced to put out feeble attempts to slow them down while crushing everyone else with misguided updates that take out more then is added to the game. Because of all of that now needoing to pivot and remove and limit mining in order to cut costs to up performance, add a vertex tool that takes from that performance, and then fill it back up with hundreds of thousands more TU's, miners, containers, transfer units, machines to produce them, and making the world more desolate. At the same time not understanding that Taxes didnt work in the first place with the Finite Resource pool then turning it Infinite when the game was not designed for it which forced the Ore to be made more "Rare and less Propigated" which further compounds the issues since anyone 6 months from now that comes back will likely never play anything higher than a T1-2 version of the game since that is the only ore they will ever get and the progression they will experience. Taxes yet again meant to slow down mega orgs that further creates unbalance since NQ wont get rid of scans and they will instantly take all the tiles worth anything and make more than they are taxed while everyone else experiences the full weight of the tax and forced to pay for it with T1 mats which wont be worth anything since everyone will be doing the same thing with dwindling returns and a limited production of ore since there are more sinks than influx to the system. NQ now making the game based on Ore Per Month to align with their sub model which makes it as such as you now have to mine asteroids once per week or run missions to cover tax, and log in to use charges and beyond that there is no reason to actually play the game. Because of that it makes it so that production of consumables like space gas, warp cells, and even scrap will be in short supply since people will need to sell ore for tax and they will be the only thing worth anything since this update completely negates the need for atomospheric parts since spacestations are not taxed and all content is space based now.  Ore transfers will take a year of subs to get a full container of ore so PvP will suffer even if people are forced to slow boat between planets except for this with ore monopolies which will use warp cells with their ship scanning scripts on XS ships to hunt for anyone to kill until nobody goes between planets except for VR. When people start to default on their taxes and the month after demeter goes live and those people have nothing to come back to there is no need to play at all and they will tell their friends to write this game off. Which will force NQ to knee jerk forced updates like Territory wars since nobody is playing, building, moving ore, traveling, fighting, and those with ore monopolies roll over everything that still remains its game over since there is litterally nothing left and you let them win the game long ago.  
    There are no moves left NQ is willing to do that can take them out of checkmate, they simply just dont have a budget to rebuild the game from the ground up. They have developed themselves into a corner starting with the conception and direction JC took this game down.
     
    And with the comment of we dont want to cut the baby in half it shows that NQ will never reign in mega orgs that have and will continue to kill the game since NQ knows where their bread is buttered and keeps feeding them. Funny since most of them are likely alpha backers who will never pay them a cent through their packages and armed with 3 beta keys that wont pay them until launch.
     
    The taxes are aimed at them since they have been spoon fed this whole time by the devs who dont know how to punish them properly to slow them down and arbitrarily do things like say "hahaha boohoo you dont want to pay taxes" and at the same time hand them all the resources and prevent everyone else from getting them going forward or progressing beyond a T2 version of this game since the ore is rare and even sparse then before and all the metadata they are using is based on them with a flat tax when misunderstanding they are handing them all the T3+ ore which makes all their tiles profitable since everyone else will be sitting on T1 tiles and lucky if you can even find a T2 ore tile and stuck with all the taxes aming it not worth putting down a TU.
     
    The real issue nobody is even considering is that because the planets and moons are all voxel based and not a static mesh the Voxel construct of the planetary bodies no longer matters at all and it was the sole reason we are stuck in a cramped solar system in the first place since it is not feasable to have anything beyond it and so we are just grasping at straws and trying to punish ourselves even more for no reason. If there were multiple solar systems, deep space, or a universe to spread out in none of this would matter. But the plan was always to ransack this solar system and then open up jump gates you can spawn camp so that mega orgs could have their own solar system to themselves and wield infinite ore against the server anyhow which always sounded dumb to begin with when everyone is stuck with a picked over carcass to fight back with.
     
    The only thing that will save this game is a full rebuild from the ground up but seeing the mediocre dev team they have and the things they are deadset on actually making seem to me they are incapable of doing that unless they clean house and bring in actually MMO developers.
  5. Like
    Samedi reacted to EasternGamer in Lua Suggestion (General Function Structure + Camera Data)   
    Intro
    With the recent dev-blogs, I feel like there's been a change in attitude with Lua. Before, we basically never got changes to it or the changes were very minimal/incomplete. (*cough* character orientation *cough*)
    But, now that we're adding a bunch of functions to Lua, so much so that it's starting to get cluttered with really long function names, I think a general structure change should occur. A perfect example is camera data.

    Structure Change
    The core unit, control unit and system basically are filled to the brim with functions that don't really related to them, especially system.
     
    So, here I go with what I believe should happen:
    The creation of a "Construct" default slot. (No links required)
    The creation of a "Player" default slot. (No links required)
    The creation of a "Database" default slot. (No links required)
    The creation of a "Elements" default slot. (No links required)

    Construct Slot (moved to)
    This slot will handle everything to do with the construct, and only the construct. As the first dev-blog has shown, a fair number of things are irrelevant of the core, thus it doesn't quite make sense that we should still access the core for them.

    For example, world orientation of the construct is irrelevant to the core, and even ordinary orientation is irrelevant to the core since it is based off the orientation unit, a gyro or core.
    However, data which is more core-related remains, like direct calculations/measurements that you would imagine the core making (velocity, acceleration etc.).
     
    Player Slot (moved to)
    This slot will handle everything to do with the master player, the player who has executed the control unit. As you can guess, a fair number of functions are placed on the unit because of this. But, it sort of makes little sense beyond the fact that the player activated, not to mention to access any player related info, they want to prefix every function with MasterPlayer, a perfect example of how absurdly long it is getting is unit.getMasterPlayerWorldForward(), now tack on camera to it... unit.getMasterPlayerCameraWorldForward(). You get the point.
     
    Database Slot (moved to)
    This will consolidate any thing that essentially accesses a database, static or otherwise, for instance getting the player name, position, etc. It will be similar to the Lua version in our files, but be entirely made of native code, instead of Lua. This should help with Database.lua's semi-redundancy and inefficiency, aside from code length contraction.
     
    Elements Slot (moved to)
    This will consolidate any general element function that is normally accessed by the core. This will remove the need to basically prefix stuff with getElementDATAById(uid)
    Instead, you will simple say getDATAById(uid) or getDATA(uid)
     
    Keys
    Bad Name* (Italics, suffixed by one or more light yellow asterisks, name requires a change for consistency reasons)  ? Dev Blog Addition (Bold, prefixed by "New" emoji) moved to (Colour coded, moved to another slot) Suggested Addition (Bold, green)
    Core
    getData() getConstructMass() getConstructIMass() getConstructCrossSection() getMaxKinematicsParametersAlongAxis(taglist,crefaxis) getConstructWorldPos() getConstructId()  ? getConstructName()  ? getOrientationUnitId() getWorldAirFrictionAngularAcceleration() getWorldAirFrictionAcceleration() spawnNumberSticker(nb, x, y, z, orientation) spawnArrowSticker(x, y, z, orientation) deleteSticker(index) moveSticker(index, x, y, z) rotateSticker(index, angle_x, angle_y, angle_z) getElementIdList() getElementNameById(uid) getElementTypeById(uid) getElementHitPointsById(uid) getElementMaxHitPointsById(uid) getElementMassById(uid) getElementPositionById(uid) ? getElementForwardById(uid) ? getElementUpById(uid) ? getElementRightById(uid) getElementIndustryStatus(uid)* getElementTagsById(uid) getSchematicInfo(schematicId) getAltitude()  ? getCurrentPlanetId() g()** getWorldGravity()*** getWorldVertical()**** getAngularVelocity() getWorldAngularVelocity() getAngularAcceleration() getWorldAngularAcceleraton() getVelocity() getWorldVelocity()  ? getAbsoluteVelocity()  ? getWorldAbsoluteVelocity()***** getWorldAcceleration() getConstructWorldOrientationForward() getConstructWorldOrientationRight() getConstructWorldOrientationUp() getConstructOrientationForward() getConstructOrientationRight() getConstructOrientationUp() getPvPTimer() getPlayersOnBoard()****** getDockedConstructs()******* isPlayerBoarded(pid) isConstructDocked(pid) forceDeboard(pid) forceUndock(cid) getBoardedPlayerMass(pid) getDockedConstructMass(cid) getParent() getCloseParents() getClosestParents()  ? getParentPosition()  ? getParentWorldPosition()  ? getParentForward()  ? getParentUp()  ? getParentRight()  ? getParentWorldForward()  ? getParentWorldUp()  ? getParentWorldRight() dock(pid) undock() setDockingMode(mode) getDockingMode() getCoreStress() getMaxCoreStress() getCoreStressRatio() All Events *getElementIndustryStatus() -> getElementIndustryStatusById()
    **g() -> getLocalConstructGravityIntensity()
    ***getWorldGravity() -> getConstructWorldGravity()
    ****getWorldVertical() -> getWorldGravity()
    *****getWorldAbsoluteVelocity() -> getAbsoluteWorldVelocity()  (Swapping the Absolute Prefix with the World prefix sounds better and is probably more consistent)
    ******getBoardedPlayerIds()
    *******getDockedConstructIds()
     
    System
    getActionKeyName(actionName) showScreen(bool) setScreen(content) createWidgetPanel(label) destroyWidgetPanel(panelId) createWidget(panelId, type) destroyWidget(widgetId) createData(dataJson) destroyData(dataId) updateData(dataId, dataJson) addDataToWidget(dataId, widgetId) removeDataFromWidget(dataId, widgetId) getMouseWheel() getMouseDeltaX() getMouseDeltaY() getMousePosX() getMousePosY() getThrottleInputFromMouseWheel() getControlDeviceForwardInput()* getControlDeviceYawInput() getControlDeviceRightLeftInput()** lockView(state) isViewLocked() freeze(bool) isFrozen() getTime() getActionUpdateDeltaTime() getPlayerName(pid) getPlayerWorldPos(pid)   ? getOrganizationName(oid)   ? getOrganizationTag(oid) getWaypointFromPlayerPos() setWaypoint(waypointStr) getScreenHeight() getScreenWidth() getFov() print(msg) logInfo(msg) logWarning(msg) logError(msg) All Events *getControlDeviceForwardInput ->getControlDevicePitchInput
    **getControlDeviceRightLeftInput ->getControlDeviceRollInput
     
    ControlUnit
    exit() setTimer(timerTagId, period) stopTimer(timerTagId) getAtmosphereDensity() getClosestPlanetInfluence() ? getMasterPlayerPosition() ? getMasterPlayerWorldPosition() ? getMasterPlayerWorldForward() ? getMasterPlayerWorldUp() ? getMasterPlayerWorldRight() ? getMasterPlayerForward() ? getMasterPlayerUp() ? getMasterPlayerRight() getMasterPlayerId() getMasterPlayerMass() getMasterPlayerParent() ? getMasterPlayerOrgIds() setEngineCommand(...) setEngineThrust(taglist, thrust) setAxisCommandValue(axis, commandValue) getAxisCommandValue(axis) setupAxisCommandProperties(axis, commandType, targetSpeedRanges) setupControlMasterModeProperties(controlMasterModeId, displayName) getControlMasterModeId() cancelCurrentControlMasterMode() isAnyLandingGearExtended() extendLandingGears() retractLandingGears() isMouseControlActivated() isMouseDirectControlActivated() isMouseVirtualJoystickActivated() isAnyHeadlightSwitchedOn() switchOnHeadlights() switchOffHeadlights() isRemoteControlled() activateGroundEngineAltitudeStabilization(targetAltitude)* getSurfaceEngineAltitudeStabilization()* deactivateGroundEngineAltitudeStabilization()* computeGroundEngineAltitudeStabilizationCapabilities()* getThrottle() setSignalIn(plug, state) getSignalIn(plug) All Events *I got no idea what to replace those with, but the names are just weird, what's a surface engine, ground engine? Function name is super long.
     
    Construct
    getWorldOrientationForward() getWorldOrientationRight() getWorldOrientationUp() getOrientationForward() getOrientationRight() getOrientationUp()  getWorldPos() getId() ? getName() ? getOrientationUnitId() getMass() getIMass() getCrossSection() getLocalGravityIntensity()  
    Elements
     getIdList() getNameById(uid) getTypeById(uid) getHitPointsById(uid) getMaxHitPointsById(uid) getMassById(uid) getPositionById(uid) ? getForwardById(uid) ? getUpById(uid) ? getRightById(uid) getIndustryStatusById(uid) getTagsById(uid) getElementById(uid)  
    Player
    getId() getMass() getParent() ? getOrgIds() lockView(state) isViewLocked() freeze(bool) isFrozen() getFov() getHorizontalFov(bool) getVerticalFov(bool) getHeadlampState() setHeadlampState(bool) isSeated() getSeatId() getCameraView() getCameraWorldForward() getCameraWorldUp() getCameraWorldRight() getCameraWorldPos() getCameraLocalForward() getCameraLocalUp() getCameraLocalRight() getCameraLocalPos() ? getBodyPosition() ? getBodyWorldPosition() ? getBodyWorldForward() ? getBodyWorldUp() ? getBodyWorldRight() ? getBodyForward() ? getBodyUp() ? getBodyRight()  
    Database
     getPlayerName(pid) getPlayerWorldPos(pid) ? getOrganizationName(oid) ? getOrganizationTag(oid) getSchematicInfo(schematicId) getPlayerById(pid) getMasterPlayer() getOrganization(oid) getConstruct(cid)  
     
     
    Camera Data Explanation
    The camera data is pretty straight forward. I made an code example and explanation before this mess, I'll just paste that here lol.
     
    local player = player --> A tab which virtually represents the "player", it holds player related events and functions. local isSeated = player.isSeated() --> Returns true or false if the player is seated or not. local seatId = player.getSeatId() --> Returns the player seat ID if seated, otherwise nil. local headlampState = player.getHeadlampState() --> Returns the boolean of the avatar headlamp, on or off. player.setHeadlampState(not headlampState) --> Inverts the headlamp state. local camView = player.getCameraView() --> Returns 0 for first-person, 1 for third-person and 2 for fixed third-person. -- Consideration to have is that you can get into third person while using the normal avatar using an emoji. -- Why it is useful is so you can change the HUD you intend on using depending on if you're in those seperate views and if you should listen to mouse input for UI, etc. local camWorldUp = player.getCameraWorldUp() --> Returns the camera up vector in world coodinates. local camWorldForward = player.getCameraWorldForward() --> Returns the camera forward vector in world coodinates. local camWorldRight = player.getCameraWorldRight() --> Returns the camera right vector in world coodinates. local camLocalUp = player.getCameraLocalUp() --> Returns the camera up vector in local coodinates, relative to the build grid. local camLocalForward = player.getCameraLocalForward() --> Returns the camera forward vector in local coodinates, relative to the build grid. local camLocalRight = player.getCameraLocalRight() --> Returns the camera right vector in local coodinates, relative to the build grid. local camLocalPos = player.getCameraLocalPos() --> Returns the camera position in local coordinates relative to the build-grid (construct) center. local camWorldPos = player.getCameraWorldPos() --> Returns the camera position in world coordiantes. --<! Optionally, you could add a relative world position function which is relative to the construct center, but in world coordinates. Though, I feel it would be very niche !>-- --- Lastly, local camHFov = player.getCameraHorizontalFov(true/false) --> Returns the horizontal fov with a boolean parameter to determine if it is returned as a radian or degree format. local camVFov = player.getCameraVerticalFov(true/false) --> Returns the vertical fov with a boolean parameter to determine if it is returned as a radian or degree format.  
     
    Final Structure (No Formatting, mainly for glancing to see roughly the impact)
     
    Core
    getData() getMaxKinematicsParametersAlongAxis(taglist,crefaxis) getWorldAirFrictionAngularAcceleration() getWorldAirFrictionAcceleration() spawnNumberSticker(nb, x, y, z, orientation) spawnArrowSticker(x, y, z, orientation) deleteSticker(index) moveSticker(index, x, y, z) rotateSticker(index, angle_x, angle_y, angle_z) getAltitude()  getCurrentPlanetId() getConstructWorldGravity() getWorldGravity() getAngularVelocity() getWorldAngularVelocity() getAngularAcceleration() getWorldAngularAcceleraton() getVelocity() getWorldVelocity()  getAbsoluteVelocity() getAbsoluteWorldVelocity() getWorldAcceleration() getPvPTimer() getBoardedPlayerIds() getDockedConstructIds() isPlayerBoarded(pid) isConstructDocked(pid) forceDeboard(pid) forceUndock(cid) getBoardedPlayerMass(pid) getDockedConstructMass(cid) getParent() getCloseParents() getClosestParents() getParentPosition() getParentWorldPosition() getParentForward() getParentUp() getParentRight() getParentWorldForward() getParentWorldUp() getParentWorldRight() dock(pid) undock() setDockingMode(mode) getDockingMode() getCoreStress() getMaxCoreStress() getCoreStressRatio() All Events  
    System
    getActionKeyName(actionName) showScreen(bool) setScreen(content) createWidgetPanel(label) destroyWidgetPanel(panelId) createWidget(panelId, type) destroyWidget(widgetId) createData(dataJson) destroyData(dataId) updateData(dataId, dataJson) addDataToWidget(dataId, widgetId) removeDataFromWidget(dataId, widgetId) getMouseWheel() getMouseDeltaX() getMouseDeltaY() getMousePosX() getMousePosY() getThrottleInputFromMouseWheel() getControlDevicePitchInput() getControlDeviceYawInput() getControlDeviceRollInput() getTime() getActionUpdateDeltaTime() getWaypointFromPlayerPos() setWaypoint(waypointStr) getScreenHeight() getScreenWidth() print(msg) logInfo(msg) logWarning(msg) logError(msg) All Events  
    ControlUnit
    exit() setTimer(timerTagId, period) stopTimer(timerTagId) getAtmosphereDensity() getClosestPlanetInfluence() setEngineCommand(...) setEngineThrust(taglist, thrust) setAxisCommandValue(axis, commandValue) getAxisCommandValue(axis) setupAxisCommandProperties(axis, commandType, targetSpeedRanges) setupControlMasterModeProperties(controlMasterModeId, displayName) getControlMasterModeId() cancelCurrentControlMasterMode() isAnyLandingGearExtended() extendLandingGears() retractLandingGears() isMouseControlActivated() isMouseDirectControlActivated() isMouseVirtualJoystickActivated() isAnyHeadlightSwitchedOn() switchOnHeadlights() switchOffHeadlights() isRemoteControlled() activateGroundEngineAltitudeStabilization(targetAltitude) getSurfaceEngineAltitudeStabilization() deactivateGroundEngineAltitudeStabilization() computeGroundEngineAltitudeStabilizationCapabilities() getThrottle() setSignalIn(plug, state) getSignalIn(plug) All Events  
    Construct
    getWorldOrientationForward() getWorldOrientationRight() getWorldOrientationUp() getOrientationForward() getOrientationRight() getOrientationUp() getWorldPos() getId() getName() getOrientationUnitId() getMass() getIMass() getCrossSection() getLocalGravityIntensity()  
    Elements
     getIdList() getNameById(uid) getTypeById(uid) getHitPointsById(uid) getMaxHitPointsById(uid) getMassById(uid) getPositionById(uid) getForwardById(uid) getUpById(uid) getRightById(uid) getIndustryStatusById(uid) getTagsById(uid) getElementById(uid)  
    Player
    getId() getMass() getParent() getOrgIds() lockView(state) isViewLocked() freeze(bool) isFrozen() getHorizontalFov(bool) getVerticalFov(bool) getHeadlampState() setHeadlampState(bool) isSeated() getSeatId() getCameraView() getCameraWorldForward() getCameraWorldUp() getCameraWorldRight() getCameraWorldPos() getCameraLocalForward() getCameraLocalUp() getCameraLocalRight() getCameraLocalPos() getBodyPosition() getBodyWorldPosition() getBodyWorldForward() getBodyWorldUp() getBodyWorldRight() getBodyForward() getBodyUp() getBodyRight()  
    Database
    getPlayerName(pid) getPlayerWorldPos(pid) getOrganizationName(oid) getOrganizationTag(oid) getSchematicInfo(schematicId) getPlayerById(pid) getMasterPlayer() getOrganization(oid) getConstruct(cid)  
     
     
    Ending Notes
    It has taken me literally the entire day doing this, and even then I feel like I've missed a lot because I was literally looking at the entirety of Lua.
    I was planning on explaining all the changes and stuff, but my head is about to explode from doing this the entire day so not gonna. Lol.

    Tbh, if they implemented even a single one of these slots, I would be happy. I don't expect most of it to change.
    I would also, personally, like if these changes came out gradually, if any. I think if camera angles are added though, we must at least get the player slot, or similar global variable because of how long the variable names will end up getting.
     
    Obligatory @NQ-Ligo and @NQ-Deckard, I wish you find this helpful, even if you don't add even 1% of it xD

    Oh, and oops. Kinda broke the "one idea" rule... it's kinda a super idea though. Hope whoever od
  6. Like
    Samedi reacted to Zeddrick in DevBlog: Lua Improvements and Changes - Discussion Thread   
    NP,  I was fairly sure it was an honest mistake.  It was just a quote I didn't really want attributed to me.  Sorry if my tone made you uncomfortable though. I don't think my first message was particularly aggressive but will tone it down in future nonetheless.  
  7. Like
    Samedi reacted to Zeddrick in DevBlog: Lua Improvements and Changes - Discussion Thread   
    Yes, I did consider doing partial parsing of the string.  However:
    -- I don't like doing things like partial parsing of JSON strings because that sort of code is inherently flaky.  I know you aren't allowed to name a ship "},{constructId=XX,name=YY}" but if you could you would be able to completely break most of the regexp-and-string concatenation types of parsers people would probably make.  And this type of code isn't nescessarily all that future proof against the JSON structure changing and adding more nested data, etc.  I just like to know my code is protected against a lot of things like that.

    -- I'm not just re-constructing the original JSON.  I'm also taking the construct ID, mangling it into a tag and putting it on the front of the name for each element on the list before updating the radar widget.  That would require a reasonably deep parsing of at least part of the JSON so I decided I might as well parse it all and gain the above robustness.

    Building it on a table is sort of viable, but I would need to be able to build the data up completely and not all of the information is there.  For example, one of the fields tells the radar widget how far along identification is.  That isn't exposed in the new API so instead of seeing a progress bar when identifying a target people would see it jump straight to 50% (say), then wait and jump straight to 'identified'.  Also the code isn't that future-proof against new things getting added to the radar data and being used by the radar widget.
     
    Thanks for the response though.
  8. Like
    Samedi reacted to Daphne Jones in DevBlog: Lua Improvements and Changes - Discussion Thread   
    It would be nice if we could get planet positions and sizes too. Like a function that returns data about the most influential planet/moon atm (by gravity). Yeah, I have a script that has those hard coded too, but that's gonna be f-ing useless when the next system comes in.
     
  9. Like
    Samedi reacted to AstronIsTaken in DevBlog: Lua Improvements and Changes - Discussion Thread   
    Can you give an example what database.getPlayer(<int> pid) returns?
     
    Will it return information about skills? If not, please add it to this or different method. It would allow to greatly improve resources like du-craft.net which I maintain
  10. Like
    Samedi reacted to EasternGamer in DevBlog: Lua Improvements and Changes - Discussion Thread   
    Yes, but that is general game design and I decided to reference some already upvoted posts there. I'm not sure why they abandoned it, maybe something to do with JC leaving, but Lua is a little different. We have a Github to bring attention to Lua stuff. So far, some bugs we caught have been fixed and some of the things on the Github have been added.

    Now we're allowing NQ Lua team to see what people want the most, and probably by that and how difficult it is to do (or implications of doing it), they will go by it.
  11. Like
    Samedi reacted to hdparm in DevBlog: Lua Improvements and Changes - Discussion Thread   
    The Lua atlas will be useful. But, is it a just a .lua file in Game/data/lua, which has to be updated manually (or with a script) by someone from NQ? It may be better (more future-proof) to have a system function that would generate the atlas at runtime from game data.  system.getPlanetAtlas() could even return a JSON string, as the scripts would only need to parse it once.
  12. Like
    Samedi reacted to EasternGamer in DevBlog: Lua Improvements and Changes - Discussion Thread   
    Hello there. In case anyone missed it, I'm running a poll for basically what NQ should probably work on next. Of course, they probably won't go adding a major feature out of the blue, but it should help them know what to prioritize.

    Link: https://strawpoll.com/vk4u24pfd

    I also linked discussions on each item, so if you haven't already, vote. You might be able to shift some stuff.
    Currently 33 voters, I'm sure there are more of you out there.
  13. Like
    Samedi reacted to Zeddrick in DevBlog: Lua Improvements and Changes - Discussion Thread   
    Every time I write LUA for DU I wish they'd chosen JS instead.  LUA is just wierd, I regularly use about 10 different programming languages and none of them are like LUA when it comes to the basic syntax (which seems to derive from Pascal?).  WASM is an interesting concept, but I don't know how easy it is to extend a WASM engine with plugins so you can implement things like the element object API, etc and have it invoked from whatever language compiled to WASM?  With WASM you might be able to have LUA compiled to it so you could keep compatibility with existing scripts.

    But don't you think that this is just a product of DU's age?  Wasn't the project started in 2012 when LUA was a much smarter choice?  Sometimes when developing software you have to keep running with the things you already made and build on top of those rather than re-making things you already made.  Do you think NQ should spend a large amount of time changing out their scripting engine now rather than implementing new game features or fixing the in-game systems they already have?  And is it really worth making people re-write scripts and possibly learn a whole new language?

    IMO this is something to re-visit later when the game is finished and making money ...
  14. Like
    Samedi reacted to Zeddrick in DevBlog: Lua Improvements and Changes - Discussion Thread   
    OK, so there are two things here.  Firstly, LUA in DU is not like the LUA in WOW.  In DU the lua is part of a construct which can be killed, cored and taken by someone else.  And without DRM *the person who takes the construct gets your scripts* when they kill your ship.  Or they might get the scripts belonging to whoever gave you them, etc.

    However DRM doesn't really enable you to sell scripts at all (outside of certain special situations where you trust another player a lot) because it doesn't work for scripting.  The DRM owner of a script is whoever deployed the original construct and built the ship.  It's not the person who wrote the script.  So as a script writer you either become a ship builder too and sell ships or you're SOL when it comes to selling scripts because you can't have any DRM protection at all on them.  You can't even put PvP scripts you write on your own PvP ships unless you built them from scratch because you have to ask the original owner to enable DRM, then every time you want to change your own script you have to ask them to come do it again.  Or you can fly without DRM and if someone kills you then they get to take your PvP script and they can sell it to other people if they want.
     
    The whole thing is miserable.  I'm waiting for NQ to do it properly before I even think about selling scripts.  Until then my scripts are for me only.
     
  15. Like
    Samedi reacted to Novean-32184 in DEVBLOG: INSIDE ARES, PART TWO - Discussion Thread   
    No, NQ should bring in proper power/energy management so that an underpowerd ship would need to drop shields to enter warp while a properly designed ship can spool up warpdrives with shields active.

    NQ is still trying to deal with the technical debt they built up over the past 4 years and that pile is enormous. I doubt they have the capacity to even consider power management at this time as they have never accounted for it in their design and woudl need to goio in and rework pretty much everything to make it work properly. IMO, what's more likely is we'll see a "Core stress" like bolt-on "solution" instead (eventually).
  16. Like
    Samedi reacted to GraXXoR in A few UI Design tips.   
    This game is affected by text processing problems that were solved in the 90s.
     
    but since the UI has undergone zero meaningful change since they apparently let the interns loose on it a year or so back and made everything take up twice as much space and require twice as many clicks, I’m not going to hold my breath for any improvements to be made. 
     
    They really need to rework the UI from the ground up, it’s a hodgepodge of legacy code, some that clearly dates back to the very first “release!”
     
     
  17. Like
    Samedi reacted to Splutty in A few UI Design tips.   
    And for god's sake, just use NORMAL editing functionality. Arrow keys to move around, ctrl-a to select everything, home and end to go to the beginning and end, drag select to select part of the text so you can *replace* it while typing.....
     
    And stop screwing up the input box whenever the list of whatever you're searching refreshes
     
  18. Like
    Samedi reacted to Ving in The new Chair Surface...great idea, terrible implementation.   
    Totally. The slouched, off-centered pilot view is infuriating. Most of my ships have 1st person cockpit designs, and I spend a lot of time adjusting the position of the glass / screens / chair to get the best, unobstructed view. Now the view in all my ships is skewed ?
     
    This is one reason why I think DU will ultimately fail as a game, not because of this one issue, but because this just demonstrates how out of touch NQ are with their target audience. Building with voxels takes a lot of effort, and I would guess that most people that spend large amounts of time building ships have some perfectionist / OCD leanings. For NQ to only provide one Command Chair, and then off-set its 1st person view for the sake of copying a famous seating position from a popular franchise shows that they don't understand the players, in my view.
     
    I've raise a number of bug reports about this, but nothing has changed. They could easily just make Command Chair #2 with the original, symmetrical, centered, seating position. Instead we get a completely useless Chair Surface ?
     
    The attached image was sent in with my last bug report.  There is no way to get this screen centered on the target (unless ofc you use a hover seat, which doesn't have the same functionality as the Command Chair).

     

  19. Like
    Samedi reacted to CptLoRes in We are waiting... why have we not got this NQ YET..... Explain   
    Exactly. After the so called "testing and feedback" stage in pre and alpha where I and other players submitted countless rapports on bugs and issues, only to be completely ignored. My motivation to spend time trying to "help" NQ with bug rapports is literally zero. You reap what you sow and all that..
  20. Like
    Samedi reacted to SirJohn85 in We are waiting... why have we not got this NQ YET..... Explain   
    I would like to add at this point that the tech tree was not in closed alpha, just like the easy build mode. We did not have the opportunity to give our feedback on it.  
    But to pick up on your initial point, that's what I've always said: The players will forgive you if you live flawless communication like the other company over 2 years and treat your players like real customers. 
     
    I gave my feedback on the translations a couple of days just before early access what people were doing and the dev in charge, who you usually never see talking in discord, spoke up. She took note, took my suggestions seriously and communicated the changes that were coming.
     
    If I then compare this with NQ, where I commented that the org changes (as they were originally planned) would not work as they were (as an example, I took 2 people who want to collaborate together and would need a 3rd person to run this alliance), I got the answer: "It's a multiplayer game". Planned changes or that my point of view would be taken into account? Not a chance.
     
    It then took 3 weeks to communicate that they had listened to "big" orgs and are postponing it. In the end, I feel slightly fooled. So why continue to give my input?
  21. Like
    Samedi reacted to CptLoRes in We are waiting... why have we not got this NQ YET..... Explain   
    Speaking of that other game. One their forums currently one of the hottest topics is about how the crafting system is to slow.
     
    And..  The developer responsible for the system actually responded directly in the forum. Explaining the rationale behind the system, what went wrong, and how they plan to fix it. And that response came only a week after the thread was started, despite what I imagine must be a very busy time for them.
     
    After years dealing with NQ, that blew my mind. I don't care if there are bugs and design issues in early access, that is to be expected. It is how the devs/company respond and deal with the problems that matter.
     
    Or in the case of NQ, how they don't respond, and just continue doing their own thing. Regardless of how much player feedback and testing suggest it is a bad idea. And then once the dev time has been spent and the predicted (by players) damage has been done, and people are rioting. Start backpedaling with quick fixes that degrade the overall game by making it even more janky.
  22. Like
    Samedi reacted to Bazzy_505 in We are waiting... why have we not got this NQ YET..... Explain   
    I would very much like to believe that, but the circumstances of Hello Games and Novaquark were quite different.
    By the time Hello Games started working on NMS, they had already shipped 3 games, so it's not too much of stretch to say they have had a small, but fairly experienced team to work with. Most of the launch troubles of NMS were due to not having experience working on project of that magnitude, consequently falling behind the production schedule,  which led to having to choose between releasing what they had at the time or go bust.
     
    In Novaquark's case it's a team that has never realeased a commercial title, led by someone who had no experience making any game indie, hobbyst or commercial.  To make things even more complicated, they decided to license a rather obscure game engine with no proven track record, besides a few simulations and couple of obscure games that have not even been released at the time.  Add a rather play it by the ear approach to design, NQ setup really has Sisyphean quality to it. 
     
    If you think about it, with the way they stacked their own deck, it's quite a miracle NQ managed to release anything at all.  Like quite a few of you i did enjoy DU for a while but at some point i realized DU really is as wide as an ocean and as shallow as a pond. And it's hard for me to see it changing with NQ's  unique talent of spending incomprehensible large share of their time digging themselves out of countless holes, instead of spending a little extra time on avoiding jumping into those very holes in the first place.
  23. Like
    Samedi reacted to CptLoRes in We are waiting... why have we not got this NQ YET..... Explain   
    It is kinda telling when this forum as sad as it is, is giving me more entertainment then playing the game.
  24. Like
    Samedi reacted to NQ-Deckard in Upcoming Organization Changes   
    We’re making some changes to the way organizations work. 
     
    Currently, organizations can cascade within themselves thus making it possible to create a near-infinite multitude of sub-organizations. This poses a problem from both a design and cost perspective as it removes any form of scaling limit to the amount of constructs and organization that can be in the game. It also leaves the door open for various ways to circumvent limitations needed for balancing. 
     
    These changes will address these issues as well as clear up a number of anomalies that are affecting some existing organizations. They will be included in the 0.26 update, which gives you more than a month to reorganize as needed. 
     
    New regulations for organizations will be:
    Each organization must have a player as its super legate. An account can only be the super legate of one organization. Nested organizations will still be possible but will require a player as super legate of that organization, and that player cannot also be the super legate of the parent organization.
      To ensure a smooth transition and have things set up the way you prefer, we encourage you to restructure your org(s) accordingly. Organizations that have not been updated will undergo an automated modification process. This will be done in a prioritized order as described below. 
     
    For players that are the super legate of multiple organizations:
    One organization will be selected as the player’s primary organization according to the following parameters: The number of players in the organization. The number of constructs in the organization. The age of the organization. The player will become a designated legate for any other orgs to which they belong.
      To address situations where an organization is nested within another so that there is no player designated as super legate, these are the solutions we’ll pursue: 
    The legate with the most seniority that is not already a super legate of an organization and has connected over the past month at the time of the change is promoted to super legate. If no legates exist, the oldest member that is not already a super legate of an organization and has played within the past month at the time of the change is promoted to super legate. The oldest legate that is not already a super legate of an organization is promoted to super legate. The oldest member that is not already a super legate of an organization is promoted to super legate. If none of the above apply, the organization will be disbanded.
      Constructs and territories for any properly structured organizations or organizations that are assigned a new super legate will be unaffected and remain in ownership of that organization. The constructs and territories of disbanded orgs will be reassigned to the first former super legate in the chain of organization parenting. Any other construct will be abandoned, and territories will be unclaimed.

     
  25. Like
    Samedi reacted to NQ-Naerais in Play Nice   
    Dear Noveans, 
     
    We’d like to take a moment to talk about the communication on the forums and in Discord. We appreciate the passion each of you bring to our community and don’t want to diminish it; however, we’ve seen an increase in negativity, specifically attacks, unconstructive complaints, and disrespect to fellow players and our team. This is not okay. 
     
    We’ve always invited community members to speak their minds. We’d like to remind everyone that we require a certain level of decorum and respect. Participants in our community areas (forums, Discord, and our social media accounts) are expected to voice criticism and concern constructively and communicate with courtesy and respect.
     
    This is a warning that we won’t tolerate attacks on staff, volunteers, or members of this community. If you can’t play nice, and with respect, then this isn’t the community for you. 
     
    With love,
    SpaceMom
     
×
×
  • Create New...