Jump to content

NQ-Wanderer

Staff
  • Posts

    134
  • Joined

Everything posted by NQ-Wanderer

  1. Hello, Noveans! Let us know your thoughts on the upcoming PTS event!
  2. Are you ready for some PTS fun? Then join us on April 1st for our Fool’s Defense event! Think you have what it takes to take down our Novaquark space station? Will you dare to be so bold as to attempt to try and destroy a station that has a Novaquark crew commanding it? We dare you, in fact we triple dare all of you to try your best shots! When: Friday, April 1st 14:00 UTC Where: PTS Server Who: All Noveans are welcome HOW THIS EVENT WORKS Come test the Athena update with the devs! Join us on the PTS server at 14:00 UTC on April 1st. (Not a joke) Upon logging in to the PTS server, players will need to head to one of these locations: Alioth’s Institute facility (::pos{0,2,28.9207,95.1440,285.7015}) in order to teleport to PvP Platform 1 (::pos{0,0,-2064601.9141,-1118885.7306,-120876.5855}) where you will be able to claim a ship, weapons and ammunition there to prepare for the fight to come! From there, you’ll be able to get equipped and meet up with your team members, or create your own groups to organize your plan of attack and prepare for the battle. Alternatively, you can bring your own ships to recruit a team or bring your friends! Be aware and plan for sabotage or traitors, willing to take on the community in defense of NOVAQUARK! Remember, this will be in PvP space, where everyone is fair game. A Resurrection Node will be publicly available to all, at the PvP Platform. PRIZES, WHAT ABOUT PRIZES? Winner(s) will then have a chance at spinning the Wheel of Foolish Fortune for their chance at some great (and not so great) prizes. The wheel will randomly decide! The items rewards will be given on the regular beta server. Stay foolish, captains! Give us your thoughts on this event here!
  3. Hi, Noveans! We'd love to read your thoughts on Athena hitting the PTS!
  4. You won’t want to miss a moment of the action when the Athena update hits the Public Test Server (PTS) on Friday, April 1st from 09:00 UTC to April 4th 09:00 UTC. Athena is the last major update (there might be several significantly smaller ones though) before the official release, with many features to look forward to, including some that will add extra spice for PVPers. The PTS preview means that if you have a Dual Universe subscription, you can get hands-on with the new content and improvements before they are introduced on the Live server. Not only that, but you can also use this opportunity to give us your constructive feedback. The more feedback we have from you, the better we can fine-tune the update! With Athena being the last major update before the official release, we are aware you might have many questions about the future. In the coming weeks, we will have more information for you on some of the most discussed questions you might be wondering about. This includes long time topics such as will there be a wipe at official release, Avatar vs. Avatar and DAC implementation. We appreciate your patience and we will have the answers for you as soon as we can. During the PTS weekend, the Design team would appreciate your feedback on these features of Athena: The new space warfare system centers around alien core units that will spawn in PvP zones and can be located via space radars. These are resource-generating facilities, like space mining points, that can be claimed by players and organizations. Once you’ve claimed them, accumulate resources and fight for its control! Space mining units and relic plasma collectors may be crafted, purchased, and sold. They will be used to extract the resources from alien core units. Stasis weapons are used to reduce the maximum velocity of targeted ships, a measure towards bringing better balance to PvP. Big armored ships with powerful space engines will no longer have the advantage that allowed them to easily escape more agile smaller designs. Stasis weapons can be crafted like other PvP items. They use their own specific amunitions, which can also be crafted. We are also altering the behavior around a construct’s maximum speed. Constructs’ mass will now impact their speed; the heavier the ship, the less its maximum speed will be. Thus, smaller ships will be able to catch up bigger ones despite the latter having bigger engines than the former. Other key beats of Athena include: A revamped FTUE to provide a better, more easily comprehensible starting experience for new players. We want to give new players all the information they need to settle into DU with a solid foundation. The FTUE is accessible on Haven, a new moon which is forever in a safe zone, out of PvP battles. A brand-new system map (F4 > "System" tab), to explore the star system of Helios. With 3D models and precise positions in space of your constructs, planets, alien core units, points of interests, better tools to navigate the map, set warp waypoints properly in addition to destination waypoints, and more! New skybox and stars rendering improvements that you’ll see as soon as you leave the atmosphere. Improved water visuals (on every planet containing it), as well as better flashlight visuals. We are adding Mining Units Lua API, for you to customize how you want to monitor your mining activities, accessible from the Codex (F1). Athena will also introduce Dual Universe first space market! You’ll be able to shop without making planetfall, directly from your ship. Head to the center point of the safe zone, between Alioth, Madis and Thades. Happy shopping. For more information on the PTS, including how and where to access it, head here. We hope you’ll enjoy trying all Athena has to offer. Your feedback has proved invaluable and has helped us in improving Dual Universe. Please share your thoughts here!
  5. Greetings, Noveans. We would like to hear your feedback in this thread on the announcement of Athena update on the roadmap!
  6. Can you hear that low rumble tumbling across the sky? It’s the goddess of war and wisdom, and she’s bringing the heat. Slated for the end of Spring, the Dual Universe Athena update heralds a new tidal wave of conflict that will set Helios ablaze. For peace-loving Noveans uninterested in warfare, Athena also includes a completely overhauled First Time User Experience (FTUE), a Space Market, and a variety of visual upgrades to the game. WHAT’S IN IT Space warfare hits a new stratosphere with the introduction of alien core units that will spawn in PvP zones. Think of them as resource-generating facilities, like space mining points. Players and organizations can claim these points to accumulate resources. But nothing comes free or easy in space. Alien core units must be defended. Do you have the mettle to get this metal? These alien core units also serve additional purposes. The first is to provide fresh new PvP challenges for fighter types, and the second is to reduce the pressure on players who wish to avoid PvP side of DU but still find themselves ambushed by pirates when they step out of the safe zone. To better balance PvP, we are adding stasis weapons and altering the behavior around a constructs’ maximum speed. With these sweet guns, big armored ships with powerful space engines will no longer have an advantage that allowed them to escape more agile smaller designs. Last but not least on the topic of PvP, our voxel team has improved the performances near combat-related explosions, especially the destruction of voxels. We aren’t losing focus on keeping improving our players’ experience in Helios! Shifting gears away from the pew pew pew features in Athena, we have also revamped the FTUE to provide a better, more easily comprehensible starting experience for new players. We want to give new players all the information they need to settle into DU with a solid foundation. Among other features, you can look forward to the following: New space map New skybox and stars rendering improvements Improved water visuals Improved flashlight visuals Mining Units Lua API Space market Element stacking exploit fix The best news of all is that we plan to release a smaller update between now and Athena release to introduce some quality of life improvements. WHAT’S NEXT As usual, we’ll publish a series of devblogs to provide deeper insight into the new Athena features. We hope that you’ll like what you see! Thanks to your constructive feedback, we have fine-tuned and balanced the content of Panacea with overall good results. We hope to see more of the same, so we encourage you to continue engaging with us as you read the upcoming articles. Your ideas and feedback are what will make Dual Universe better. Head over to this thread and let’s chat!
  7. Hello Noveans, Panacea is live! Please continue to share your opinions; we’ll be keeping a careful watch on this forum thread for your comments regarding the Panacea update.
  8. Who better than the goddess of remedy to be the patron of the latest Dual Universe update? Panacea (0.28) has a hardy mix of new features as well as corrective improvements based on player feedback. Let's take a look at it: https://www.youtube.com/watch?v=c1B0s6ttFpg NEW FEATURES AND SYSTEMS Vertex Precision Tool: an easier way to shape voxel. Whether you’re an experienced or novice voxelmancer, you’ll enjoy this powerful new tool that makes building a breeze. Shipwrecks in Space: Your smile will light up even the darkest corners of space when you discover one of these randomly-spawned wrecks. How will you cash in on your big find? Inactive Assets Requisitioning: Not only will this automated system help keep Helios beautiful, it offers lucrative opportunities to salvage abandoned constructs. Organization Constructs Slots: to address an exploit on the soft limitations of construct and territory numbers, the solution we’ve designed, with the feedback of our players, will detach construct capacity rights from organizations and put them directly into players’ hands. IMPROVEMENTS Talents UI: Admire all of your impressive talents in a more efficient way. RDMS UI: The new interface for RDMS management is so fresh, so clean! Camera Lua API: Tap in and access more in-game camera information. Full release notes are available here. KEEP THE FEEDBACK COMING The constructive feedback we receive from our players truly has an incredible impact on the continuing development of DU. Please continue to share your opinions! We’ll be keeping a careful watch on this forum thread for your comments regarding the Panacea update.
  9. Greetings! We would like to read your feedback on our latest DEVBLOG: CONSTRUCTION SLOTS AND STACKED ELEMENTS.
  10. It’s the tale of two stackings that were never meant to be, nested organizations and overlapping elements on ships. Both have been problematic, and we’d like to give you an update on the steps we’re taking to correct them. ORGANIZATION CONSTRUCT SLOTS Several months ago, we suggested a way to address the issue of cascading organizations being created as a way to circumvent the soft limitations of construct and territory numbers. Players raised some valid concerns about the proposal, citing that it would adversely affect how they managed their organizations’ holdings. In consideration of that feedback, we temporarily tabled the proposed changes and went back to the drawing board. The problem remains and needs to be resolved sooner rather than later to avoid a myriad of issues in the future. DU simply can’t support an infinite number of constructs per player. It’s why we have construct allowances in the first place. We needed a solution that would support community projects for organizations of any size without penalizing those that are prolific. After all, one of the core features of DU is to build lots of cool stuff. THE NEW WAY The solution we’ve designed will detach construct capacity rights from organizations and put them directly into players’ hands. Organizations will now have a base construct capacity of zero. The reasoning behind this is to no longer make it a viable option to create countless organizations simply to increase the capacity of constructs available. This will now depend on the next item on the list… Each Novean will have 15 assignable organization construct slots, with an additional 10 available from talents. This change allows us to scale the maximum number of constructs to the number of players. This can be beneficial to smaller organizations because… Players can assign these slots to any organization of their choosing, whether or not they are a member of the organization. We hope to see players use their available organization construct slots to support their organizations and to help support community projects they like. For those who want to support a different organization… Noveans can reassign their slots from one organization to another, though this will cause the former organization to lose construct capacity. This means that... An organization that loses capacity will either need to acquire new slots from players in order to support its infrastructure or reduce its number of constructs. If the organization has more constructs than its allotted slots for two weeks, the organization will receive a warning. If the organization does not either reduce its construct count to below its new allocated slots or increase its slot count two weeks after the warning, random constructs from that organization will become abandoned and lose ownership. At that point, any player or organization who has the necessary allotment of construct slots may claim it. This system allows us to maintain a balance in terms of expected constructs present. Further, to prevent players from trying to circumnavigate the system by reassigning construct slots back and forth every two weeks, there will be a minimum of 30 days before you can reassign the slots away from an organization. USING YOUR TALENTS Many of you likely used talents to increase an organization's construct capacity. Talents will still play a role as they provide an upper ceiling for a single organization’s capacity; however, these talents have been increased in their capacity, which now allows a single organization to have a far higher construct slot maximum. Where the old maximum was 275 constructs, the new upper limit will be 1625. As these changes significantly increase the scale of which these talents previously applied, these talents will be reset at the 0.28 Panacea release. Organization Construct Management Organization Construct Management Specialization Advanced Organization Construct Management Specialization We try to limit the resetting of talents as much as we can; however, due to the considerable changes in the way these talents now behave and scale, we feel that refunding these talents is required. FRESH, NEW UI All the changes revealed above will come with some UI improvements such as: A new interface on the organization home page, allowing each Novean to assign construct slots to organizations of their choosing and to see how many slots they have assigned to which organizations. A new interface called ‘Constructs’ on each organization page, allowing each organization to have insight on how many slots they have available, who they received them from, when the next construct check is due, a log of slot gains and losses, and what their slot maximum capacity and talent maximum capacity are. Another minor feature we will begin to introduce into some select UI elements is the ability to export lists in JSON format, the first of which can be found in the new organization ‘Constructs’ UI above. It will include a small copy-to-clipboard button, which will copy a JSON formatted string containing a list of all the data available in the column. In the above example, these can be found for: Construct Slots: This will return a JSON string of player names, how many slots they have shared, and if they are a member of your organization. Construct Check: This will return a JSON string of constructs that have been abandoned due to lack of construct slots, their coordinates at the time of abandonment, and a total count of constructs that have been abandoned. Log: This will return a JSON string containing the date it was copied as a unit timestamp, the number of allocation changes, followed by a list of players, how many they have lent to the organization and how many the organization has as that point, along with a Unix timestamp of the transaction. Following feedback on these export functions, we will consider implementing them for other UI elements such as, for example, the Talents UI. When the Panacea update launches, it will kick off a 30-day grace period at the end of which the abandonment of constructs will go into effect. Please note that if your organization exceeds its slot capacity, a warning message will be received; however, no abandoning will happen for the first 30 days after Panacea’s release. DISABLING OVERLAPPING ELEMENTS The stacking of elements on ships is unintended gameplay - aka an exploit - that we have been aware of for a regrettably long time. Though we’ve explored a few different options, including the detection solution we released previously, community feedback prompted us to postpone the disabling of elements until after Panacea’s initial release. The revised approach will likely include trials on the Live server without disabling elements in order to measure the impact of the algorithms. We would like to thank everyone who reached out to us with constructive feedback and bug reports of elements that caused problems in specific placements. FEEDBACK WANTED The forums are the absolute best place to share your feedback with us. Although members of the DU dev team may pop into Discord from time to time, the loose and fluid nature of those chat channels can make it difficult to have an earnest discussion. The forums, on the other hand, are static and much more conversation-friendly. All of that said, we hope you’ll join the conversation about this devblog here.
  11. Greeting Noveans. Let us know what you think about our latest devblog, Precision in Building!
  12. In the upcoming 0.28 Panacea update, we will introduce the Vertex Precision Tool (VPT), which adds a whole new way of bringing detail to your creative designs. This all may sound quite complex initially, but once you get used to the tool it’s quite intuitive. If you’ve been holding back because voxelmancy seemed too complicated, now’s the time to give it a try. By allowing you to simply equip the VPT and move the vertex around on a changeable grid, the process of designing with voxels is greatly simplified and far more user-friendly. Here’s a brief demonstration of what the VPT looks like and how it’s used: Heads up! The information in this blog leans heavily into the extremely technical side of things. Those who are into voxelmancy will probably dive in with unfettered joy. If building isn’t your jam, you may wish to stop here and get the TL;DR from one of your builder buddies later. VOXELS DEFINED Much of what you see in Dual Universe was built by players using voxels. The term “voxel” is very generic, a shortened form of “volume element”. Voxelmancy is an advanced form of building that can be quite complex, and there has always been a gap between building with standard geometric shapes and fine-tuned designs. The VPT aims to bring a game-changing bridge for the gap between these building styles. How exactly the voxels are implemented depends a lot on the software that’s being used. In DU, a voxel contains two things: material information and a vertex position information. The material information is pretty straightforward; it is exactly the same as in a pixelated image where there is a material (think of it as a synonym of “color“) for each little square. We use what we call a uniform grid, meaning that voxels are put next to each other in a 3D grid and all have the same size. For example, on a planet voxels are 1 meter long (1m x 1m x 1m) whereas they can be 25 centimeters long (0.25m x 0.25m x 0.25m) on a user construct. It’s exactly how pixels work in 2D images, and you may already be familiar with these kinds of voxels because they are present in games like Minecraft. VERTICES POSITIONS Let’s drill down even deeper into the well of technical stuff. As stated above, voxels contain material information and a vertex position information. The Vertex Precision Tool doesn’t touch materials, so let’s talk about vertices. 3D geometry is composed of vertices, and those vertices are linked together to form faces that will be rendered on your screen. For instance, take a simple single voxel cube. It is composed of one material, but has eight vertices on the eight corners. Since our voxels in DU store both a material and a vertex position, our “single voxel” here is composed of eight voxels because it takes eight vertices to form a cube! This is where it starts getting complicated. We can consider that there are two voxel grids, one is the material grid and the other is the vertex position grid, and the two grids are shifted, dual to each other. There are eight vertices around a material, and there are eight materials (we can consider the void as a special kind of material) around a vertex. So what are we talking about when we talk about a voxel? A little bit of both, depending on the context. Confusing right? We’ll try to be specific and talk about vertices, but remember there is only one vertex per voxel, although one voxel cube is composed of eight vertices (and thus is in reality eight voxels: one with matter and seven without matter.) Take a look at this picture. It is in 2D because it’s easier to understand (and to draw), but this is the same thing in 3D. This image represents a voxel sphere (more like a circle since we are in 2D). The dotted lines are the uniform grid that represent the voxels. At the intersection of those dotted lines, you can have a blue dot, representing a material. So, we have our material grid: either emptiness or a blue material. Inside of all of those cells, there may be a vertex. There is a vertex if and only if all four corners are not the same. If one of the corners is blue and another one empty, it means we have some material change here and thus something to see. So we need a vertex to know where we see the surface. On each of those cells, we have a vertex represented. The vertices are then linked together to form the surface. POSITIONS VALUES Before the Panacea update, you could only get such a sphere with the sphere tool, but with the VTP you’ll now have the opportunity to change the vertex position manually. This raises the question: what coordinate system do we use? In theory, we could use an infinite range of values. For example, we could say that the vertex should be at one third (on a given axis) in between the two materials as shown in the grid, so its value (on this axis) could be 0.333333333. It could also be 0.1415926535, or whatever we want. However, we need to store those vertex positions, and we want to be efficient so that we don’t take too much disk usage so we encode the vertex position (on a given axis) on a single byte. This means we only have 256 different possibilities for a vertex position, but we don’t really need more. A vertex position is a coordinate with three numbers (for the three axes) where all of these numbers are integers (with a maximum 256 different possible integers). So what are those possible values? Before answering that, we need to consider where a vertex can lie. On the sphere representation drawing, you can see that vertices are inside the zone defined by the four surrounding material points. This is indeed where a vertex should be most of the time, although we may sometimes want to overflow a bit, reach a little further than the vertex is supposed to. This will encroach on the zone of the neighbor voxel, but it does not have to be a problem. We decided that a vertex could lie on its one zone, but also the zone of its direct neighbors. On the 2D schematics above, it means that a vertex can be placed anywhere on the nine squares around it. A vertex encoding actually encodes three vertice’s positions. We want to have an encoding for all the important positions, the middle of each of the three voxels and their borders. This means that we need a multiple of six. We’ll use 252 as it is very close to 256. Now let’s see this coordinate system in a picture. The picture below represents four simple cubes in voxels (yellow, red, blue and cyan). We will be talking about the vertex shared by the red and blue cubes. There are actually two of those vertices in 2D, one top and one bottom; let’s talk about the top one. We state that the position it is in in the picture will be 0 (it’s a convention, the one chosen in the Vertex Precision Tool), and above the cubes we showed all the position values this vertex could have So 0 is the position of a vertex in a simple voxel cube. If we move the vertex into position 42 (both the top and bottom vertex of this red-blue junction), then the red rectangle will now be 1.5 times bigger, and the blue rectangle will be half its current size. If we move the vertices to -42, it would be the other way around. Note that all the values between -42 and 42 are the values where the vertex is supposed to be without overflow. This is the zone we described earlier. If we were to move the vertices to value 84, then we would enter the territory of the vertex shared by the blue and cyan cubes. This becomes a little dangerous and could result in strange results. In this example, it would lead to the blue surface to completely disappear and be replaced by the red one. The blue voxel would still exist, it would just have a null volume. And, in the example of these four cubes, if we were to go to a value above 84, it would result in an ill-formed shape because the blue shape would have a negative volume. This would probably create visual artifacts, and we may prevent this situation in the future. ENCODING CHANGE One last note for those who are familiar with voxelmancy. In Panacea, we use an encoding of 253 positions (from -126 to 126), which is different than it has been. We used an encoding of 255 positions (it was from -128 to 128 but previous -128 = actual -126). Since there is no exact mapping between the old encoding to the new one, this means that vertices in your constructs may be shifted up to 1mm (vertices at position 0 will not move, but those at extreme values will move the most). This will probably be unnoticeable, but we wanted to err on the side of caution and share this information. You may wonder, why 253? It is for the reasons explained before, to have those nice -126, -84, -42, 0, 42, 84 and 126 values. The 255 system did not allow for that. We could have chosen 193, so that you could split a voxel in 2, 4, 8, 16, 32, and 64, but that would have meant a huge loss in precision and significantly deformed most constructs. So 253 it is, and you can now split a voxel in 42! USING THE VPT There are exactly 253 positions on a single axis including zero that a vertex can be in due to it being divisible over three voxels. Negative 126, 0, and positive 126. As such, the width of one voxel is exactly 84 positions. And each vertex can be moved exactly 1.5 voxel away from the center position. Thus, the grid on which a vertex is moved is adjustable to a size that covers 1, 2, 4, 7, 14, 21 or 42 positions, 42 being the size of half a voxel. This allows the accurate placement to the finest detail or to quickly scale up and move a vertex by a half, a quarter, a sixth, or a twelfth of a voxel. See the image below to get an idea of the different size grids available to the VPT. Once selected, the vertex cursor can then be moved with: The up, down, left arrow and right Arrow keys for the x- and y-axis. The Page Up and Page Down for the z-axis. The Home key to send the cursor to the current position of the vertex. The End key to send your cursor to the last confirmed coordinates. (This also happens by default when you change vertices.) The Alt+Home key combination to send the cursor to the centered 0,0,0 coordinates. Holding Control+Scroll will adjust the grid size between the available sizes. Left-click confirms the placement and moves the selected vertex to the cursor. The VPT will give you the finest precision possible, no more complex voxelmancy of copy-pasting things around to get a specific shape. You may not use this tool all the time, but when you do you’ll find it exceptionally helpful for fine-tuning. WHEW, THAT’S A LOTTA INFO! Still with us? We know there’s a lot of information to process, but we felt it was worthwhile to share the details with our voxelating community members that would appreciate seeing how the sausage is made (so to speak). We can’t wait to see the cool new stuff Noveans build with the Vertex Precision Tool. As always, we encourage everyone to join the conversation on the forum in this thread. If you have questions about the VPT or want to share your thoughts and tips about voxelmancy in general, that’s the place to go.
  13. Greetings, Noveans! We would like to hear your feedback on our announcement regarding the DU wiki update!
  14. Thanks to the contributions of Dual Universe players, all of them featured on this page, the Dual Universe Wiki has been vigorously updated and expanded. We highly recommend that all Noveans bookmark the page for those times when they need to quickly find the information they need! If you wish to contribute to this ongoing project and help fellow Noveans navigate their journeys across Helios, you can register here for free. We look forward to working with you on the DU Wiki!
  15. Greetings, Noveans! We would like to hear your feedback on our DEVBLOG: TRA$H TO TREASURE.
  16. Wallet feeling a little light lately? Get ready to remedy that when the Panacea update hits, bringing with it two lucrative, quanta-producing possibilities: space wrecks and inactive asset requisitioning (IAR). SPACE WRECKS You’re going about your business, flying through space from one market to another or heading out to join some friends when your radar unexpectedly reveals something. Curious, you move closer to investigate and find wreckage. There’s no indication of who left it behind or why. Finders keepers, right? It’s yours now. And you’ve got some choices to make. DECISIONS, DECISIONS Will you: salvage the ship for materials and elements? tokenize and sell the whole ship? sell the information about where the wreck is located? create a mission to get someone else to salvage it? The decision is all up to you. RADAR AND RARITY No special equipment is needed to locate these space wrecks, your standard radar is enough to detect them. They will spawn randomly throughout Helios. There are five tiers of rarity, with lower-tier wrecks with low-value contents spawning at a higher frequency. The highest-tier wrecks will be harder to find; those who discover and harvest them will be rewarded with high-value materials and elements. INACTIVE ASSET REQUISITIONING This system is being introduced to address one of the chief complaints we’ve heard from Noveans, namely abandoned constructs cluttering up the universe, especially in public markets. The purpose of IAR is to: create salvaging opportunities for players around the game world. ensure cleanliness and performance around markets and other Aphelia zone hot spots. clean up older, unowned constructs. In other words, IAR has the potential to create a less cluttered environment for everyone and a fatter wallet for you. ABANDONED CONSTRUCTS DEFINED Players with a subscription, even if they have not logged in for a while, are in no danger of having their constructs flagged as “abandoned”, with the exception of constructs parked in Aphelia territory as noted below. In effect, constructs belonging to unsubscribed users and not on their owners’ sanctuary zones will eventually lose their ownership, putting them in an abandoned state and making them vulnerable to be salvaged by other players. Likewise, constructs owned by an organization will lose their ownership when the org’s last remaining legate ends their subscription. During the unsubscribe process, players will be reminded that their constructs will be in danger of becoming abandoned. When the constructs lose ownership, a blueprint will be placed in the owner’s inventory should they choose to return to Helios at a later date. TIME’S TICKING When an account becomes inactive due to a canceled subscription, a countdown will begin on all constructs belonging to that account. After a period of time, those constructs will lose their ownership and other players will be able to salvage or capture them. Then, all unowned constructs will have a countdown timer and it will count down from the moment it is unowned, regardless of why they are unowned (PvP destruction, IAR, abandonment, etc.) At the end of this timer, the construct will simply be removed from the game world. The ‘ownership’ timer for unsubscribed players’ constructs is three months (90 days/2160 hours). The timer is the same for organization-owned constructs and begins when the last active legate of the owning organization’s subscription expires. Each time a construct is unclaimed, whether due to an owner’s inactive game account or if abandoned via PvP, a one-month countdown to decay is set and is visible to everyone. If no one salvages the construct, it will be permanently removed from the game. As with most newly introduced systems, this is subject to change in the future depending on the metrics we see as time passes. SPECIAL RULES FOR MARKETS A modified version of IAR will be used on Aphelia territories, including all market zones. Regardless of whether or not the owner is an active subscriber, all constructs on Aphelia territories are subject to IAR. As soon as a player exits their construct in Aphelia territory, a 168-hour (seven-day) abandonment countdown will begin for that construct. This is considerably shorter than the default IAR timer. Once that countdown reaches 0, the construct will lose its ownership. A new countdown timer of 48-hours (two days) before deletion will start ticking. HAPPY HUNTING Will you be among the happy scavengers scouring the skyways and byways for wrecked ships and abandoned constructs? Join the conversation about this devblog here.
  17. Hello Noveans, We would like to hear your feedback on Panacea Lua changes!
  18. As announced last week, the Panacea update is now in development. Today, we’re going to tell you more about the camera Lua API that’s among the many new features and improvements. This addition has been a longtime request from the community. The time for it seemed ripe since the removal of quaternions and the standardization of orientation methods to have a coherent and consistent whole. THE BIG PICTURE This API will allow you to get much more information about the game's camera and the status of the player linked to it. You will be able to get the position and orientation of the camera in the world coordinate system, but it'll also be expressed in the construct local coordinate system. You will find at the end of the devblog the example corresponding to the image. For these changes, we have added under unit: [int] unit.isMasterPlayerSeated(): Checks if the player currently running the control unit is seated. [int] unit.getMasterPlayerSeatId(): Returns the UID of the seat on which the player currently running the control unit is sitting. And so under system: [event] system.cameraChanged([int] mode): Emitted when the player changes the camera mode. [number] system.getCameraHorizontalFov(): Return the current value of the player's horizontal field of view [number] system.getCameraVerticalFov(): Return the current value of the player's vertical field of view [int] system.getCameraMode(): Returns the active camera mode. [int] system.isFirstPerson(): Checks if the active camera is in first person view. [vec3] system.getCameraPos(): Returns the position of the camera in the construct’s local coordinates. [vec3] system.getCameraWorldPos(): Returns the position of the camera in world coordinates. [vec3] system.getCameraWorldForward(): Returns the forward direction vector of the active camera in world coordinates. [vec3] system.getCameraWorldRight(): Returns the right direction vector of the active camera in world coordinates. [vec3] system.getCameraWorldUp(): Returns the up direction vector of the active camera in world coordinates. [vec3] system.getCameraForward(): Returns the forward direction vector of the active camera in the construct’s local coordinates. [vec3] system.getCameraRight(): Returns the right direction vector of the active camera in the construct’s local coordinates. [vec3] system.getCameraUp(): Returns the up direction vector of the active camera in the construct’s local coordinates. We took advantage of these changes to fix an inconsistency between the positions returned by unit.getMasterPlayerWorldPosition and system.getPlayerWorldPosition. These two functions were not returning the same position; they will now return the position of the player's feet. Note: As you may have guessed, the system.getFov function will be deprecated in favor of the consistency of getCameraHorizontalFov. REMOVAL OF WRITING TO THE CLIENT LOG, BUT …. We have decided to remove the ability to write lines directly to the clients log files using Lua. Following a long review, the decision has been made with security concerns in mind as it allowed some nefarious players, for example, to automate mechanics that are not intended to be automated, allowed the creation of bots, and left a door open for players to maliciously inflate the players log files. The following functions are now completely removed: system.logInfo() system.logWarning() system.logError() This feature was never really supported (and notably absent in the codex); however, it is unfortunate that it also impacts less malicious creations. I'm thinking in particular of the audio framework created by the player ZarTaen, used in the popular Arch Orbital HUD flight system, created by the players Dimencia and Archaegeo. For that reason and as a first iteration, we are integrating an API that will allow you to play sounds from Lua. It’s got a very basic functionality now that allows for growth in the future. system.playSound([string] filePath) : Play a sound file from inside the audio folder in your user folder. Only one sound at the same time. system.stopSound(): Stop the playing sound. For obvious reasons, the playing of sounds is restricted to control units that are run explicitly by pressing F on them. You will find the user folder in the same folder where you will find the holograms or screenshots folder. Said folder can be found by navigating to “My Documents/NQ/DualUniverse/audio”, and sub folders can be used to organize and bundle audio files. CONCLUSION As always, we hope you like these new features. Please feel free to come and share your thoughts and ideas, and let us know what Lua-related improvements you would like to see in the future. NQ-Ligo looks forward to chatting with you in this forum thread! THE CAMERA API EXAMPLE Below is an example of Lua code using the new API for the camera. This example allows you to parse the element you are looking at and get Lua information such as the element name, class, methods and fields. To use this example, you will need to link to a controller (e.g. a programming board) and name two slots ‘core’ (for the core unit) and ‘slotIndustry’ (for an industrial unit in this example). Under unit.start --Declaration of globals tooltip = {name="",class="", dist=0, methods={}, fields={}} target = nil slotIndustry.size = 1.25 --Setup the size of the linked industrie element, with the slot named slotIndustry --Custom function declaration function isLinked(id) for k,s in pairs(unit) do if type(s) == 'table' and s.getId and s.getId() == id then return true, s end end return false end --Initial setup system.showScreen(1) unit.hide() unit.setTimer('compute',0.02) Under unit.tick(‘compute’) --Declaration of local math functions local acos, tan, sqrt, deg = math.acos, math.tan, math.sqrt, math.deg --Get elements on the construct and useful positions local ids = core.getElementIdList() local ppos = vec3(unit.getMasterPlayerPosition()) local cpos = vec3(system.getCameraPos()) local cFwd = vec3(system.getCameraForward()) --Set tooltip info by defaults tooltip = {name="",class="", dist=0} target = nil --Iterate on all elements ids for k,id in pairs(ids) do local pos = vec3(core.getElementPositionById(id)) local dir = pos-cpos local dist = dir:len() local angle = dir:angle_between(cFwd) local r, el = isLinked(id) --Check if the player is looking at the element if el and angle < tan((el.size or 0)/dist) or angle < tan(1/dist) then --Register default data info tooltip.name = core.getElementNameById(id) tooltip.class = core.getElementTypeById(id) tooltip.dist = dist tooltip.methods = {} tooltip.fields = {} --If the element is linked scan the methods and fields of the element if r then local km, kf = 1,1 for key,p in pairs(el) do if type(p) == 'function' then tooltip.methods[km] = {name = key, value = ''} km = km+1 else tooltip.fields[kf] = {name = key, value = p} kf = kf+1 end end --Sort the methods and field by alphabetically table.sort(tooltip.methods, function(a,b) return a.name < b.name end) table.sort(tooltip.fields, function(a,b) return a.name < b.name end) end end end Under update: --If not looking at any element, do not draw on update if tooltip.name=="" then return end --Compute the tooltip frame height local height = 90+ (#tooltip.methods + #tooltip.fields)*14 --Build the interface in SVG local svg = { [[<style>* {border:1px solid red} #node{ transform: translate(50%, 50%);} svg {position: absolute; left:0px; top:0px;}]], [[text {font-size:1vh; text-anchor:start; fill:#ccc}]], [[text#eName {font-size:1.25vh; fill:#fff}]], [[text#eClass {fill:#ccc; }]], [[text.pName {fill:#fff; }]], [[text.pValue {text-anchor:end; fill:#ccc; }]], [[</style>]], [[<svg width=100% height=100% viewBox="0 0 1920 1080"> <g id="node">]], string.format([[<rect x=150 y=%.2f fill=rgba(0,0,0,0.5) width=300 height=%.2f />]], -height/2, height), string.format([[<text id="eName" x=160 y=%.2f >%s</text>]], -height/2 +20, tooltip.name), string.format([[<text id="eClass" font-style="italic" x=170 y=%.2f >%s</text>]], -height/2 + 40, tooltip.class), string.format([[<text id="eName" x=160 y=%.2f >Methods</text>]], -height/2 + 60) } --Compose the list of methods of the element local cSVG, yMethods = #svg, 0 if tooltip.methods then for k,m in pairs(tooltip.methods) do yMethods = -height/2 + 60 + k*14 svg[cSVG+k] = string.format('<text class="pName" x=170 y=%.2f >%s</text>', yMethods, m.name ) end end cSVG = #svg+1 yMethods = yMethods +20 svg[cSVG] = string.format([[<text id="eName" x=160 y=%.2f >Fields</text>]], yMethods) --Compose the list of fields of the element if tooltip.fields then for k,f in pairs(tooltip.fields) do local sValue = "" local yFields = yMethods + k*14 if type(f.value) == 'number' then sValue = string.format('%.4f', f.value) elseif type(f.value) == 'boolean' then sValue = string.format('%s', f.value and 'true' or 'false') elseif type(f.value) == 'string' then sValue = f.value else sValue = tostring(f.value) end svg[cSVG+k] = string.format('<text class="pName" x=170 y=%.2f >%s</text><text class="pValue" x=440 y=%.2f >%s</text>', yFields, f.name, yFields, sValue ) end end svg[#svg+1] = [[</g></svg>]] --Concat and display the SVG system.setScreen(table.concat(svg))
  19. Hello Noveans, We would like to hear your feedback on the addition of PANACEA to the roadmap!
  20. The Dual Universe roadmap has been expanded with the Panacea update, which is currently in production and brings with it a plethora of new features, tools, and improvements that will be particularly interesting for builders, scavengers, and Lua aficionados. WHAT’S IN IT A follow-up to the changes introduced in the Selene and Demeter updates, the Vertex Precision Tool will provide a powerful, intuitive way to fine-tune your builds. Particularly for those who are new to voxelmancy, this tool will be invaluable. Watch this video to get a taste of what it can do. The introduction of shipwrecks in space will open a variety of lucrative opportunities for players who seek them out. Sell them as-is, salvage them for parts, create missions for other players to bring you the ship or its parts, or simply fetch a handsome price by selling the location information. Other new features and improvements include: Camera Lua API: get access to information about the in-game camera Talents UI improvements: a more efficient way to view Talents RDMS UI polish: a cleaner interface for the management of RDMS To reduce clutter and keep Alioth beautiful, we are implementing inactive constructs requisitioning, an automated system for the abandonment of constructs owned by unsubscribed players and organizations to aid in keeping overcrowded public market areas clear. Organization construct ownership (construct slots): a new way of assigning available construct limits to organizations. Disabling element stacking or overlapping: the final step in preventing the element stacking exploit. WHAT’S IN A NAME Choosing the name for this update, Panacea, the goddess of remedy, is a reference to our renewed dedication to taking player feedback into greater consideration. In reflecting on the aftermath of the Demeter release, we recognized that we fell short in this area. We read your feedback but did not make the adjustments we could and should have. We pledge to be better about working hand-in-hand with the community by implementing a plan to increase two-way communication and making some important tweaks and balancing to the game that will address some of the pain points as much as we’re able. As a first step, beginning January 12th, we will postpone the next territory upkeep pay period for two weeks. This will allow the Design team time to revisit the tax rate, which many community members said was too steep. The purpose and functions of the upkeep system go beyond limiting “landgrabbing” and are more complex than they may appear on the surface. Many factors and interdependencies need to be taken into consideration. WHAT’S NEXT A series of devblogs will be published soon to reveal more information about the Panacea update. Additionally, we will be sharing a new roadmap soon. We hope that you’ll like what you see, and we encourage you to share your constructive feedback about our ideas as you read each article. Let’s chat!
  21. While many members of our team will be off to spend time with their families for the holidays, there will still be hamster wranglers and other key staff on-hand to keep the servers running smoothly. Customer Support will also be available, but please be patient as turn-around time for tickets may take a little longer than usual. Meanwhile, here’s a sneak peek at some of the things you can look forward to when the team returns in January: An updated roadmap A reveal of our next major update, including devblogs Some exciting new Lua stuff, which NQ-Ligo will tell you more about below. MORE LUA LOVE Bonjour, everyone. NQ-Ligo here. I focus a lot on everything related to Lua implementation, improvements, bugs, tests, and additions. You may remember me from the three-part devblog series Lua Changes and Improvements. We are continuing to introduce more changes and improvements to the Dual Universe Lua environment. There is so much we want to do, and we are doing our best to include Lua-related content into updates as often as possible along with major gameplay elements. Fellow Lua enthusiasts will probably be happy to hear that two areas I’m working on now are the Camera Lua API and the Lua API for the mining unit. These two major additions (and a few minors) are coming very soon! Watch for more information from me about these after the holidays. WARM WISHES FROM NQ From our universe to yours, the Novaquark team would like to extend our warmest seasons greetings and thanks to the Dual Universe community. Happy holidays!
  22. With assistance from his “Cosmic Buzard” organization, Antoine created this trio of ships: the Stratus, the Cumulus, and the Cumulonimbus. “My first priority,” Antoine explained, “was to make something beautiful.” As the names imply, clouds were one of the inspirations in the designs. Antoine was also inspired by steampunk aesthetics, making for some remarkably unique results. All were made by extensively using the Smooth tool. Spec-wise, the Cumulus zeppelin can travel 600 km/h without boosters. The Stratus air balloon can go 200 km/h, and the flying ship, Cumulonimbus, does 800 km/h. Share your voxel art masterpieces with us! Send screenshots to creators@dualuniverse.com or via https://forms.gle/MPDNjkxxF1tC8ntz6. Perhaps we’ll feature your creation in an upcoming video!
  23. Hello, Noveans! We would like to hear your feedback on the territory upkeep kicking off soon!
  24. Hello everyone, Thanks for your report, and sorry for the trouble. The web development team has fixed this issue. You can now switch the "I receive a message" trigger on and off at will. Thanks for your patience! Best regards, Wanderer.
×
×
  • Create New...