Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2019-03-05 in all areas

  1. Raising funds to do this was an utter disaster that drove one past WFG team leader to madness.
    5 points
  2. I got an answer. So should be good We will add them to the credits.
    4 points
  3. As Alexander said, it's in his horse update. Thanks to him for rigging, animating and actually getting the model in game... It was intended specifically for the hero Queen Amanirenas (chariotry was still around in the 500 BC - 1 BC timeframe, but not as common as it once was). I guess it could be adapted for a champion unit as well. It was originally decided to drop chariots because the Kushite roster is already so diverse and other factions don't have such a diverse roster. A new find in the excavation report of the first excavations of Meroë by Garstang himself. A Kushite chariot from a fragmented relief on the 1st century BC Meroitic period temple M 250 in Meroë (in a militaristic context of battles, massacres, marching soldiers, occupied villages etc). Similar to the fragmented reliefs of 2 chariots in the 1st century BC Meroitic period temple of Osiris in Napata, as well as the fragmented reliefs of chariots the 8th century BC, 25th dynasty reliefs of Piye in the Great Amun temple of Napata. I could also give the "Libyan" chariot a go. Just to be clear, do you mean Libyan, or Garamantian chariot? https://africanrockart.britishmuseum.org/thematic/chariots-in-the-sahara/
    2 points
  4. Some say his spirit still haunts this place to this day
    2 points
  5. Yep, i don't know how i get there, neither how i end finding that way of making it works.
    2 points
  6. I mostly fiddled around in Matrix3D.h, entirely replacing the contents of some functions with either calls to the Intel® Math Kernel Library or blocks of SSE intrinsics. I did not see any measurable improvement, but I've attached the file. The original code is left intact, commented out. Aside from these completely re-written functions, the only change is the addition of the <mkl.h> header. Couldn't hurt. Unfortunately I don't believe so. VTune Amplifier does have some JavaScript profiling capabilities, but as far as I know they're limited to node.js profiling. Also, I know pretty much nothing about JavaScript. I'm afraid while that JavaScript bottleneck is in place there's not much else I can do for 0 A.D. I do have enough from this to at least fuel the internal training session late next week. Depending on how that goes, I might produce a small how-to video/article based on this project. If I do, I'll be sure to post a link here.
    2 points
  7. I have some good news and some bad news. The good news is that I've finished my analysis. The bad news is I can't really do anything about it myself. After what I found last time I did some work trying to optimize the code, but I found that nothing I did had any measurable effect on performance. My changes caused individual functions to shuffle around a bit (and credit where it's due, the pathfinder did once pop up at the top of the list) in the Intel VTune Amplifier interface but I saw no improvement in the actual game. So I took a step back, thinking maybe I missed something at a more basic level. Now, as I said in my first post, the reason for this project is that my team is, as a whole, relatively inexperienced with using our product on video games. We're more accustomed to scientific applications and the like. So I'd approached this the way I was used to doing, and went straight for the largest known hotspots, ignoring the unknown modules. I also focused on the lengths of the frames instead of the overall frame rate. I conferred a bit with someone who was a little more used to the inner workings of video games, and re-evaluated my data. A large chunk of your time is spent in those unknown modules, and you have significant gaps between your frames - what's especially interesting is that if I filter my data down to only the gaps between frames, all the pathfinding, rendering, bone matrix manipulation, etc, drops away, and the overwhelmingly vast majority of what's left is "outside any known module". This kind of pattern can indicate that the bottleneck is an outside factor. Being a video game, the most obvious potential source is the GPU - it doesn't matter how efficiently calculations are being done if things end up waiting for the GPU to finish what it's doing. So I ran a GPU/CPU analysis, but it showed that the GPU wasn't the problem. There were gaps in the activity there, too. So now I looked at the large number of threads involved in your game, most of which are not doing anything most of the time, and thought that might be the problem. So I ran a Threading analysis and saw that there were quite a few transitions between threads happening in those gaps between frames. When I opened the call stacks for those top two objects, the call chains eventually went down into BaseThreadInitThunk (with the semaphore object going through a js::HelperThread::threadLoop function on the way). As I understand it, 0 A.D. is built on a mix of C++ and JavaScript code, and Thunking is a form of interfacing between two different types of code - such as two different languages. So presumably this is where your two languages are talking to each other. So what I believe is going on here, is that these gaps between frames are coming from the game having to wait for the JavaScript. A couple possibilities I can think of are that you might be interfacing the two languages too often, or you might be doing computations in the JavaScript that really belong in the C++. Unfortunately there's not much I, personally, can do to relieve that bottleneck. Technically, I now have enough content to fulfill the barest requirements of my project. Before I continue I want to make it clear that I absolutely understand that you're on your own schedule and I don't expect anything from you! I just want to let you know about my own timeline, in case it affects your priorities or decisions. If you guys do end up fixing your JavaScript issues in the next week and a half, please let me know and I would be more than happy to include the improved results in my initial presentation. If it gets done by mid-April, I would be happy to include a result comparison/improvement showcase in any official documentation I might produce from this, and if early enough, I might also be able to include a second analysis step. Thank you all for your interest, and good luck!
    2 points
  8. 2 points
  9. https://www.blenderkit.com @stanislas69 can you see if this is allowed to be used by Creative Commons license? this is a blender wide range list of materials to use freely when baking. Preview in blender:
    2 points
  10. Here are some tutorials for making procedural materials (Materials that doesn't exactly need a texture image for looks good) Have fun. Eyes making https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Advanced_Tutorials/Procedural_Eyeball_in_Cycles Marble/Stone like materials and Cracks/veins https://cgmasters.net/free-tutorials/blender-cycles-tutorial-stonemarble-how-to-make-any-texture/ Letters animations (Maybe for making introduction videos).
    1 point
  11. Hello, 0 A.D. community! I'm a Technical Consulting Engineer at Intel Corporation, and I need your help. In short, I'm reaching out to you in the hopes of finding 1-3 developers familiar with the 0 A.D. code base to work with me on optimizing your game using Intel's software analysis tools, specifically Intel® VTune™ Amplifier. While I won't be contributing any patches personally, and do not intend to be a long term developer, you are more than welcome to keep and submit any optimizations we make as part of this project, free of charge. In particular I'm interested in optimizing the functions BlendBoneMatrices, Render, and possibly also SkinPoint. A little bit of background for you. Intel® VTune™ Amplifier is a sampling-based analysis tool used to measure performance and locate/diagnose bottlenecks in code. Unfortunately, Intel has a bit of a deficiency in documentation for using this tool on graphical applications like video games (a problem in and of itself already), which in turn leads to the additional problem of a lack of familiarity with this use case in the employees tasked with supporting the product. Currently I am attempting to remedy the second problem by creating an Intel internal training demo for using Intel® VTune™ Amplifier on video games. In theory it should be simple: find a suitable game, run the analyzer, optimize appropriately, show off the results. After some searching around I settled on 0 A.D. as a good candidate for this purpose, and I've been collecting plenty of data on it (it's also a great excuse to play a really fun RTS at work ). I've been able to identify some bottlenecks worth investigation and I've diagnosed the causes to varying degrees. But this game is a... very big project, and that's where I got stuck. I'm brand new to this code base and while I know (or at least suspect) what needs to be fixed, I don't know how to do it. This is where you come in. With your assistance, I hope to understand how to implement these optimizations, since you know the code much better than I do. Again, you're perfectly welcome to keep whatever optimizations we come up with. While the current goal is to create an internal training demo, ideally I hope to create official public documentation on the Intel Developer Zone website as well, such as a tutorial or video, using 0 A.D. as the example application. Assuming Legal gives me the go-ahead after reviewing the game's licensing conditions, I would be more than happy to give you credit for your assistance (should you request it) in this context as well. Please let me know if you're interested in assisting. I would be happy to provide more detailed information about the bottlenecks I've identified, as well as access to Intel® VTune™ Amplifier, my analysis result files, and the 0 A.D. save file I've been testing on. *I'd like to make it clear that I am acting here as an individual employee of Intel Corporation pursuing a work-related task, but I should certainly not be taken as an official representative of the company as a whole. I am "Alex from Intel", not just "Intel"!
    1 point
  12. Wow, it's gorgeous!
    1 point
  13. Hey, What you've noticed is accurate, and somewhat known (mostly by me I guess): The rendering is draw-call bound and slow, the pathfinder can be slow, and the Javascript main loop is very slow (we use it for most gameplay stuff, which is why it's slow). Unfortunately, profiling spider monkey accurately is very difficult. There are few tools, and almost none that can be integrated with an existing profiler. What you'd see in OSX's instruments and I assume VTune are memory addresses, which are actually JIT-ed code and/or spider monkey code (mostly the former). With a lot of hard work, using JIT debug output and the trace logger, one might create debug symbol-like structures to document these, but it seems not super useful. What we did in the past (and probably will in the future) for profiling JS was using our internal profiling, which does have an overhead but can give you an idea of what's going on. _Overall_, though, we've already optimised most obvious bottlenecks. The remaining bottlenecks are not trivial to fix, and JS is somewhat of a lost cause.
    1 point
  14. You don't need my permission Indeed their license is not compatible with CC, so they would need to release some of the assets under that (apparently that's what they want to do with their "Open source package" (that is not very clear)). Contacting them would be the best way to know what we can do.
    1 point
  15. Two shapes more: Also, needed to point this: i've added 5 shield shapes in minutes, and the result is 13 shield shapes + 23 texture variants + the amount of spinas + the amount of bosses + 2 celt manipulas. Wich is kinda like a random digits password generator. i managed to make the shield making process less stressfull making shield by shield texture including their ornates, and now its just: Select your shield background. Select your faction paiting. Select your shield shape. (Optional) Assign your spina. (Optional) Assign yor boss. Complex works of weeks, end being a door to simplify works of minutes. I Hope other's factions shields takes this path too, being a full scale shield update in days and not months.
    1 point
  16. Horse mod for those who want to give it a small try, but be aware isn't perfect neither finished. Mod: Horse_Revamped_Mod.7z
    1 point
  17. I have tried maps/random/rmbiome/alpinenothing.json maps/random/rmbiome/biomes/alpinenothing.json mod.json In zip file.. That is just alpine biome renamed with nothing so AlphineNothing is title and description. Of course my plan was to strip it back to almost nothing resource biome for just something odd to play but I decide to start with minor changes first. I have tried this with map harbour and gear with this mod active and AlphineNothing does not show up. Have I used the wrong path. Or are third party biomes not supported? Thinking this is my second attempt at a mode for 0ad my first was a simple mod to change the number of units to include 500 1000 and 1500 limits and that works perfectly. Unlimited is a little too much for my computer and 300 units I run into unit issues.
    1 point
  18. Sorry I wrote it wrong. When I said cannot build on top of I was referring display order. So you build a building where there are actor objects and the actor objects be taller than the building like a house in a actor forest can be basically invisible. This does not help play ability making buildings and units be cloaked that otherwise would have had to been in clear view of player. Also is most likely not help performance. Possible modification to game that build building on actor objects that are taller than building disappear actor object? Don't know if that would help performance or not but since that is not the way the game engine current works I will simple go for unit style. One of the reasons why I am working on these nothing resources. Is I know me I am causing myself a performance problem when I start with high resources.like death match level resources. I am horrible I will focus on construction. This means I leave the trees and other resources alone late in game I start running out of ram on some maps. Yet I start on low resources where I have to consume the trees the game takes longer and I don't run out of memory. Deathmatch + a biome that turns all trees and the like hostile so they have to be consumed will most likely be a work around to this problem. I have had maps more playable at high resources with the pure tiger mod because I have to kill the tigers to attack anyone and I am in fact killing tigers faster than I can produce units. So far maps that would eat me out of 8g of ram are perfectly playable at under 4g with just the simple biome hack turning everything Gaia into tigers. Think of this as mandatory map provided resource consume resulting in less cpu/ram consume late in game. Of course I am work on that hostile biome are playable with low resources as well as that turns out to be fairly simple just include a market. Currently doing this by having market as a large stone pile. ( Yes reused the graphic). There is method to my madness.
    1 point
  19. Yes I have tested that actors work but I am not going that route. Remember you cannot build on top of those actors and not being able to consume/destroy them comes a real pain. Starting with 100 resources is playable if you start with market even the AI kind of copes could be tweaked to be a little smarter on picking up that is in resource trouble and needs to trade. Thanks everyone I am past stage 1 and 2. Now it fun job stage 3. Stage 1 can customise up warped biomes Stage 2 work out what was the min requirements to be playable no matter what user set from the game defaults. This is that stoneLarge or metalLarge needs to be a market. Stage 3 start working on units/buildings to make it look decent/possible be more nasty at times. So the next task make a large stone/metal market from stone/metal resource model that is in fact a gaia civ neutral markets. As you basically need to capture a market off the start line to make sure that you can get resources by either selling food or trade and this market looking different to civ market is fine but looking like another civs market does look out of place. I do have a few different evil plans like making trees that are in fact fixed ranged units. I can not see true ship hunting sea units. This basically makes the map one extra enemy. Before caring about exterminating other players worry about staying alive against the map. Thanks everyone for the help so far.
    1 point
  20. I have it kind of working so I can answers a few things now. maps/random/rmbiome/generic/alpinenothing.json is what works. Removing entries does not cause crash just causes biome system to return to default so no JS error. "Gaia": { "tree1": "gaia/fauna_tiger", "tree2": "gaia/fauna_tiger", "tree3": "gaia/fauna_tiger", "tree4": "gaia/fauna_tiger", "tree5": "gaia/fauna_tiger", "fruitBush": "gaia/fauna_tiger", "chicken": "gaia/fauna_tiger", "mainHuntableAnimal": "gaia/fauna_tiger", "fish": "gaia/fauna_tiger", "secondaryHuntableAnimal": "gaia/fauna_tiger", "stoneLarge": "gaia/fauna_tiger", "stoneSmall": "gaia/fauna_tiger", "metalLarge": "gaia/fauna_tiger", "metalSmall": "gaia/fauna_tiger" }, This generates a resource nothing map. Little bit overly hostile with tigers everywhere including walking on the sea floor. Also almost totally fatal if you start on low resources. I think chicken will have to come some form of trade cart. Yes replacing trees, stone, metal, bush, tigers do work. Wonder how many of the hostile gaia I can in fact get into 1 biome define. Vary them still gives me what I am after. I am guessing there will be worthless items I could use in other versions of nothing biomes.
    1 point
  21. Hello, and thanks for posting here. Have a look at https://code.wildfiregames.com/D1359 where a new biome was added for a map. @FeXoR and @elexis are more knowledgeable about random maps than I am.
    1 point
  22. I would personally really love this in vanilla as well...
    1 point
  23. Good then, his wood procedural is good for trees and shields.
    1 point
  24. (a bit late reply, but better late than never) Don't forget to check the specific license terms, since "free" often does not mean "without any limitations", in particular Poliigon's license explicitly forbids redistribution and usage in open source projects: https://help.poliigon.com/faq/license-faq
    1 point
  25. A serie of pictures showing some animals movements: http://ebooks.library.cornell.edu/k/kmoddl/toc_muybridge1.html
    1 point
  26. This youtube channel has a lot of low poly animals animations if someone wants inspiration for making animations: https://www.youtube.com/channel/UCuFGjHdli3bZQq1tvj9_MVQ Preview:
    1 point
  27. A maybe good tutorial for making trees, https://blog.michelanders.nl/2018/05/realistic-trees-in-middle-distance.html?showComment=1527188656219#c7583121538633755674
    1 point
  28. Procedural damaged metal: Procedural_Metal_Damaged.blend
    1 point
  29. Procedural wood planks: Procedural_Wood_planks.blend
    1 point
  30. tutorial for making grass field in blender (can be used for make terrain textures
    1 point
×
×
  • Create New...