14 ms·
Veloren is a multiplayer voxel RPG written in Rust
- noja 5y agoThe "Tutorial" button is not working for me.
- andyfleming 5y agoSource is here if anyone is curious: https://github.com/veloren/veloren https://github.com/veloren/veloren
- AngelOnFira 5y agoThat's actually a mirror, our main repo is on Gitlab :) https://gitlab.com/veloren/veloren/ https://gitlab.com/veloren/veloren/
- TheKnack 5y agoIs the user supposed to have to use chmod to make the launcher executable on Mac? The docs don't mention anything about it so I'm not sure how non-devs will figure out how to run it. Are there plans for an M1 version? I checked Gitlab issues and didn't see anything.
- Jweb_Guru 5y agoIt already runs on M1. The chmod thing is an issue with the CI that should get fixed soon, hopefully.
- TheKnack 5y agoIt runs on M1 under Rosetta emulation. Performance and stability would be better with an M1 native version. It looks like the chmod issue has been around a long time. I found Reddit posts going back a year or two. If it's not going to be fixed, why not put a note on the downloads page so people can actually run the game?
- Jweb_Guru 5y agoVeloren uses some native libraries, so IIRC getting it to work under Rosetta was not completely painless either. That said, the reason native M1 builds aren't currently offered is that Apple makes it a pain to compile from other architectures, not that Veloren doesn't compile for M1 (it does). I believe native M1 builds are actually in progress right now. So is the chmod issue, which AFAIK we only figured out the root cause of relatively recently (September?).
- fredoliveira 5y agoI was curious too, so I decided to build it. The build process took exactly 5min8sec on a M1 Pro, and was pretty flawless. Only gotcha was that I had to install rust v1.59.0-nightly using rustup because of one of the dependencies. If you want to do the same: brew install cmake git-lfs git lfs install git clone https://gitlab.com/veloren/veloren.git cd veloren cargo run Based on this, I see no reason for a downloadable M1-ready version of Veloren to be made available. Compilation is trivial and fast, so might as well.
- fbrchps 5y ago> inspired by games such as Cube World Well I'm glad to see this so early on, considering it looks like a Cube World knock off. Although to be fair, I would imagine this game was first thought of as people's expectations for CW fell flat upon the initial (and only?) release
- chinchilla2020 5y agoInspired by Cube World? Are we not going to mention the 900lb gorilla, Minecraft?
- Macha 5y agoIts literally three words after the excerpted section, but I agree that Cube World is a more direct inspiration. Certainly Minecraft popularised combining voxel games with open worlds, but I think gameplay wise Cube World definitely belongs first on the list. After all, Minecraft didn't introduce the concept of voxel terrain though, infiniminer and worms 3d being earlier examples of games using it
- nonbirithm 5y agoHaving been a part of that era, I can attest that to a certain tribe of young and aspiring programmers, attempting to implement clones of Minecraft and talking endlessly about "procedural generation" and "voxels" and "chunks" was all the rage back in 2012.
- zesterer 5y agoI was one of them, as my YouTube channel can attest. The desire to create procedural worlds never left though.
- libraryatnight 5y agohttps://cubeworld.com/ https://cubeworld.com/ That's Cube World. This game looks a lot like Cube World. And not just in the way that Cube World looked like Minecraft in that it was blocks and procedural (which is mostly where Cube World and Minecraft intersected, cw has no block building in the game). Looking at this game and knowing a little of the saga of Cube World I'd bet Veloren is an Open Source response to Cube World making an appearance, exciting a lot of people with potential, going silent for years, then eventually releasing something less fun than the initial preview and dropping into obscurity. It looks at a glance like this began development during the aforementioned silent period.
- yhoneycomb 5y ago
- daguava 5y agoHacker news is a wonderful place where we can share many different projects and a love for tech and software development. Shallow, subjective, emotional comments don't lend themselves towards driving discussion and growth in any form, please consider expanding more fully on how this is "amateurish" and how that detracts from the artform.
- AlanSE 5y agoI played a bit into this game (maybe about 20 hours), and it's good. The size of the map dominates the game-play as you aim to explore all the types of destinations. It's a procedurally generated world, and some hilly towns will get a little weird. The glider is really a killer features, because the mountains are really really steep, you climb up to the top and the glide to cover a fairly large distance on the map. It was still hard to get into the social element of the game, because of so few players and such a large map. I think other players tended to be concentrated at the main spawn point, so a lot of the rest of the world was a backwater essentially. They also have a giant tree. It will cost you some hours, but it's quite different than anything else you'll find.
- NikolaNovak 5y agoGliding - like tribes? I miss that mechanic so much I'll try any game to get my kick
- keyle 5y agoShazbot!
- cevn 5y agoI am the greatest!
- thoughtpalette 5y agoMan I miss that game/community. edit: I was Vag/Dis, played PB Mod from 00-04' if anyone's still around. |!i!PbP|
- thegeekpirate 5y agoNo, that's skiing ;) https://tribes.fandom.com/wiki/Skiing https://tribes.fandom.com/wiki/Skiing
- dustymcp 5y agoBest fps
- Shared404 5y agoThis is one of those projects I don't actively use, but keep an eye on and love to see progress in. Last time I played, it wasn't really there as a game yet, but I think it's about time to try again!
- zozbot234 5y ago
- brink 5y agoHave you tried Rust? It really is something special.
- zozbot234 5y agoYes, but is it so special that us HNers need to be reminded about it every time someone rewrites some random software thingy in Rust? It gets so boring after a while.
- Quikinterp 5y agoThere's also people like myself who have a general interest in voxel related software. I've always been fond of the aesthetic but also all of the optimizations people use for voxel games and renderers
- zozbot234 5y agoOf course every project has its own genuine points of interest, I'm not denying that! But the commonality is clear enough.
- libraryatnight 5y agoI've never felt like anyone was reminding me about anything, HN is a site frequented by programmers, it's useful to programmers to see what other programmers are building and with what tools. Rust is popular so we see it a lot but we also see X written in Go, or Y written in Python, and so on.
- skohan 5y agoI don’t think that’s completely correct - I think “written in rust” being bandied about as a feature is a somewhat unique feature of the Rust community
- qchris 5y agoI'm a little curious, is there a technical reason why voxel games are easier to build than non-voxel ones? The docs mention that all of the assets are community-contributed. Does making them voxel-based just drastically lower the skill theshold to make a contribution, vs. smoother ones in something like Blender? I guess I'm a little curious about the relative amounts of effort that would have been required to make this kind of game (procedurally-generated open world, I believe) using non-voxel assets and mechanics, since the existing set seems to be pretty fully-featured.
- aufhebung 5y agoIf I put a 5 year old in front of a polygon based 3D modelling program they will have no idea what to do, and even if I teach them the tools they will have trouble. If I put a 5 year old in front of Minecraft they will eventually figure out how to build stuff. I hope this answers your question.
- Computeiful 5y agoI've always imagined that voxels are the pixel art of the 3D world. Much easier to create from both an aesthetic and development point of view. Hard discrete edges that fall along the XYZ planes are much easier to program for (think collision detection etc).
- colordrops 5y agoGuessing here, but perhaps the computational complexity for rendering voxel assets is much more bounded, e.g. you can't make something with a super dense vertex count and complex shaders and other transforms and bog the game engine down.
- zesterer 5y agoActually, completely the opposite is true. There's a reason that voxel games appeared after games with more traditional meshes. The fundamental complexity of voxel data structures is higher: O(n^3) for iteration, and the density of polygons required after meshing is generally much higher. The only real benefit from a complexity standpoint is that storage and access of specific voxels is much faster, but this often doesn't represent a payoff. Voxels are great for a lot of things, but making a game like Veloren run quickly is much harder than you might initially realise. There's a reason that we're told at least every 3 years that a new company has come up with the 'engine of the future' using voxel tech only to have it vanish into obscurity as they try to turn it into something that's not a tech demo. For Veloren, there is a big benefit: we get to create enormous procedural worlds. But actually controlling the complexity of that data and efficiently storing/accessing it is a non-trivial change as you'll see from the project's dev blog.
- moxvallix 5y agoThis game is quite a fun time, even if it is only a short time. I got a bunch of my mates together, and the four of us worked through the main progression. There was a great loop of venturing out to a dungeon or cave, taking on challenges greater than we could handle, managing to scrounge some expensive loot or rare gear, before returning to a village to trade with NPCs. At the time there was also a bug where a very common flower would sell for very high prices, allowing us to get a lot of gold. We could trade this for valuable health potions that help greatly in difficult dungeons. We got a couple of nights together out of the game. However, unfortunately the game is rather short, and after we had conquered a level 6 dungeon, and obtained the best gear, there was little left to do. Development is still ongoing, and it is exciting to read the devlogs every now and then to check on the progress however. And maybe once there is enough extra content we’ll jump back in for another session. The world generation in the game is absolutely breathtaking. Might even go as far as saying it rivals that of the new Minecraft 1.18 World generation update, at least with the mountains. And I really love the music in the game, it fits really well with the whimsical aesthetic of the game, and I get it stuck in my head every now and again, even though I haven’t heard it in months. The game had its fair share of jank as well, as is to be expected with a (pre-alpha?) early version of the game. The movement took a while to get used to, and it felt a bit floaty at times, and didn’t always feel like I was fully in control. As well the camera was really close to the ground, which was a lot to get used to, as I am used to the taller perspective of Minecraft. However, the game does a great job of allowing the player to switch between first and third person, merely by scrolling the mouse wheel. (You can take the camera really far out too to get great cinematic screenshots, of which I have a collection) The combat felt a bit off at times as well, as the cooldown between attacks, and the speed of the attackers often matching that of the player felt like you couldn’t escape once an enemy locked on. Luckily the middle button roll could usually get you out of attack range, but it felt like this could be improved (and I think it may have been improved since). At the time I was playing, the trading system was also really confusing, but I believe it has been changed since. All in all, it is well worth checking out the game. Make sure you play the nightly. Best enjoyed with a group of mates, but it is also fun just exploring by yourself. I can’t wait to see what cool stuff is still to come with this game. Edit: added section about janky combat.
- 5y ago
- brunt 5y agoA previous HN post with some comments from core developers: https://news.ycombinator.com/item?id=26037461 https://news.ycombinator.com/item?id=26037461
- deutschew 5y agogetting fatigued by minecraft look & feel, what is the next evolution to block vixels?
- GartzenDeHaes 5y agoDual Contouring? https://www.boristhebrave.com/2018/04/15/dual-contouring-tutorial/ https://www.boristhebrave.com/2018/04/15/dual-contouring-tut...
- vgb2k18 5y agoDestructible environments. Ala, Teardown. https://forum.unity.com/threads/want-to-recreate-teardown-destructable-voxel-physics.1057268/ https://forum.unity.com/threads/want-to-recreate-teardown-de... The discrete voxels can be smaller than in Minecraft, and behave like physical box shaped objects when dislodged.
- skocznymroczny 5y agovoxels processed through marching cubes algorithm - https://developer.nvidia.com/gpugems/gpugems3/part-i-geometry/chapter-1-generating-complex-procedural-terrains-using-gpu https://developer.nvidia.com/gpugems/gpugems3/part-i-geometr...
- Rendello 5y agoIf the Rust game dev aspect interests you, check out the Rust Game Dev podcast too. One of the co-hosts works on Veloren: https://rustgamedev.com/ https://rustgamedev.com/
- orangetuba 5y agoHoly cow, why hadn't I heard about this? Thank you!
- AngelOnFira 5y agoI do! We actually have an episode coming out tomorrow! (today? edit: it's already out!) I'm really happy that I could get more integrated with the Rust Gamedev "Working Group", since I've been able to chat with so many cool people through the podcast, and host a monthly meetup to see what people have been working on. It's a great community! Another great Rust gamedev link if you want to see how the ecosystem is doing: https://arewegameyet.com https://arewegameyet.com
- okasaki 5y agoThis looks really cool. Curious though that they picked GPL3, but not AGPL, given the product type.
- zesterer 5y agoWe're considering moving to AGPL.
- Yaina 5y agoI'm still traumatized from Cube World.. (But it looks cool, definitely gonna browse through the source code a little)
- daguava 5y agoI feel like some of the "inspired by cubeworld" stuff is a little too heavily inspired, but I really enjoyed taking a quick look at the source and logging in to check things out. Things seemed pretty clean, and because everything has source posted I was able to mess around with the apis, and try a few things against your services :) (hope I didn't set off any alarms lol). That said, what I'm assuming is Sha256 could always be a bit tighter, consider a strength upgrade on those credentials. There's a bit of snobbery going on here for go / voxel hate, but I really enjoyed digging into a completely open source setup for something that is already a nice intro of game, services, and execution, well done :)
- AngelOnFira 5y agoLet us know if you find any holes! We currently have an MR where we're overhauling some of the auth, and I know in the future we do want to explore what else we could add/improve for our backends :)
- daguava 5y agoThe only hole I found was if you bypass UI hashing you can create an account that can never be logged in to, but... that's the most secure account I can think of.
- Jweb_Guru 5y agoCredentials use argon2.
- daguava 5y agoThanks for the info, I saw the length matched the usual sha256 so assumed it ended there. I'm from a bcrypt crowd which is why I offered the suggestion but as long as you're taking things seriously I'm all for it :)
- KyleBerezin 5y agoCubeworld was never completed. It makes sense that people try to take up the torch.
- pca006132 5y agoInterestingly their launcher GitHub readme provides installation instruction for NixOS users but their website does not mention it. Launcher GitHub page: https://github.com/veloren/Airshipper https://github.com/veloren/Airshipper
- yardshop 5y agoThis is beautiful!! I got myself up into the Giant Tree and spent three nights. The colors and effects are wonderful. I could zoom way out to the neighboring mountains and pan around to see the whole landscape, then back in to see the crazy creatures on top of the tree. I put on my glider and jumped out of the tree and realized I didn't know how to fly yet and splat!! Even though it's multiplayer and has quests and lots of activities, I had a great time just exploring around by myself. Thanks for a fun game!
- fire 5y agoOh this looks cool! I wish I could have registered my username, but it's already taken; ah well, wasn't fast enough
- aasasd 5y agoReal shame that the ‘voxel’ word got hijacked for cubes, which are obviously polygonal. In ‘Vangers’, the map is made and rendered with real voxels. Now that's some shit: https://www.youtube.com/watch?v=P9R7QJ5Sh1o https://www.youtube.com/watch?v=P9R7QJ5Sh1o Simply having blocky cubes as units is just not the same, at all.
- Quikinterp 5y agoIt didn't get hijacked. Cubic voxels are still voxels. There are lots of non cubic voxels games that come out still.
- bodge5000 5y agoFrom what I understand, theres 2 different definitions of what a voxel is. The first, as is the case with this, is moreso on the data structure side of things, in which a voxel is like a point in a point cloud, but the point cloud is fixed to a 3d grid. The meshes can be anything, but cubes are the most common, and they are almost always polygonal. The second is, as you describe, a fundamentally different rendering method using "3d pixels" instead of polygons. These kinds of voxels almost always use the same data structure above as well, but as you say they aren't polygons. Strange we ended up with the same word for both, unless I'm mistaken
- aasasd 5y agoVoxels as in ‘3d pixels’ have been around since the 90s at the least, as evidenced by Vangers. Later, some people took the word and used it to describe Minecraft, in the meaning ‘big blobs that aren't even the smallest atomic unit, as there are clearly items that are made with smaller shapes’.
- zesterer 5y agoIf you take 'voxel' to mean '3D pixel', then how does Veloren not fall into that category? What does "real voxels" mean? If you're talking about rendering things as point-clouds or using raycasting, then you're not describing voxels. You're just describing one of many possible techniques for rendering voxels. Isosurface extraction into a polygon mesh is also in that set and is no less valid than the definition you're going for.
- deleted 5y ago[deleted]
- elcritch 5y agoCan this run in VR? It’d be fun to have a truly open VR sandbox world. I don’t see anything at first glance though.
- chimprich 5y agoThis would be very interesting. There doesn't seem to be a lot of GPL'd VR stuff out there, and I would think this would work very well in VR.
- Shadonototra 5y agoThis game is the worst to compile, makes me glad i haven't picked that language I can't imagine myself being stuck for 10 minutes to see a change happen on screen Just take a look at a Veloren dev changing a line, then compiling it: https://www.youtube.com/watch?v=nR2WDBMjkh8&t=976s https://www.youtube.com/watch?v=nR2WDBMjkh8&t=976s Rust is not made for game dev, this project is the proof, your progress will stall at some point because you won't be able to iterate on your game anymore! That's the curse of Rust Where are the gamedev that announced using Rust from now on 5 years ago? they still stuck compiling their projects! What a disaster: https://github.com/veloren/veloren/blob/master/Cargo.lock https://github.com/veloren/veloren/blob/master/Cargo.lock 7.5k LOC just for dependencies..
- Jweb_Guru 5y agoVeloren's compile time is bad, but this is hyperbolic nonsense. To address your points in order: * Compilation is a ton faster on an M1 and with a non-default linker. Compilation from scratch (including all dependencies) took around 10 minutes for me last time I tried; compilation of the main game is much faster (I think in the ~ 1 minute range, which is more than acceptable if you're not doing something sensitive like animation work.). Obviously, not everyone has an M1, but it's hardly a dealbreaker if you've got a machine designed for development. * The developer in your video is changing a line in veloren-common, a "root" crate that leads to a bunch of other stuff recompiling. The vast majority of changes are in leaf crates, which compile much faster. For animations, in particular (which require quick feedback) we have a separate compilation unit that compiles on the order of seconds and can be configured to be dynamically linked to the main game, so they can get pretty much instant feedback. For as many kinds of assets and data as possible, we also push it out to configuration files with hot reloading, so most people working on models, item and color tweaks, etc. don't have to wait for compilation at all and can just save their files. * Many games written in C++ also take ages to compile. Rust isn't unique in that regard. Clearly, it hasn't stopped Veloren's development (I can't think of anyone who quit development because of the compile times, though there's a lot of grumbling). In fact, I'd venture to say that Veloren has had some of the most developers and fastest development of any 3D open source game I'm aware of, regardless of language. * No major developer I'm aware of announced using Rust for games 5 years ago. What are you talking about? If you mean the Chucklefish title, that had nothing to do with compile times. As far as I know, the game companies using Rust right now are mostly using it for tooling. * The file you linked is the equivalent of yarn.lock, Cargo.toml is the actual dependency file. Dependencies do not need to be recompiled each time you compile Veloren, only the first time. Additionally, most dependencies compile pretty quickly and parallelize well. There are a handful of dependencies (the procedural macro ones in particular) that take a huge percentage of the overall compile time and/or act as bottlenecks, which is tolerated because they are extremely useful. Veloren could optimize more aggressively for compile time, if the project was so inclined. A lot of that compile time is spent on generated code from macros like serde. Veloren also deliberately tends to use very large crates rather than trying to split everything into very small compilation units (some of them have been split up to improve compile times, but not too much). The project's perspective is that benefits of using those libraries (which greatly simplify development) and having fewer crates (which makes it much easier to avoid exposing internal APIs to get anything done) far outweigh the compile time costs, but not every project takes that approach and there are a lot of games that compile much faster than Veloren. It's really not a fundamental limitation of the language.
- xialvjun 5y agoDoes it have a VR mode? It will definitely be awesome.
- DeathArrow 5y agoI wonder what graphical libraries are they using. DirectX, Vulkan, OpenGL, Metal? A wrapper over some of these?
- Galanwe 5y agoFrom their github/cargo.toml it seems to be using "wgpu" (https://sotrh.github.io/learn-wgpu/#what-is-wgpu https://sotrh.github.io/learn-wgpu/#what-is-wgpu) which at first glance seems to be an abstraction layer that can fallback to OpenGL/DirectX/etc depend on ng on the platform.
- skocznymroczny 5y agowgpu is based around the WebGPU standard, which is expected to replace WebGL in web browsers for 3D graphics. wgpu (and WebGPU) is closer to DX12/Vulkan/Metal than OpenGL/DX11. Although it's much easier to use than Vulkan/DX12, abstracting away things like synchronization, memory management. I use wgpu in my D application through wgpu-native (offers a C header to interface with languages other than Rust) and it's been a great experience overall.
- guest1239571 5y agoWebGPU as far as I recall
- kretaceous 5y agoThis looks awesome and I installed it via Flatpak in my Linux Mint 20.3 to try it out. But the launcher keeps crashing without showing errors. All I see is a window frame with no content inside (it's transparent) and then it crashes. Any help? I really want to play it!
- deleted 5y ago[deleted]
- rklaehn 5y agoThis is great. My kids are very much into minecraft. I am very much into rust. I would love to help them make the step from playing games to hacking on games. This was very simple back when I was a kid, but is quite hard now. The games you can make are so much less impressive than the games they are used to.
- skerit 5y agoI was also very attracted to this game, but then I found out it's really an RPG and there is no (real) building of any kind. I don't really know anyone who wants to play a procedural generated blocky-RPG they can't modify the environment of :/
- geek_at 5y agoI had the same thought. I thought the main point of a voxel engine is to be able to modify the terrain. If not then it's just a fixed scenery
- gefhfffh 5y agoIt's not completely fixed, e.g. you can dismantle trees with fireballs, dig for minerals in caves or work on rocks
- DrSiemer 5y agoThat's why I thought, until I played Cube World. The procedural generation somehow instantly provides a sense of mystery, that makes you want to discover what this "fresh" world has to offer. Like Minecraft, the unexplored feeling adds a sense of adventure, that is hard to mimic in a handcrafted map. When you climb over a hill and are greeted with an amazing view, you feel like you are experiencing something unique, instead of the exact same curated sensation all the other players of the game will be having. The fact that you cannot destroy every block in it does make the game feel more solid. The freedom you have in a game like Minecraft also limits certain gameplay aspects: you can always dig a hole and hide. Personally I don't mind the lack of building options at all. It's fun, but it can get a bit grindy when you are trying to create something big in survival mode. It was such a shame Cube World never got anywhere, I'm glad this is here to pick up where that left off!
- hnlmorg 5y agoCube world was released?!? How did I miss that. Anyone played it? Is it any good?
- Duralias 5y agoDepends on who you ask, but it is kinda worse than the alpha, far lesser scope. Gameplay loop is defined though and it is definitely more finished than the alpha, but there are some very annoying game design choices and it is very repetitive, but people are trying to fix those things with mods, not sure how well since I haven't touched it since launch.
- thih9 5y agoFor others missing context: > An alpha version of [Cube World] was released in July 2013, but saw sparse updates and communication from von Funck, with many considering the game to be vaporware until he officially released it on September 30, 2019. source: https://en.m.wikipedia.org/wiki/Cube_World https://en.m.wikipedia.org/wiki/Cube_World
- DrSiemer 5y ago> Anyone played it? Is it any good? Yes and nope. Some fun and promising features were removed and whenever you switched zones all your levels would reset, except for some minor stats, breaking any sense of progress and nerfing the need to explore.
- Tepix 5y agoLooks like CubeWorld. Has anyone tried to compile it into WASM and run it in a browser?
- deleted 5y ago[deleted]
- miggelindo 5y agoThat's pretty cool.
- TeeWEE 5y agoCool! Tip: The airshipper macos file is not executable, i had to chmod it to make it run.
- eternityforest 5y agoLooks like the graphics are a bit nicer than Minecraft/test
- teekert 5y agoLook very nice! Somehow I thought since it is Rust and not Java, it should be more fps than Minecraft (many other things seemingly comparable), but it's not, probably wrong assumptions on my end.
- adtac 5y agoJITs can sometimes be faster than compiled binaries because they have runtime information, but realistically it's probably because Mojang has had years and years to optimise.
- kaba0 5y agoAlso, they are two completely different games, there is absolutely no point in comparing them. A single game feature difference can render the comparison meaningless.
- pjmlp 5y agoAlso if properly configured, at least on Java/.NET worlds, they can be cached between runs, thus they eventually get tuned to the optimal maximum.
- zesterer 5y agoThe bottleneck for a game like this is the GPU and not the CPU (usually). Additionally, Veloren has a tonne of things that Minecraft doesn't: - A much larger world (compare the number of blocks in Veloren's trees against those of Minecraft, or the fact that mountains in Veloren are regularly many thousands of blocks tall, compared to Minecraft's 256 block height limit) - PBR rendering - Shadow-mapping - Bloom - A level of detail system, along with horizon maps for dynamic terrain-scale shadows - More advanced voxel lighting that respects normals - Fully volumetric cloud, aurora, and atmospheric rendering with raycasting - More detailed character models and animations - A more detailed particle system - Dynamic point lights and related effects (point light diffusion, for example) - High-detail terrain objects like grass, corn, etc. As another poster said, there's not really much point in comparing the performance of the game to that of Minecraft. They have virtually nothing in common from a rendering perspective other than the fact that their polygon normals are mostly oriented toward the cardinal axes.
- orangetuba 5y agoHow do you build a game engine from scratch these days? I mean, what is the underlying somewhat low-level graphics library? Is it wgpu or OpenGL?
- skohan 5y agoThere’s a whole community of people doing game engines from scratch. My guess is they’re using Vulkan or OpenGL.
- Jweb_Guru 5y agoThe project is using wgpu-rs (and has actually contributed quite a bit to it). Can highly recommend it for other projects, it really is the way to go if you want to be portable but don't want to sacrifice a ton of performance (as using OpenGL does nowadays). Using wgpu generally means you're getting a fast subset of most of the modern APIs, at the cost of some control and performance in certain cases (though not too much performance--we'd like to shrink that even further), so for us it's the way to go. The other two choices people usually bring up are OpenGL and Vulkan. The project was originally using OpenGL and was quite limited as a result; theoretically, you can do better by abandoning portable versions of OpenGL, but many modern OpenGL drivers are incredibly poor (particularly on Windows), and a lot of machines support, e.g., DirectX 11 or Metal but not a version of OpenGL with the same feature set. Going with straight Vulkan means you're either going through a (slow) translation layer on many older machines (and Macs), or giving up on them entirely. Vulkan is also incredibly hard to use correctly if you're using it directly and want to be portable across GPUs; the spec has a lot of edge cases that are quite unclear even to experts, and often requires consulting with driver developers to figure out exactly how they were interpreted (to be fair, this has become less of a problem over time, but it's still an issue for corner cases in the spec).
- pyrrhotech 5y agoHow do you implement all the things the game engine gives you for free? Physics, camera, scene management, lighting, colliders, shaders, navmesh, etc. It seems like an impossible feat to implement all this yourself PLUS build a game on top. Wouldn't just building the game itself be a 2000-20,000 hour project? And I imagine building the game engine would be an order of magnitude more complex, if not more time
- gspr 5y agoImpressive work! PS: It would be great with a repository link on the downloads page. I missed the sentence about the license on the front page, and incorrectly assumed the game to be closed-source when the download page only showed binaries.
- engineer_22 5y agoIs this game kid friendly?
- zesterer 5y agoYes, although exploring a cave can get a little creepy! No gore or anything though.
- engineer_22 5y agoSweet! Thanks :)
- UltraViolence 5y agoI downloaded this game to see how well a game written in Rust performs. I very much appreciate the stability and performance Rust brings. I believe software written in Rust is much more long-lived that similar C/C++ software since memory issues are almost certain to occur with the latter. Not to mention the security benefits Rust brings to the table. I don't really care for the game itself. I'm much more a BZFlag player anyway.
- holografix 5y agoWhere can I find more technical info about the multiplayer aspects of the game? Ie: is it authorative? How does it handle collision detection between players, combat, projectiles, area of effect spells etc? I’m looking more for documentation and thought process vs straight up code as I’m not a rust dev
- NylaTheWolf 5y agoI've seen toots about this on Mastodon! I'm glad to see it get some attention!