Jump to content

michaelk

Member
  • Posts

    210
  • Joined

  • Last visited

Reputation Activity

  1. Like
    michaelk reacted to Mordgier in Why does NQ-Sophon own 37 Tiles on Alioth?   
    The fact that JC has not shared his lua code for the breakout game in his castle is an outrage! 
  2. Like
    michaelk got a reaction from Frigidman in Sorry, you cannot add any more reactions today.   
    I'm using one of my precious likes to like this. Now that I know they are limited, you'd best be even more grateful. 
  3. Like
    michaelk reacted to Frigidman in Sorry, you cannot add any more reactions today.   
    Poo.
     
    I guess I like too much stuff. Maybe I need to be an old miser.
  4. Like
    michaelk reacted to Pleione in Pleione's FAQ   
    For answers to Frequently Asked Questions, please visit:
     
    Pleione's Dual Universe FAQ
     
    Please note this is a work in progress. 
     
    Please reply with other questions not outlined in the document.
  5. Like
    michaelk got a reaction from CptLoRes in Beta   
    Except that network performance and single-shard server tech has nothing to do with client-side graphics and GPUs choking on 1999-level rendering. That implies low level shader issues that have nothing to do with network optimization. 
     
    Of course I agree that optimizing their core server infrastructure is important, but I'm not super impressed with their implementation of "single shard" as it stands. Especially for "beta", to the OP's point. 
     
    Modern MMO servers aren't singular behemoth machines, they are often large clusters of hardware, clusters that can scale and split load just as a "single shard" would. The reason players are split into different servers is purely to limit how many people exist in similar areas at once, not because of some core technological inability to scale servers or add players. 
     
    There's no magic way to easily render lots of people in the same location at once. Single shard tech doesn't somehow make this easy or cheap. From what I've seen, there's nothing all that special here. 
     
    For example, splitting starting players into multiple clones of the same cities does exactly the same thing as splitting people across different servers.
     
    It distributes load so there's not too many people in one area at one time. Nothing will ever remove the challenge of syncing lots of clients sharing the same space, especially when hardware cost is a thing.
     
    There's no technology that will somehow make rendering lots of people in the same area a linearly scaling operation. Consider 500 clients battling each other. One ship moves. That one movement must be transmitted to the server and synced across 500 clients. If every one of the 500 clients is moving and shooting...that's 250,000 operations to sync in total. Every one extra player in the battle adds to this load exponentially. 
     
    Believe what you want, but I'm really skeptical of the idea that NQ's tech is so cutting edge it can cleanly handle these large battles.
     
    I definitely understand how ambitious it is...that's why I'm a bit skeptical based on what I've seen of the beta so far. If they can't optimize the basics (there's clearly some sloppy stuff happening client side) I wonder how they will solve this most fundamental issue with multiplayer gaming (without merely throwing hardware at it, which affects their bottom line). 
  6. Like
    michaelk reacted to Majestic in Getting started for beginners September '20   
    Things have smoothed out a bit since the start of Beta, This is a few tips to help you get started. These are suggestions of course none to be taken as rules.
    This is an MMO, there is a vast amount of information to be absorbed, at first it will be overwhelming, just figure stuff out with baby steps.
    It's in Beta, there are bugs and glitches, expect disconnects and erratic behavior of items.
    There is quite a few guide videos appearing on Youtube now, some good some bad but if you like reading then here you go.
     
     At the beginning you are given a core tutorial for the basics, movement, interacting with things and what some items are etc. It's a good idea to go through this as it gives you your first territory claim unit and vehicle. If it seems to get stuck because you have already completed a step then use Shift + Page Down to skip a step. If you need to restart it, go to the start building again and hit the button on the top floor. The more in-depth Institute tutorials are still in development and are one of the more buggy parts of the game, it's advisable to avoid these for now but if you do decide you want to try them, make sure you have an empty inventory as things have a habit of going missing or you may need to force a re-spawn to get unstuck which is the same as killing your character and empties your inventory.
     
    You are given a basic hovercraft vehicle in the form of a blueprint through the core tutorial.  If you deploy this on the planet you start on(Alioth) you will need to dismantle it to take it to other planets in your inventory so decide which planet you want to start on before deploying it. If you need to dismantle it, it is highly likely parts of it will be bugged. There are fixes for the bugs. If you get an error relating to something called an ECU or a cockpit then right click the part of that name in your inventory and 'remove dynamic properties',  if you get an error saying you don't have enough material, simply add a little more of the same material into your inventory(a tiny amount) which you can collect from surface rocks on any planet. You will need to have claimed a territory on Sanctuary to be able to collect rocks there but not on other planets.
     
    The main chat channel is a support channel, ask any questions you like in there, players are very helpful. There are also  official Discord channels for Tech support help, in game help, LUA scripting help etc. A link for this can be found under the community tab here https://www.dualuniverse.game/.
     
     'Everything starts with a Core'. You will see this in a few places in the world. Buildings use a Static Core, Vehicles use a Dynamic Core and space stations use a Space Core. You obtain these either through crating or buying from the market, you will also be given a small one from the core tutorial to get you going. You deploy this and then you can add stuff to it to make your designs.
     
    Talents. Basically the longer you play the more talent points you build up. If you are training a talent these points increase faster than when you don't have anything queued, you also get points from completing tutorials and getting achievements and probably from quests later on when they are introduced. Because of this I would suggest starting something training asap.  Press F2 and you will see there is a huge list of available talents, each talent has a tier, higher tiers take longer. For the start a couple of very useful ones are to increase the number of cores you can have active and maybe some movement speed. These are found under the Mining and Inventory dropdown - Architect and Avatar dropdown menus.  Most of the lower Tier options only take minutes or a hour or so tops, no need to complete entire sections in one go.  You can have months of talents in a queue.
     
    All talents and build queues continue when you are offline, building a queue to keep going overnight or until the next time you can play is a good idea.
     
    To make some currency to get going, simply collect surface rocks for a little while, visit a market and use the instant sell option. You won't get rich doing this, unless you spend all day doing it but that's kind of boring and not really necessary. Currency will allow you to skip the learning process of how to make stuff by buying everything, your choice. 
     
    Everything you see in game, buildings, ships, signs are all craftable even a Bonsai tree.
     
    Planets. When you start you are given a STU(Sanctuary Territory Unit). This will allow you to set up a base on the Sanctuary moon for free. You can also buy or craft standard Territory units to set up base on other Planets. The price to deploy these increases the more you have, the first one on a new planet is free. At the moment there is no PVP on any planet so they are all safe, PVP is only in deep space, ship to ship combat but this will change in the future . Sanctuary has Tier 1 and Tier 2 ores for crafting but the ore veins underground are generally smaller than on other planets but will always be safe.
     
    You are in a space suit, you can breath underwater(you can't swim) and in space just fine and don't consume any resources doing so.
     
    Mining is a big part of the game and you will spend a fair bit of time underground and underwater looking for ore veins, I did a rough guide here.
     
    Once you have your first territory a few things to build first are an Assembly Unit S then an Assembly Unit M followed by a Refiner M and then maybe a container or 2. These 3 machines will allow you to transform your ore into ingots and to be able to craft several other machines. Which order you do them in after that is up to you, usually as and when needed is a good idea.  Press K this will open up your nanocrafter menu, at the top left uncheck 'nanocrafter only', this hides some of the things you want to build at the start, search for any of these items and it will give you a list of what you need.
     
    A couple of useful keybinds -
     
    ALT is the universal opposite action button, nearly all questions on how to do something like remove an item or fill a hole in are answered with use ALT + 'tool' , so to remove something you have placed when building you use the deployment tool you used to place it and ALT + click it, to fill a hole you use the mining tool and ALT + click it and so on.
    ALT + Z  - Auto Run.
    TAB - Allows you to select on screen buttons.
    V - Shows/Hides player name tags and territory boundaries.
    Alt + V brings up the filter window for icons.
     
    In a vehicle.
    ALT + R toggles cruise control.
    ALT + C or Spacebar lowers and raises your hover height.
    INSERT - 3rd Person view and SHIFT + Scroll is zoom.
     
    If you made it this far well done! Hope it helps.
  7. Like
    michaelk reacted to Mordgier in New Player Experience is bad because of distance to free tiles   
    Honestly that was my biggest frustration with the interview.
     
    JC needs to give players clear direction NOW on where is and isn't safe forever. It seems that he himself does't have his mind made up.
     
    This is a huge issue - we have people who are building up on sanc because they are expecting Alioth to go pvp. These people are at a massive disadvantage from Alioth based players because Sanc players must haul all their ore in while Alioth players fly a few grids out and dig out much of what they need.
     
    If it turns out that Alioth goes pvp, the players who built on Alioth expecting it to remain safe are salty.
    If it turns out that Alioth stays pve, the players who built on Sanc have wasted days and tons of space fuel hauling ore from Alioth to Sanc just to keep their production running.
  8. Like
    michaelk reacted to Zamiel7 in New Player Experience is bad because of distance to free tiles   
    This point about Sanctuary is spot on. It doesn't make a lot of sense that the game starts players on Alioth, asks them to move to Sanctuary to finish the tutorial, and then the mechanics of the game essentially force them to either move back to Alioth or another planet if they want to progress at a reasonable pace. It would make a lot more sense to start players on Sanctuary, have them complete the basic tutorial of the game there, and then have that basic intro conclude on one of the Districts of Alioth where they can either complete the rest of the available tutorials or forge out on their own.
     
    Sanctuary is a deadend. There is currently no reason to be there other than the game telling you to go there, but it could have some value as the literal starting place for new players who are just trying to learn the basic mechanics. It just doesn't make sense to move players there if they aren't starting there.
  9. Like
    michaelk got a reaction from CptLoRes in Beta   
    Software developers know what "beta" means. 
     
    When they decide to use that label even though the game is definitely alpha, it's a marketing ploy...the terms have lost meaning because devs decide to use the term to present their game in a more finished state than it is. 
     
    Personally, I think DU has several years before it will be "feature complete" where the core elements are ready for the mass public. 
     
    I'm not shocked that NQ would be interested in making a buck or two -- I think they will start losing subs when the first waves start to renew, but who really cares? Those people might come back in a couple years, and the 1.0 launch will be expected to attract a much larger, fresh wave of new players. 
     
    Also, NQ was founded in 2014 -- after 6 years, I'm sure it reassures investors a lot knowing the product is in beta and collecting paying subs...would you want to keep bankrolling an alpha product going on 7-8 years? 
  10. Like
    michaelk reacted to Mordgier in New Player Experience is bad because of distance to free tiles   
    There are absolutely parts of the new player experience that I think desperately need help.
     
    For example, Sanctuary as a whole is a trap because you cannot mine unclaimed tiles and it's not hard to mine out your own tile. So newbies end up clicking 20L rocks for hours when instead had the game told them to go set up a claim on Alioth they would be far better off. Oh but now they don't want to rebase in Alioth because they built their factory on Sanctuary...MOVE IT
     
    The starting package is abysmal.
     
    They should get some free basic industries, a handful of s crates, a refinery, metal worker and an m assembler at start would help tremendously. Sure sure you can buy all that easy but noobs don't know to and spend days handrefining and handcrafting things and complaining that it all takes too long while the reality is that they could have bought all their starting industries to jumpstart their production for the 100k they got.
     
    Teach newbies to turn their hovercraft into a plane. Hovercraft are useless in this game and inferior to planes.
  11. Like
    michaelk got a reaction from Moosegun in The game needs optimization badly.   
    Yep, very different requirements. Voxel-based games also tend to offload a lot more to the GPU, so even with simple graphics, it can be taxing in a way that SC will never be.
     
    Static assets with physics are really well understood -- and extremely well optimized by GPUs. People have been working with static assets for decades; optimization techniques and hardware are highly evolved and baked into any commercial engine like SC's Amazon Lumberyard.
     
    DU has to do a lot more math to represent objects of less detail because they are represented with voxels. Their collision and geometry is far more complex...plus they have to stream to your machine via network. 
     
    It's a lot easier to make mistakes working at that low level of GPU/shader programming, even before networks come into play...so plenty of room for optimization!   
  12. Like
    michaelk reacted to Moosegun in The game needs optimization badly.   
    You cant really compare the two games though, whilst SC is visually impressive all of the assets are fixed and locally stored, DU's main overhead is caused by the sheer scale of the game (single shard) and the fact all the assets are player made, meaning that the game has to cache / render on an going basis.  Two VERY different games from that perspective.  Just because a game looks impressive, doesnt mean it should be more PC hungry (something I always called the 'Witcher 3' argument).  Your concept that graphics is the only thing that effects performance is a bit flawed.

    The good news is that optimisation is happening on an ongoing basis, the game is LIGHTYEARS better than alpha, and has also seen great strides since the hell hole that was full beta launch.
  13. Like
    michaelk reacted to Novean-71071 in Awesome interview with JC hosted by Markee! Thanks a lot to everyone involved!   
    The castle is great!
    The voxel library is amazing!
    The space truck fleet is perfect! ❤️




     
     
  14. Like
    michaelk reacted to DarkMatterJustIs in Lockheed Martian Recruitment!!!!   
    LockHeed Martian is an industrial organization that inspires to become a major powerhouse in the galaxy! LHM is currently new, and accepting all play styles. We work together as a team to get things done. We currently have a base of operation on Alioth with plans for many other planets and moons!
     
     
     
    Join our Discord at https://discord.gg/D5bDQ6T.
     

    Lockheed Martian Logo.mp4  
  15. Like
    michaelk reacted to DropNod in - AKERIAN - Economic Supremacy   
    ╔═════════════════════════════════════╗
       ? ANNOUNCEMENT╿Trailer and start of recruitments !
    ╚═════════════════════════════════════╝
     
    We are happy to finally be able to present our brand new trailer which has been en préparation for months! Do not hesitate to give us your opinions?

    This trailer marks the opening of our recruitment campaign ! To join, see the instructions at the end of #faq on our Discord server, in order to try your luck at being selected among us ! ?
    I repeat, Akerian's goal is not to amass as many members as possible, we select our members in order to build a strong, united and efficient team ?

    In any case, if you are looking for a structured, ambitious and friendly organization, you know what you have to do ! ?
     
     
     
  16. Like
    michaelk got a reaction from Aaron Cain in PVP VS NON PVP   
    100% 

    If you check NQ or JC's twitter, the ongoing media for the game hasn't yet showcased PvP. It's been completely focused on the awesome things players and orgs have been building...or people blowing themselves up due to pilot error. 
     
    It's like they know that PvP isn't ready to be showcased yet and want to highlight the part of the game they know will attract the most players...wild concept! 
     
    If PvP were really so important to NQ, they'd have iterated on it more before public beta. They know their demographics better than anyone. That's reflected in their advertising and development schedule. 
     
    If they wanted to advertise it like rust in space, they'd actually do that. 
     
    People come here and fear something that isn't even a big deal yet -- just focus on building if that's what you want to do, because NQ knows their game. They've spent a lot of time on building tools for a reason...and it isn't so they can make it so everyone's creations are easily lost forever.
     
    Don't listen to people that believe NQ's top priority is making this a PvP experience or that "everyone" wants PvP to be a higher dev priority. Just isn't the case. 
  17. Like
    michaelk reacted to Helediron in [Lua] Antigravity controller, follower pet, fuel display   
    I dropped my old scripts from alpha into a repository:
    https://github.com/Helediron/dualuniverse
    No license nor usage restrictions.
     
  18. Like
    michaelk reacted to RONinja in Basic Ore Monitor For Containers   
    Basic Ore Monitor.

    Requires
    3 Programming Boards
    2 Databanks --two is needed to prevent weird code crossing bugs. later this may be less when they fix bug.
    20 Containers of same Size
    1 screen
    1 switch
    1 relay
     
    PB1->switch-> relay-> PB2 PB3

    Create Events in Lua Editor and Paste the Following as Instructed.
     
    9/17 - Fixed parameter for single boards.Changed some names and Added more exports
     
     
    Programming Board 1 -- Can do 9 Containers OR Read from Databanks ---screen ---databank-----only if your doing more than 9 items added last ---databank2-----only if your doing more than 9 items(using 2 helps code from being crossed from bugs)added last ---switch-----only if your doing more than 9 items ----Unit Start if Morethan9slots == "On" then switch.activate() end unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live Morethan9slots = "Off" --export:Off for 9 slots and On for more than 9 and requires databanks. local containermax = 9600 --export:;Your max container holding. local slot1item = "Bauxite" --export:;Slot1 Iten. local slot1weight = 1.28 --export:;Slot1 weight. local slot2item = "Coal" --export:;Slot2 Iten. local slot2weight = 1.35 --export:;Slot2 weight. local slot3item = "Hematite" --export:;Slot3 Iten. local slot3weight = 5.04 --export:;Slot3 weight. local slot4item = "Quartz" --export:;Slot4 Iten. local slot4weight = 2.65 --export:;Slot4 weight. local slot5item = "Chromite" --export:;Slot5 Iten. local slot5weight = 4.54 --export:;Slot5 weight. local slot6item = "Limestone" --export:;Slot6 Iten. local slot6weight = 2.71 --export:;Slot6 weight. local slot7item = "Malachite" --export:;Slot7 Iten. local slot7weight = 4.0 --export:;Slot7 weight. local slot8item = "Natron" --export:;Slot8 Iten. local slot8weight = 1.55 --export:;Slot8 weight. local slot9item = "Acanthite" --export:;Slot9 Iten. local slot9weight = 7.2 --export:;Slot9 weight. if Morethan9slots == "Off" then local dbhtml = "" local dhtml = "" local index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB1</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] screen.setHTML(html) elseif Morethan9slots == "On" then switch.activate() dbhtml = databank.getStringValue(OreMonitorTwo) dhtml = databank2.getStringValue(OreMonitorThree) local index = {1, 2, 3, 4, 5, 6} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item} -- names to display local htmlContent = "" for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB1</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[]]..dbhtml..[[]]..dhtml..[[ </table>]] screen.setHTML(html) end ---Unit Stop if Morethan9slots == "On" then switch.deactivate() end screen.clear() Programming Board 2 --databank is last slot to add and named databank ---Unit Start unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live --databank is last slot to add and named databank local slot1item = "Malachite" --export:;Slot1 Iten. local slot1weight = 4.0 --export:;Slot1 weight. local slot2item = "Natron" --export:;Slot2 Iten. local slot2weight = 1.55 --export:;Slot2 weight. local slot3item = "Acanthite" --export:;Slot3 Iten. local slot3weight = 7.2 --export:;Slot3 weight. local slot4item = "Garnierite" --export:;Slot4 Iten. local slot4weight = 2.60 --export:;Slot4 weight. local slot5item = "Petalite" --export:;Slot5 Iten. local slot5weight = 2.41 --export:;Slot5 weight. local slot6item = "Pyrite" --export:;Slot6 Iten. local slot6weight = 5.01 --export:;Slot6 weight. local slot7item = "Colbaltite" --export:;Slot7 Iten. local slot7weight = 6.33 --export:;Slot7 weight. local slot8item = "Cryolite" --export:;Slot8 Iten. local slot8weight = 2.95 --export:;Slot8 weight. local slot9item = "Gold Nuggets" --export:;Slot9 Iten. local slot9weight = 19.30 --export:;Slot9 weight. local dbhtml = "" local dhtml = "" local index = {7, 8, 9, 10, 11, 12, 13, 14, 15} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" local containermax = 9600 --export:;Your max container holding. for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB2</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] databank.setStringValue(OreMonitorTwo,html) Programming Board 3 --databank is last slot to add and named databank ---Unit Start unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live --databank is last slot to add and named databank local slot1item = "Kobelckite" --export:;Slot1 Iten. local slot1weight = 2.37 --export:;Slot1 weight. local slot2item = "Columbite" --export:;Slot2 Iten. local slot2weight = 5.38 --export:;Slot2 weight. local slot3item = "Illmenite" --export:;Slot3 Iten. local slot3weight = 4.55 --export:;Slot3 weight. local slot4item = "Rhodonite" --export:;Slot4 Iten. local slot4weight = 3.76 --export:;Slot4 weight. local slot5item = "Vanadinite" --export:;Slot5 Iten. local slot5weight = 6.95 --export:;Slot5 weight. local slot6item = "Not set" --export:;Slot6 Iten. local slot6weight = 0 --export:;Slot6 weight. local slot7item = "Not set" --export:;Slot7 Iten. local slot7weight = 0 --export:;Slot7 weight. local slot8item = "Not set" --export:;Slot8 Iten. local slot8weight = 0 --export:;Slot8 weight. local slot9item = "Not set" --export:;Slot9 Iten. local slot9weight = 0 --export:;Slot9 weight. local index = {16, 17, 18, 19, 20} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" local containermax = 1200 --export:;Your max container holding. for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB3</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] databank.setStringValue(OreMonitorThree,html)  
     
    Pasteable Config for Programming Board 1. Hook up all containers (Bauxite, Coal, Hematite, Quartz, Chromite, Limestone)first and then link switch, screen, databank, databank2 and named them accordingly in the Lua editor slot area. Leave containers slots alone.
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"switch","type":{"events":[],"methods":[]}},"7":{"name":"screen","type":{"events":[],"methods":[]}},"8":{"name":"databank","type":{"events":[],"methods":[]}},"9":{"name":"databank2","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"if Morethan9slots == \"On\" then\nswitch.activate()\nend\n\n\nunit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"0"},{"code":"if Morethan9slots == \"On\" then\nswitch.deactivate()\nend\n\nscreen.clear()\n","filter":{"args":[],"signature":"stop()","slotKey":"-1"},"key":"1"},{"code":"Morethan9slots = \"Off\" --export:Off for 9 slots and On for more than 9 and requires databanks.\nlocal containermax = 9600 --export:;Your max container holding.\nlocal slot1item = \"Bauxite\" --export:;Slot1 Iten.\nlocal slot1weight = 1.28 --export:;Slot1 weight.\nlocal slot2item = \"Coal\" --export:;Slot2 Iten.\nlocal slot2weight = 1.35 --export:;Slot2 weight.\nlocal slot3item = \"Hematite\" --export:;Slot3 Iten.\nlocal slot3weight = 5.04 --export:;Slot3 weight.\nlocal slot4item = \"Quartz\" --export:;Slot4 Iten.\nlocal slot4weight = 2.65 --export:;Slot4 weight.\nlocal slot5item = \"Chromite\" --export:;Slot5 Iten.\nlocal slot5weight = 4.54 --export:;Slot5 weight.\nlocal slot6item = \"Limestone\" --export:;Slot6 Iten.\nlocal slot6weight = 2.71 --export:;Slot6 weight.\nlocal slot7item = \"Malachite\" --export:;Slot7 Iten.\nlocal slot7weight = 4.0 --export:;Slot7 weight.\nlocal slot8item = \"Natron\" --export:;Slot8 Iten.\nlocal slot8weight = 1.55 --export:;Slot8 weight.\nlocal slot9item = \"Acanthite\" --export:;Slot9 Iten.\nlocal slot9weight = 7.2 --export:;Slot9 weight.\n\nif Morethan9slots == \"Off\" then\nlocal dbhtml = \"\"\nlocal dhtml = \"\"\nlocal index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB1</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\n\nscreen.setHTML(html)\nelseif Morethan9slots == \"On\" then\nswitch.activate()\ndbhtml = databank.getStringValue(OreMonitorTwo)\ndhtml = databank2.getStringValue(OreMonitorThree)\nlocal index = {1, 2, 3, 4, 5, 6} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item} -- names to display\nlocal htmlContent = \"\"\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB1</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[]]..dbhtml..[[]]..dhtml..[[\n</table>]]\n\nscreen.setHTML(html)\n\nend\n\n\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"2"},{"code":"dbhtmltwo = databank.getStringValue(OreMonitorTwo)\nscreen.setHTML(dbhtmltwo)","filter":{"args":[{"value":"option2"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"3"},{"code":"local index = {1, 2, 3, 4, 5, 6, 7} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7} -- slot names\nlocal weights = {1.28, 1.35, 5.04, 2.65, 4.54, 2.71, 4.0} -- inspected kg of item\nlocal items = {\"Bauxite\", \"Coal\", \"Hematite\", \"Quartz\", \"Chromite\", \"Limestone\", \"Malachite\"} -- names to display\nlocal htmlContent = \"\"\n\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><th>\"..items[i]..\"</th><th>\"..index[i]..\"</th></tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:25%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Blue;\ncolor:black !important;\">\n <th>Amount</th>\n <th>Row</th>\n <th>#</th>\n </tr>\n ]]..htmlContent..[[]]..dbhtmltwo..[[]]..dbhtml..[[\n</table>]]\n\nscreen.setHTML(html)\n","filter":{"args":[{"value":"option1"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"4"},{"code":"dbhtmlthree = databank.getStringValue(fuck)\nscreen.setHTML(dbhtmlthree)","filter":{"args":[{"value":"option3"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"5"}],"methods":[],"events":[]} Programming Board 2   Link containers(Malachite, Natron, Acanthite, Garnieririte, Petalite, Pyrite, Cobaltite, Cryolite, Gold Nuggets First and then Last slot is databank and named like so.
     
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"databank","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"--databank is last slot to add and named databank\n\n\nlocal slot1item = \"Malachite\" --export:;Slot1 Iten.\nlocal slot1weight = 4.0 --export:;Slot1 weight.\nlocal slot2item = \"Natron\" --export:;Slot2 Iten.\nlocal slot2weight = 1.55 --export:;Slot2 weight.\nlocal slot3item = \"Acanthite\" --export:;Slot3 Iten.\nlocal slot3weight = 7.2 --export:;Slot3 weight.\nlocal slot4item = \"Garnierite\" --export:;Slot4 Iten.\nlocal slot4weight = 2.60 --export:;Slot4 weight.\nlocal slot5item = \"Petalite\" --export:;Slot5 Iten.\nlocal slot5weight = 2.41 --export:;Slot5 weight.\nlocal slot6item = \"Pyrite\" --export:;Slot6 Iten.\nlocal slot6weight = 5.01 --export:;Slot6 weight.\nlocal slot7item = \"Colbaltite\" --export:;Slot7 Iten.\nlocal slot7weight = 6.33 --export:;Slot7 weight.\nlocal slot8item = \"Cryolite\" --export:;Slot8 Iten.\nlocal slot8weight = 2.95 --export:;Slot8 weight.\nlocal slot9item = \"Gold Nuggets\" --export:;Slot9 Iten.\nlocal slot9weight = 19.30 --export:;Slot9 weight.\nlocal dbhtml = \"\"\nlocal dhtml = \"\"\nlocal index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nlocal containermax = 9600 --export:;Your max container holding.\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB2</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\n\n\ndatabank.setStringValue(OreMonitorTwo,html)\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"0"},{"code":"unit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"1"}],"methods":[],"events":[]} Programming Board 3 Link containers(Kobelckite, Columbite, Illemnite, Rhodonite, Vanadinite) First and then Last slot is databank and named like so.
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"databank","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"slot10","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"--databank is last slot to add and named databank\n\nlocal slot1item = \"Kobelckite\" --export:;Slot1 Iten.\nlocal slot1weight = 2.37 --export:;Slot1 weight.\nlocal slot2item = \"Columbite\" --export:;Slot2 Iten.\nlocal slot2weight = 5.38 --export:;Slot2 weight.\nlocal slot3item = \"Illmenite\" --export:;Slot3 Iten.\nlocal slot3weight = 4.55 --export:;Slot3 weight.\nlocal slot4item = \"Rhodonite\" --export:;Slot4 Iten.\nlocal slot4weight = 3.76 --export:;Slot4 weight.\nlocal slot5item = \"Vanadinite\" --export:;Slot5 Iten.\nlocal slot5weight = 6.95 --export:;Slot5 weight.\nlocal slot6item = \"Not set\" --export:;Slot6 Iten.\nlocal slot6weight = 0 --export:;Slot6 weight.\nlocal slot7item = \"Not set\" --export:;Slot7 Iten.\nlocal slot7weight = 0 --export:;Slot7 weight.\nlocal slot8item = \"Not set\" --export:;Slot8 Iten.\nlocal slot8weight = 0 --export:;Slot8 weight.\nlocal slot9item = \"Not set\" --export:;Slot9 Iten.\nlocal slot9weight = 0 --export:;Slot9 weight.\nlocal index = {16, 17, 18, 19, 20} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nlocal containermax = 1200 --export:;Your max container holding.\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB3</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\ndatabank.setStringValue(OreMonitorThree,html)\n\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"0"},{"code":"unit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"1"}],"methods":[],"events":[]}  
  19. Like
    michaelk got a reaction from Moosegun in PVP VS NON PVP   
    100% 

    If you check NQ or JC's twitter, the ongoing media for the game hasn't yet showcased PvP. It's been completely focused on the awesome things players and orgs have been building...or people blowing themselves up due to pilot error. 
     
    It's like they know that PvP isn't ready to be showcased yet and want to highlight the part of the game they know will attract the most players...wild concept! 
     
    If PvP were really so important to NQ, they'd have iterated on it more before public beta. They know their demographics better than anyone. That's reflected in their advertising and development schedule. 
     
    If they wanted to advertise it like rust in space, they'd actually do that. 
     
    People come here and fear something that isn't even a big deal yet -- just focus on building if that's what you want to do, because NQ knows their game. They've spent a lot of time on building tools for a reason...and it isn't so they can make it so everyone's creations are easily lost forever.
     
    Don't listen to people that believe NQ's top priority is making this a PvP experience or that "everyone" wants PvP to be a higher dev priority. Just isn't the case. 
  20. Like
    michaelk reacted to Underhook in What happens when all resources are mined?   
    I know exactly what to do when the resources run out.
    We select the brightest and strongest among us and put them on a massive ship .
    put them into cryogenic storage and send them thousands of light years away to a system with plenty of planets and resources.
    Problem solved 
  21. Like
    michaelk reacted to regoke in New Account BUG? So This Happened to Me   
    My support ticket was answered this morning and my problem seems to be resolved. Downloading the game now. Thanks Rocketman.
  22. Like
    michaelk got a reaction from FryingDoom in PVP VS NON PVP   
    This is a reasonable perspective. 
     
    Stop attacking people that ask or complain about PVP...it really won't help if the DU community has a bad reputation before the game even launches. Someone shouldn't post here expecting to get attacked for stating their opinion about a game...
     
    If the way PVP will work in this game was really so obvious, people wouldn't be here complaining or asking questions.

    Consumers don't do in-depth research before they buy, they buy from emotion. Plenty of players have only ever watched the beta launch trailer...if they churn and subs plummet because they fear how PvP will work, it's everyone that suffers.
     
    IMHO the discussion should be steered to "what happens after you blow up"? 
     
    There's plenty of ways to make being ganked a less soul-crushing experience without making the game "easy" -- I'm sure NQ will figure it out, but if this is a community-driven game, it'll be hard to grow if the community has a toxic rep...
     
     
  23. Like
    michaelk reacted to Moosegun in When will the space safe zone be removed?   
    This IS NOT a survival game, can you find anything anywhere which presents this as a 'survival' game.  It is a civilisation building game, which is completely different.  Players that play it like a survival game WILL struggle, those that buy into the concept of civilisation shouldnt have an issue. 
  24. Like
    michaelk got a reaction from Emptiness in PVP VS NON PVP   
    NQ's marketing could be much, much better. 
     
    Many players will see text like this:
    Most people won't go digging through forums or interviews to try to understand some guy's vision (they don't know or care who JC is) -- they'll watch the one trailer and read marketing text like this (if their attention span is that long), then get angry when they realize that DU isn't the vision they expected. 
     
    The fact that many new players seem to be mad about PVP is really telling about what players are expecting and how those expectations aren't being set.
     
    If you set an expectation and fail to meet it, people tend to get pissy and bomb you on review channels. No one comes into Rust expecting a peaceful builder game. That's because they are upfront about what to expect: Naked + Rocks + Violence.
     
    Yes, JC has made it very clear many times that the game will have FFA PVP, but is that really reflected in the 30 seconds of adverts someone will watch before opening their wallet? Blame whoever you want for idiots with no attention span, that's just how consumerism is today. 
     
    No matter what vision is communicated publicly, JC has investors and employees.
     
    So...my worry is that NQ's marketing will attract a lot of people expecting a sandbox builder. Then they get mad for not having immortal pixels. Then they bomb the game. Then NQ's investors get antsy and demand that NQ do what it can to build its "mainstream" appeal. 

    Andurance Ventures and Azom Partners do not really care about JC's vision...they didn't pipe in well over $11 million to create a niche product with 100,000 subs. 
     
  25. Like
    michaelk got a reaction from Supermega in PVP VS NON PVP   
    NQ's marketing could be much, much better. 
     
    Many players will see text like this:
    Most people won't go digging through forums or interviews to try to understand some guy's vision (they don't know or care who JC is) -- they'll watch the one trailer and read marketing text like this (if their attention span is that long), then get angry when they realize that DU isn't the vision they expected. 
     
    The fact that many new players seem to be mad about PVP is really telling about what players are expecting and how those expectations aren't being set.
     
    If you set an expectation and fail to meet it, people tend to get pissy and bomb you on review channels. No one comes into Rust expecting a peaceful builder game. That's because they are upfront about what to expect: Naked + Rocks + Violence.
     
    Yes, JC has made it very clear many times that the game will have FFA PVP, but is that really reflected in the 30 seconds of adverts someone will watch before opening their wallet? Blame whoever you want for idiots with no attention span, that's just how consumerism is today. 
     
    No matter what vision is communicated publicly, JC has investors and employees.
     
    So...my worry is that NQ's marketing will attract a lot of people expecting a sandbox builder. Then they get mad for not having immortal pixels. Then they bomb the game. Then NQ's investors get antsy and demand that NQ do what it can to build its "mainstream" appeal. 

    Andurance Ventures and Azom Partners do not really care about JC's vision...they didn't pipe in well over $11 million to create a niche product with 100,000 subs. 
     
×
×
  • Create New...