Jump to content


  • Posts

  • Joined

Everything posted by NQ-Wanderer

  1. Dear Noveans, let us know your thoughts on the new update of Dual Universe, Mercury!
  2. Hello, Noveans! We’re close to the second anniversary of Dual Universe’s beta, and our latest update, Mercury, brings many exciting features to celebrate this milestone! With the new Lua API, the Exchange, Global Illumination, and more, we’re excited to head into summer with Dual Universe. We’ve walked a long road together, and with your support, we’re just getting started. You can watch a recap of the past two years of beta here: WHAT’S NEW WITH MERCURY? We’ve talked about our ongoing polish and stabilization which has remained a central focus in the Mercury update. Still, we are also introducing many new features and upgrades into the game; that includes: - THE EXCHANGE is a central commercial hub and exhibition center on Alioth. If you think of the Helios system as a giant shopping center, the Exchange acts as its information board, that connects players. It’s an in-game destination at the heart of a teleportation loop in the Pioneer Zone. It provides shops, adverts, and a community board to help any player advertise their offering to the community, whether that’s a ship shop, museum, Lua arcade, or anything else. You can watch NQ-Nicodemus present the feature in this video: - SUMMER DACs are an exciting addition that allow every active player to gift a month of subscription to new Dual Universe players. This is our way of offering a free trial of Dual Universe to your friends. Additionally, it will help us to test the DAC system before we fully implement it later. One Summer DAC will be given to every active Dual Universe account (including alpha and beta key accounts.) They can only be gifted or used to charge the first month of subscription on an account. Once you subscribe to the game, whether by redeeming a Summer DAC, a beta key, or paying for a subscription, you may no longer use Summer DACs to add game-time to your account, as it is only meant to be a way to try the game. Summer DACs are accessible through our website under My Account, where you can redeem or gift your Summer DAC, and see your DAC transaction history. Once you've received your DAC, it is easy to convert it into subscription time through this page. To confirm again, Summer DACs are separate from the DAC system and will not impact your DAC balance gained through our crowdfunding campaigns. They will expire towards the end of the summer if unused. - THE LUA API revamp has the potential to improve almost every aspect of gameplay in Dual Universe. Whether you fly with a script, manage your factory with screens, or enjoy art and arcade machines in-game, your gameplay will be enhanced by our new Lua API. It will upgrade and improve the tools available to our community of creators who make the scripts enjoyed by every Novean. If you script with Lua in Dual Universe, or if you want to, you can find our mock API on Github as well as a full changelog on our forum here. - ART IMPROVEMENTS are also here in Mercury. We’ve added Screen Space Global Illumination (SSGI) as an opt-in graphical option in Dual Universe, and improved our Screen Space Ambient Occlusion (SSAO.) This, along with other improvements to our art assets such as new vegetation and improved in-game sounds, will help enhance your immersion in the game. - THE NOVEAN OVERVIEW is a new interface in which players may see their unlocked item skins. We will expand upon this system in future updates, with improvements on displaying character information such as construct slots, territories, calibration points, and so on. - Every character will have their talent points refunded back to their pool with Mercury. As this reset also empties the skill training queues, make sure to fill them up again as soon as possible, to not lose out on talent point acquisition. While we must perform this reset for technical reasons related to upgrading our systems, this is also an opportunity for players to refocus talents into different areas and try new ‘builds’, or to simply correct training away from unwanted talents. - Also, as we’ve previously announced, polish and stabilization continue to be a primary focus for us, and Mercury will bring many bug fixes and improvements that will enhance the experience of playing the game. Moving forward from Mercury, we will be continuing to work on stabilization and polishing, but we’re also working on improving the blueprint system, the market UI, introducing digital Kickstarter rewards, and much more! You can share your thoughts on this update with us in this forum thread.
  3. Hello, Noveans! Let us know your thoughts on Mercury upcoming art improvements down below!
  4. The graphics of Dual Universe have taken many strides forward since the beta started, and they continue to be an area of focus for us here at Novaquark as we keep working on improving immersion in the game. In previous updates, we’ve tackled visual effects upgrades to water, warp effects, the skybox, entire planet revamps, and much more. In this devblog we want to talk about the various art upgrades coming to Dual Universe with Mercury. GLOBAL ILLUMINATION We’re implementing Screen Space Global Illumination (SSGI) in Dual Universe to improve lighting and the overall look of the game. SSGI is a method to simulate light-bounce to achieve more realistic lighting. Much of the lighting detail in the real world comes from light which has bounced many times from different surfaces. However, calculating all of the different light paths in a real-time digital setting such as a computer game is difficult. Standard rendering provides only the first bounce of light, but SSGI is a way to approximate complex light interactions without taking a heavy toll on framerates. SSGI will be available as an optional setting in Dual Universe with Mercury. We’re also improving our Screen Space Ambient Occlusion (SSAO) to enhance how objects and surfaces are lit in the game, and therefore their visual quality. SSAO efficiently approximates the brightness of light on different parts of visible surfaces. It considers factors such as the game environment, the position of light sources, and shadows created by different surfaces to add a more realistic look to 3D game environments. VISUAL EFFECTS UPGRADES As shown in the screenshot below, there will also be graphical improvements to vegetation as we implement asset fixes that significantly improve their look in the game. We’re also adding three new explosion visual effects with the destruction of core units which you can see in this video 👇 The color variation is chosen at random when your core explodes. ----------------------------------------------------------------------------------------------------------------------- There are many more upgrades included in Mercury that will improve the look and feel of Dual Universe. We’d recommend you turn up the volume too: we're also polishing the sound design in order to enhance the game’s performance. Mercury is arriving very soon, and your feedback is essential. If you have any thoughts on our art improvements, we’d like to hear them. Let us know in this forum thread.
  5. Hello, Noveans! In the video below video, NQ-Nicodemus, the driving force behind the Exchange, dives deeper into the feature and answers some of the most common questions we've seen. Watch for an overview of the Exchange and more information about how it will be run. If you have more questions for us, please submit them using the Ask Aphelia submission form. We hope you'll enjoy the video!
  6. Dear Noveans, we hope you're as excited as we are about the Lua changes coming in the next update, Mercury. Let us know your thoughts below!
  7. "Hello Noveans, this is NQ-Ligo. Whether you’re piloting with Lua, hauling cargo on a scripted VTOL platform, controlling a factory with screens and programming boards, or simply enjoying an in-game arcade machine, Lua can impact almost every aspect of your experience in Dual Universe. After many years of accumulating Lua updates and additions, it’s time to revamp the Lua API of Dual Universe entirely. Our objective is to enhance and future-proof the tools available to those who create the fantastic scripts enjoyed by everyone in-game. WHY REVAMP LUA API? We must rework the Lua API to prepare it for future extensions by organizing it better, making it easier to use, and enhancing the tools available to our Lua creators. From a global point of view, the vision we have for Lua has evolved, and though we’re preparing a detailed changelog on our forum, here are some highlights: Restructuring of the entire Lua API. Preparing for an object-oriented approach to be ready for future evolutions. Reduce JSON use in the API to favor the use of real Lua tables. Rely much more on event-driven code to reduce player loops and server requests. Reduce the complexity of the scripts, thereby reducing their size. Add some nice-to-have features. Garner more interest in certain elements like the telemeter. WHAT’S CHANGING WITH THIS LUA API REVAMP? With the many changes coming to the API, we wanted to give you some of the highlights, while as we said above we’ll be giving you the specifics in another communication. For now, I want to discuss some of the most significant changes with you all in this devblog: NEW NAMING CONVENTION We needed to apply a clean naming convention with this revamp to make Lua easier to use. This will become even more necessary as we expand the Lua API in the future. As a result, multiple functions have been renamed, but most importantly, events will receive a name change. Any event will have a prefix ‘on’ from now on, for example: unit.onStart() unit.onStop() system.onUpdate() system.onFlush() unit.onTimer([string] tag) TWO NEW PERMANENT SLOTS ADDED As part of the API restructuring, we have decided to add two new permanent slots: `player` - This will represent the player using the script. Usually referred to as the "Master Player" in the current Control Unit or System API. `construct` - This will represent the construct on which the controller running the script is placed. Most of the construct-related functions were in the Core Unit API. Each of these slots will have the associated functions and events and will receive some additions. Let's take the example of `construct`. You will find functions and events coming from the Core Unit API and some additions. To give you an idea, here is just a snippet of the `construct` API: [string] getName() : Returns the name of the construct. [int] getId() : Returns the construct unique ID. NEW [table] getOwner() : Returns the owner entity of the construct. NEW [table] getCreator() : Returns the creator entity of the construct. NEW [0 or 1] isWarping() : Checks if the construct is currently warping. NEW [int] getWarpState() : Returns the current warp state (Idle = 1, Engage = 2, Align = 3 …). NEW [0 or 1] isInPvPZone() : Checks if the construct is in the PvP zone. NEW [float] getDistanceToSafeZone() : Returns the distance between the construct and the nearest safe zone. [string] getPvPTimer() : Returns the current construct PvP timer state. [float] getMass() : Returns the mass of the construct. [float] getInertialMass() : Returns the inertial mass of the construct, calculated as 1/3 of the trace of the inertial tensor. NEW [matrix] getInertialTensor() : Returns the inertial tensor of the construct. NEW [vec3] getCenterOfMass() : Returns the position of the center of mass of the construct, in local construct coordinates. NEW [vec3] getWorldCenterOfMass() : Returns the position of the center of mass of the construct, in world coordinates. [float] getCrossSection() : Returns the construct's cross sectional surface in the current direction of movement. [vec3] getSize() : Returns the size of the building zone of the construct. NEW [vec3] getBoundingBoxSize() : Returns the size of the bounding box of the construct. NEW [vec3] getBoundingBoxCenter() : Returns the position of the center of the bounding box of the construct in local construct coordinates. [float] getMaxSpeed() : Returns the max speed along the current moving direction. [float] getMaxAngularSpeed() : Returns the max angular speed. [table] getMaxSpeedPerAxis() : Returns the max speed per axis. [table] getMaxThrustAlongAxis( [string] taglist, [vec3] CRefAxis) : Returns the construct max kinematics parameters in both atmo and space range, in newtons. NEW [float] getCurrentBrake() : Returns the current braking force generated by construct brakes. NEW [float] getMaxBrake() : Returns the maximum braking force that can currently be generated by the construct brakes. The above are just a few examples. You can find more functions in the CODEX. MORE ITEM API FOR CONTAINERS AND INDUSTRY With the addition of the mining unit API, we also added item API to the game. We have since had a great interest in this type of function from our community, allowing players to get more detailed information from item IDs. As a result, we have decided to integrate it into multiple APIs for items or containers. For example: NEW [int] element.getItemId() : Returns the element item ID. NEW [int] weapon.getAmmo() : Returns the item ID of the currently equipped ammo. NEW [int] engine.getFuelId() : Returns the item ID of the fuel currently used by the engine. NEW [event] industry.onStarted( [int] id, [float] quantity) : Emitted when the Industry Unit has started a new production process. NEW [event] industry.onCompleted( [int] id, [float] quantity) : Emitted when the Industry Unit has completed a run. NEW [int] core.getElementItemIdById(uid): Returns the item ID of the Element, identified by its local UID. NEW [table] container.getContent() (old getItemsList): Returns a table describing the contents of the container, as a pair itemId and quantity per slot. CHANGING CONTAINER API Reading the contents of a container is one of our most widely used features, but there has always been a problem. Its current implementation allows players to make ten requests as quickly as they would like, followed by a wait time of five minutes. This has caused spikes in server requests on our end and has been impractical for players. We will change this behavior to allow you to make a content request with a fixed minimum delay of 30 seconds between two requests made with the `updateContent()` method. As before, receiving content from the server triggers the `onContentUpdate()` event allowing you to get the contents with the `getContent()` function. We have also made the updateContent function return the time left before the next request to give our players better tracking of the process. CLICK WITH LUA We’re adding a simple but often requested function; a mouse click for Lua! Left-click, named ‘leftMouse’, has been added as a Lua action, triggering the onActionStart, onActionStop and onActionLoop events. For design and security reasons, Lua will only detect left mouse clicks when not in use by the game. So if you click on a widget or in your inventory UI, Lua won't detect it. We’re excited to see what our talented coders in-game will make of this tool! MAKE THE LIGHTS FLASH In the past, we added the possibility of making light-elements glow with color components set to higher than 255. However, this caused graphical issues, and we had to remove the feature. We are reintroducing this feature with Mercury but limiting it to a maximum factor of 5. And at the same time, we are changing the color format from 0-255 to 0-1 and 0-5 for HDR colors for consistency. We will convert the color property of all existing light elements deployed in the game. ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Many other changes and additions will be included with this revamp. There are so many that it would not be practical to cover them all in a general devblog, but we hope this small selection will inspire your creative spirit! WILL ALL MY SCRIPTS BE BROKEN? Although we consider this revamp necessary, we still want to give you time to transition and adapt your systems and allow your scripts’ users to continue using them during this transition. To simplify the transition, we will deprecate all of the current API from Mercury, which means that the current functions and events will remain functional for a time but will not be referenced in the CODEX anymore, nor visible on the UI for events. You will then receive a warning when using a deprecated function or event for the first time. Please note: This depreciation will be time-limited. The goal is to remove all of the old API by the game’s launch. Along with other factors, we will need to release a new-API version of the default flight configuration before removing the depreciation. We will continue to assess whether removing the old API before launch is possible, and we’ll keep you apprised. HOW CAN I CHECK THE UPCOMING API CHANGES? Given the extent of the changes, we have chosen not to list them all in this devblog. The list of changes is very long, so our goal is to try and post a detailed forum thread with all changes and we have published a mock API on the official Github to allow you to prepare yourself as well as possible. CONCLUSION We hope you are excited, as players and creators, by the few changes mentioned here, especially about the new opportunities for all to enjoy that our passionate Lua community will create in Dual Universe. Our goal with the revamp is to push the door to future possibilities, evolutions, and additions for Lua. We'll be looking to go even further in the future and provide you with more tools to create content for other players. As always, we appreciate your feedback and opinions, so please feel free to come and share your thoughts and ideas on this forum thread! We look forward to seeing you there. Yours truly, NQ Ligo"
  8. Dear Noveans, we hope you're as excited as us by the introduction of the Alioth Exchange in upcoming update Mercury. Let us know your thoughts in the thread below!
  9. Dual Universe is home to a vibrant player-driven economy, with many enterprising Noveans finding creative ways of advertising their wares in-game. With last year's introduction of the parking rules for markets and districts, it became clear to us that we needed to supplement external community tools by creating a dedicated, in-game site for players to buy or sell goods and services. Catering to the entrepreneurs and shoppers of DU, we are excited to introduce the ‘Alioth Exchange,’ a new megaplex offering an opportunity for players to spend their quanta in shops built and run by their fellow players. “The goal of the ‘Alioth Exchange,’ is to provide a venue for players to showcase goods and services that cannot be done using the traditional market system. Additionally, serving as a Community Hub for information and social interaction to help better facilitate player connection.” - NQ-Nicodemus, Keeper of the Exchange The first Exchange site in Dual Universe is being introduced with the Mercury update and will sit at the heart of a teleportation network between all Pioneer Zone districts and markets. It will house an eclectic mix of player-built constructs, (limited to an XS core) advertising and selling anything from voxel libraries, ship shops, markets, racetracks, Lua scripting, or anything else players choose to build and offer. Shoppers can navigate the Exchange using a directory that creates waypoints to their preferred shops. While shopping, players can enjoy an internal “Fast-Track” system within the Exchange, that is built out of elevators! Each of the four halls of the Exchange are also marked with a shape and a color such as a yellow cross or a green circle, which will be rendered from afar to help navigation. With only sixteen initial slots, space is limited! If you’re interested in joining as a vendor, we’d urge you to start the application process as soon as you can. Application Process: Step 1: Read this document carefully to learn our rules, guidelines and requirements. Step 2: Build your construct to a completed state, ready for review by NQ. Step 3: With your XS core construct complete, fill and submit your application form. We are excited to bring you this new feature and will be monitoring your usage to decide whether or not to add more similar sites in the future. We look forward to hearing your thoughts in this forum thread.
  10. Hello Noveans! Let us know below your thoughts about the announce of our next update, Mercury!
  11. Summer approaches and with it comes Mercury, our next update to Dual Universe. As Cyrille Fontaine, our Creative Director, mentioned in his letter, our focus is currently on polish, and Mercury is no exception. This update also brings new features such as The Alioth Exchange, better lighting to improve visuals, Summer DACs, and more. Read on for an overview. THE ALIOTH EXCHANGE We’re about to deploy a new installation in the heart of Alioth where players can apply to build a display to advertise and sell their creations. Applications will be open to all players who want to advertise their ship shops, markets, Lua Scripts, organizations, voxel libraries, or anything else that they create. More details about, ‘The Alioth Exchange,’ will be available in an upcoming dedicated post. Note: constructs featured are samples only. CONTINUED GRAPHICAL UPGRADES We’re tackling illumination, vegetation, and explosion visual effects with the Mercury Update. You’ll find that the game world will be more radiant and realistic with our new global illumination, vegetation asset fixes will improve the look of foliage in the game, and whether you’re fighting or simply crashing a ship, you can enjoy more vibrant explosions. SUMMER DACs We’re implementing a separate, test version of DACs, allowing every active player to invite a friend to try Dual Universe free for one month. These Summer DACs are separate from real DACs, and will not impact your accrued pool of DACs from crowdfunding packages when gifted. One Summer DAC will be given to every active player and can only be redeemed by new accounts not yet subscribed to the game. They will expire by the end of the summer if not used. Summer DACs should allow us to test our web-based DAC system before the game’s release while offering your friends a chance to try the game for free! NOVEAN OVERVIEW We're adding an in-game interface which provides an overview of your general account information and unlocked possessions. We’ll expand this feature moving forward, but in Mercury, you’ll be able to see your unlocked cosmetic skins in a dedicated tab. LUA API Our vision for Lua has evolved over the years and with the new directions we’ve taken, it’s become necessary to entirely revamp our Lua API. These changes will future-proof the API and make it better serve the game by improving and tidying the system. We’re starting this process in Mercury. Naturally, such a major change will come with an enormous changelog, but to give you a brief overview of what’s coming ahead, we’re going to: Restructure the entire Lua API Prepare an object-oriented approach to be ready for future evolutions. Reduce the use of JSON in the API to favor the use of real Lua tables. Rely more on event-driven code to reduce player loops and server requests. Reduce the complexity and size of scripts Add some of the, ‘nice to have,’ features Add further points of interest to some elements such as the telemeter. To summarize, our goal with this update is to reset the API and prepare it for future evolutions. Rest assured that your codes will still work in Mercury and that we’ll give you ample time to adapt your creations. TALENT POINT RESET Every character will have their talent points refunded back to their pool with the Mercury Update. While we must perform this reset for technical reasons related to upgrading our systems, this is also an opportunity for players to refocus talents into different areas and try new ‘builds’, or to simply correct training away from unwanted talents. ------------------------------------------------------------------------------------------------------------------------------------------------------ As always, we’ll publish a series of articles delving deeper into Mercury’s features, but for now, thank you for reading, Noveans! We’re excited to move forward with Mercury and are eager to hear your thoughts in this forum thread.
  12. Hello, Noveans! Let us know what you thought of our Creative Director letter below.
  13. Hello, dear Noveans! Let us know below your thoughts on the DAC status update!
  14. Hello, Noveans! We have good news: DACs are coming to Dual Universe! As many of you already know, DACs are an important feature of the game’s economy, allowing players to gain game time with quanta. We will initially be releasing a website-based DACs system in the coming months and will then be further developing the system moving forward. WHAT IS A DAC? A Digital Access Coupon (DAC) is equivalent to a month of subscription. Think of it as a digital coupon that you can use to gain 30 days of subscription time or transfer to another player. HOW CAN I REDEEM AND TRANSFER DACs? Players will interact with this first iteration of DACs on our website. You’ll be able to see an overview of your DACs and be able to redeem as many as you’d like in exchange for game time. You’ll also be able to find other players by searching for their name and transfer DACs to them, but in order to receive DACs, a player must first have an account or create one on our website. There are no limits to the amount of DACs that may be transferred from one account to another. You will also be able to view your DACs history, giving you an overview of previous transactions. HOW DO I GET DACs? The initial set of DACs being released has already been purchased by our Kickstarter backers through the Founder and Supporter packages. You can however receive DACs from any player who has already purchased them, for example in exchange for quanta, allowing you to buy Dual Universe game time using your in-game assets, or to gift game time to friends. Just as a reminder, we wish to reinforce that this is only the first iteration of DACs in Dual Universe. We’ll be adding to this system over time and will work on integrating DACs into the game as an item that can be traded directly from a market. As always, we welcome your thoughts and look forward to reading your feedback in this forum thread.
  15. Hello Noveans, Many thanks to all of you who have been with us from our Kickstarter campaign. We appreciate your support and your patience and would like to update you on the status of the rewards you have been waiting for. THE PHYSICAL KICKSTARTER REWARDS Production on the Dual Universe figurines and the Collector Box is complete. However, there are two challenges in shipping them: First, due to the COVID-19 Pandemic, the price of shipping has risen significantly. It has reached a point where sending the rewards would cost as much as producing them. We had hoped that these price rises would only be temporary, but we now know that they won’t decrease in the short to medium future. We’ve therefore taken the decision to absorb the increased cost and to move forward with shipping the physical rewards. The second challenge has come from our partner responsible for handling the shipping of the physical rewards. They’ve recently informed us that they won’t be able to complete the task. We are therefore searching for a new partner to take receipt of the physical rewards and to start shipping them to you as quickly as possible. THE VIRTUAL KICKSTARTER REWARDS Both the Kickstarter Founder Packs and the Supporter Packs will be released throughout the milestones of 2022 in Dual Universe. We’ll give you more concrete details on exactly when you can expect each part of those rewards packages to be released in the months ahead. Your support and patience mean a lot to all of us at Novaquark, and the delivery of your Kickstarter rewards is one of our priorities. We thank you again for your support and will update you with more information as quickly as we can.
  16. Hello Noveans, let us know your thoughts on 2FA implementation right below!
  17. Novaquark is releasing Two-Factor Authentication (2FA) for added account security for our Dual Universe players. 2FA is simple yet effective: it adds an extra layer of protection to your account. As Dual Universe moves forward, we want to reward those players who choose to opt in. On top of the benefits of added account security, players will also receive the following rewards in-game: Talents: One million free skill points* added to your available pool. Money: Five hundred thousands quanta* of it, to be exact. Fashion: An exclusive skin for your programming boards to show off your commitment to security: *These figures may be revised in the future HOW IT WORKS You can enable or disable 2FA in the ‘security,’ section of your account at www.dualuniverse.game/account/security at any time. Once you have enabled 2FA, your in-game rewards will be delivered to your account the next time you login. When 2FA is enabled, in addition to your password, you will be required to enter a one-time code that is generated by an authenticator app on your phone when attempting to log in. We hope you’ll enjoy flying through Helios with added peace of mind. Share your thoughts on the implementation of 2FA here!
  18. Hello, dear Noveans! What did you think about out latest trailer SPACE WARFARE: A DUAL UNIVERSE STORY? Let us know below!
  19. 'Space Warfare' is a short film set in the Dual Universe Metaverse. It's a narrative story showcasing the new weapons and PvP hotspots (Alien Core Units) brought to Dual Universe in the new, 'Athena,' update. Watch as Deckard's crew find a treasure too big to resist and count their quanta while still floating in hostile space. What could go wrong? ------------------------------------------------------------------------------------------------------------- “It’s a trap,” Mojo said as he read the scan results again, “There ain’t no such thing as a free lunch, especially not out here in this cosmic bog.” Mojo shook his head, trying to shake the feeling that something, or someone, was coming for them. Still, if these scan results were right, no fear of a fight would stop him from taking a bite. The white shine of suit lights caught his eye and he looked up from the consoles of his gun-seat to see Deckard drifting across the structure’s surface, his light passing by craters that some unknown weapons-fire had left in the silicon hull who knows how long ago. “True,” Deckard agreed, his voice crackling in Mojo's ear from some unknown radio interference. “But with all this free plasma, we could probably afford a steak or two, wouldn’t you say?” ------------------------------------------------------------------------------------------------------------- Thank you to NQ-Deckard, NQ-Mojo, and our talented video artists for bringing this short film to life! Please share your thoughts on this trailer here.
  20. Greetings, Noveans. Now that Athena is out, we would love to hear your thoughts on this new update and all the features and improvements it brings to the game!
  21. Prepare your warships, Noveans: Athena update 0.29 has arrived in Dual Universe. The goddess of war and wisdom brings many features and improvements to the game such as contested resource hotspots in space, an improved First Time User Experience (FTUE) and many upgraded visual effects. Watch the video to see for yourself why Athena is a game changer: NEW FEATURES AND SYSTEMS SPACE TERRITORY WARFARE: We are introducing ‘Alien Space Core Units’, which you can find scattered around at various locations outside of the Safe Space zone. These Alien Cores provide resources to whoever can fight to take and hold them. NEW FTUE: Dual Universe’s First Time User Experience has been drastically upgraded to provide players with an easier to understand, more concise and overall improved introduction to the game. The starting experience will take place on a brand-new safe moon called: Haven. STASIS WEAPONS: Designed to reduce the maximum velocity of targeted ships, these weapons allow you to tackle those who try to swarm or out maneuver you. This will add more dynamics and possibilities to engaging in space battles across Helios. SPACE TRAVEL SPEED BALANCES: A constructs’ mass will now impact their speed: the heavier the ship, the less its maximum speed will be. Smaller, more agile constructs can now catch up with the heavier ones! SYSTEM MAP: our new system map gives powerful new tools to players in visualizing the Helios system with new and improved menus, filters, navigation, and more! LUA: Athena’s Lua changes bring many community-requested features into the game. SPACE MARKET: With the introduction of the Aegis Market, players can now directly access a bot-free market housed in the void of space, between Alioth, Madis, and Thades. IMPROVEMENTS PVP VOXEL IMPROVEMENTS: We’ve improved performance when voxels are being destroyed. Thanks to the player reports we've received, we have been working hard to identify this voxel issue and have been able to improve on this system. GRAPHICAL UPGRADE: From Blueprint Pre-Visualisation to a new Sky Box, to water and warp VFX, we’ve worked hard to improve the look of the game in Athena. A full list of what’s new in Athena is also available on our forum. KEEP THE FEEDBACK FLOWING The constructive feedback we receive from our players continues to have an incredible impact on the continuing development of Dual Universe. Many of the features and changes we are bringing to the game are based on players' requests. Please continue to share your opinions! We’ll be carefully reading your comments on this forum discussion thread.
  22. Dear Noveans, let us know your thoughts on our latest VFX devblog right below!
  23. Hello, Noveans! We’ve teased graphical upgrades coming to Dual Universe in Athena across our social media over the past couple of weeks, but we also want to present them to you now together to give a clear picture of what’s changing ahead: NEW SKYBOX A stunning skybox is essential for enjoyable space flight in games, and Dual Universe is no exception. Whether you’re hauling outside the pipes, hunting within them, or trying to claim an Alien Space Core Unit, you’ll fly in the new skybox coming with Athena. BLUEPRINT PRE-VISUALISATION The ability to see your blueprints visualized in the game before placing them, and to finely control their placement using keyboard keys will improve our player’s quality of life when deploying constructs. IMPROVED WATER VISUALS Living under water in Dual Universe can be more meaningful with the upgrade to our water VFX. Whether you want a sub-aquatic factory, to loop your racetrack below the water line, or simply have an internal pool, we hope you’ll like the way water looks now in Dual Universe. NEW WARP VFX White streaks are part and parcel of space games, they mean we’re moving fast! But, with the graphical overhaul to our warp travel, we hope you’ll enjoy the feel of spending a warp-cell or two roaming Helios. ----------------------------------------- We’re always carefully reading your feedback. Do you like the new warp vfx, or the new skybox? Please share your thoughts in this forum thread.
  24. Hello, Noveans. What do you think about the upcoming Athena Lua additions? Let us know right here!
  25. Hello, Noveans! Athena’s Lua changes bring many community-requested features into the game, and there is a lot to go over, so let's dive right in! SIGNS REFORGED We’re revising the resolution of opaque and transparent screens to 1024x513 pixels in order to better fit them into the real screen element dimensions and improve image resolution on screens. Also, each sign will now have a resolution adapted to its actual size: Horizontal Sign XS : 1024x512 Horizontal Sign S : 1024x1024 Horizontal Sign M : 1024x512 Horizontal Sign L : 1024x256 Vertical Sign XS : 512x1024 Vertical Sign M : 512x1024 Vertical Sign L : 256x1024 These changes are also accompanied by new features and substantive changes. NEW TEXT & COLORS RENDERING With this update, we’re making a fundamental change in text rendering technology. Called, ‘Signed Distance Field,’ (SDF), this rendering method allows for cleaner rendering at any font size and also supports effects such as outlines and shadows. As a result, here are some text-related changes in the Rendering Lua API: [int] loadFont([string] fontName,[int] defaultSize) - The font size setting becomes the "default" font size and can be changed during script execution with the setFontSize function. addText([int] layer,[int] font,[string] text,[float] x,[float] y) - Now supports the following properties : fillColor, shadow, strokeColor, strokeWidth. And some additions: [float] getFontSize([int] font): Return the currently-set size for the given font. setFontSize([int] font,[int] size): Set the size at which a font will render. setDefaultTextAlign([int] layer,[int] alignH,[int] alignV): Set the default text alignment of all subsequent text strings on the given layer. But that's not all! As you may have seen from the image below, we have also added support for High Dynamic Range (HDR) colors which will let you add a glow effect on your colors. To use the HDR colors, you just have to set color values higher than 1 in the colors you use; commonly multiply each color component by the same HDR coefficient. As an example, here is the ‘PEGGED,’ screen from Bonusaben’s Underdun Arcade modified with HDR colors: LET’S MOVE LAYERS One of the most common requests for screen rendering has been the ability to apply transformations (translation, rotation and scaling) to text. Given that this is not strategically optimal for rendering, we’ve decided to apply transformations to layers instead with the following functions: setLayerOrigin([int] layer,[float] x,[float] y): Set the transform origin of a layer; layer scaling and rotation are applied relative to this origin. setLayerRotation([int] layer,[float] rotation): Set a rotation applied to the layer as a whole, relative to the layer's transform origin. setLayerScale([int] layer,[float] sx,[float] sy): Set a scale factor applied to the layer as a whole, relative to the layer's transform origin. setLayerTranslation([int] layer,[float] tx,[float] ty): Set a translation applied to the layer as a whole. We’ve also added a clipping area! This allows you to define an area to limit rendering per zone, especially useful for making scrolling areas and so on. setLayerClipRect([int] layer,[float] x,[float] y,[float] sx,[float] sy): Set a clipping rectangle applied to the layer as a whole. Please note that anything drawn outside of the clipping area will not be visible but will still be counted in the rendering budget. THE MINING UNIT API As already announced in Athena roadmap, we’ve decided to add a Lua API allowing players to take accurate information from Mining Units with the following functions: [string] getStatus() : Returns the current status of the mining unit ("STOPPED", "STALLED", "RUNNING") [float] getRemainingTime() : Returns the time remaining on the drilling process. [int] getActiveOre() : Returns the ID of the current selected resource. [table] getOrePools() : Returns the list of resources pool on the territory. Each resource pool object of the list contains ‘id’, ‘available’ and ‘maximum’ fields. [float] getBaseRate() : Returns the base production rate of the mining unit. [float] getEfficiency() : Returns the production efficiency of the mining unit. [float] getAdjacencyBonus() : Returns the territory's production adjacency bonus factor. This value will only be updated when a new batch is started. [float] getCalibrationRate() : Returns the current calibration rate of the mining unit. [float] getOptimalRate() : Returns the optimal calibration rate of the mining unit. [float] getProductionRate() : Returns the production rate of the mining unit. [vec3] getLastExtractionPosition() : Returns the position of the extracted ore during the last calibration in world coordinates. [int] getLastExtractingPlayerId() : Returns the ID of the last player who calibrated the mining unit. [float] getLastExtractionTime() : Returns the time in seconds since the last calibration of the mining unit. [float] getLastExtractedVolume() : Returns the amount of ore extracted during the last calibration. [int] getLastExtractedOre() : Returns the ID of the extracted ore during the last calibration. And with some events: [event] statusChanged([string] status) : Emitted when the mining unit status is changed. Provide the new status. [event] completed([int] oreId, [float] amount) : Emitted when the mining unit completes a batch. Provide the item ID of the mined ore and the amount mined in the batch. [event] calibrated([int] oreId, [float] amount, [float] rate) : Emitted when the mining unit is calibrated. Provide the item ID of the extracted ore, the amount extracted and the new calibration rate. THE ITEM API We have chosen to integrate the notion of item-IDs in a more concrete way. This is the first API using this principle, which seems to us the most adapted. Some functions and events will provide you with an ID designating an item in the game. We will then integrate the getItem function: [table] getItem([int] id): Return the item table corresponding to the given item ID. The returned table will then contain the following information: [int] id : The ID of the item. [string] name : The name used to define the item. [string] displayName : The name of the item used in the game. [string] locDisplayName : The name of the item used in the game in the language of your game. [string] displayNameWithSize : The name of the item used in the game with the size (XS,S,M,L). [string] locDisplayNameWithSize : The name of the item used in the game with the size (XS,S,M,L) in the language of your game. [string] description : The description of the item in English. [string] locDescription : The description of the item in the language of your game. [string] type : The type of item. [float] unitMass : The unit mass of the item. [float] unitVolume : The unit volume of the item. [int] tier : The tier of the item (1 to 5) [string] size : The size of the item (xs, s, m, l) [string] iconPath : The path of the item's icon in the game files (usable on the screens). BONUS FEATURES We’ve also decided to include several smaller features with this update: The function allowing you to draw a quadratic Bézier curve: addBezier([int] layer,[float] x1,[float] y1,[float] x2,[float] y2,[float] x3,[float] y3): Add a quadratic Bézier curve to the given layer. Supported properties: shadow, strokeColor, strokeWidth. Additional functionality for images: addImageSub([int] layer,[int] image,[float] x,[float] y,[float] sx,[float] sy,[float] subX,[float] subY,[float] subSx,[float] subSy): Add a sub-region of an image to the given layer. Supported properties: fillColor, rotation. [float],[float] getImageSize([int] image): Return the width and height of an image. Finally, a function that lets you know the language setting of the rendering client: [string] getLocale(): Return the locale in which the game is currently running (“en-EN”, “fr-FR”, “de-DE”). CONCLUSION Our goal is always to provide a larger and more feature-rich panel while maintaining rendering performance, and we hope that you will enjoy these Lua additions coming in Athena. As always, we appreciate your feedback, so please share your thoughts and let us know your ideas on what Rendering Lua-related improvements and/or additions you would like to see in Dual Universe. Also, our API approach seems to be suitable and could potentially be applied to other API’s in-game, but we’d love to hear your feedback on that first. NQ-Ligo is looking forward to discussing them with you in this forum thread!
  • Create New...