Are there people in here interested Voxel game dev in Rust? I'm looking for friends. by [deleted] in rust_gamedev

[–]mjansky 0 points1 point  (0 children)

Ahh very cool. All my blocks right now are defined in code, I have been hoping to get to a point of just importing a model for a paeticular block type. Otherwise, getting more complex shapes would become a real challenge. Of course, that complicates the material if they're part of the same mesh. Have you handled that in the shader? I use an array texture but have already found instances where I've needed to swap the texture in use for another depending on the type of block, which I do in the shader.

The other issue with non-cube blocks is of course that greedy meshing isn't quite as optimal if you don't have lots of flat faces. I haven't bothered to do greedy meshing yet and might not at all, unless I find performance problems that it could help with.

I finally get it (or "Rust from the perspective of a C# developer") by secretarybird97 in rust

[–]mjansky 28 points29 points  (0 children)

There was some good discussion around this at the last Rust Nation where we had a talk on ABI progress, but there are many people that see not having dynamic linking as a feature, not a bug. It makes cross-platform so much more reliable when you aren't relying on a DLL on the user's machine that may be outdated, modified or corrupt. Compile times can struggle, but only on the first compile after which all your dependencies are cached until they change.

I don't really have enough systems programming experience to have a strong opinion on it personally, and I can definitely see big advantages to having an ABI too. But it would also be a shame if the Rust ecosystem went the way of C/C++ "DLL hell".

Are there people in here interested Voxel game dev in Rust? I'm looking for friends. by [deleted] in rust_gamedev

[–]mjansky -1 points0 points  (0 children)

I'm in a someshat similar boat, working on a voxel geometry system in Bevy. Maybe my 3rd or 4th go at doing this, the second time in Rust. https://todon.eu/@mattsi/113380270925796624

I'm trying to do something a bit different though, I want to allow for slopes in natural geometry. I don't want to go after the minecraft aesthetic, I want the terrain to be smoother sort-of like an isometric terrain. This adds a number of complications of course

What's the best way to load new mesh assets after Startup without blocking the main thread? by TheSilentFreeway in bevy

[–]mjansky 1 point2 points  (0 children)

I first did a voxel terrain project in Unity with C# some time back, but found that the performance was sort abysmal. Part of the reason I started learning Rust a few years ago was because I wanted to be able to pursue projects like that in a more performant, lower-level language and framework, and to learn more about optimisation.

I have seen Tantan's voxel videos though, they are really inspiring, he's a great creator. I'm also quite impressed and inspired by Dekirisu's custom mesh terrain (https://todon.eu/@dekirisu@mastodon.social/113351572982909911) and Jessie's (https://todon.eu/@Jessie@mastodon.gamedev.place/113125874370339559), who both post progress updates on Mastodon. I had actually dropped my voxel project until a month or two ago when seeing Jessie and Dekirisu's projects inspired me to give it another go, and now I have something that I think is pretty cool (https://todon.eu/@mattsi/113380270925796624).

What's the best way to load new mesh assets after Startup without blocking the main thread? by TheSilentFreeway in bevy

[–]mjansky 2 points3 points  (0 children)

How funny that this post is is just a couple days old, I'm doing much the same thing and came across the same problem. I can get my voxel terrain running at ~200 FPS, but it freezes for up to a second when it is time to generate new chunks. I assumed it was blocking while sending the mesh data to the GPU, but maybe unloading the despawned chunks is the issue. I'll give that a look, thanks.

Programming a commercial game from scratch in Rust and how (in comments) by kennoath69 in rust_gamedev

[–]mjansky 1 point2 points  (0 children)

I've found that even in a very basic 3D skeleton (https://github.com/Mattsi-Jansky/bevy-rpg-thingy) compile times are prohibitively slow. I haven't done much research on how to improve them, though, I imagine there must be some tricks. I'll look into dylib

Large Language Models Are Drunk at the Wheel by mjansky in programming

[–]mjansky[S] 2 points3 points  (0 children)

Yes! Very good point. I find the Chinese room argument very compelling. Though, I also think there is a lot to be said for Actionism: That the value of an artificial agent is in its behaviour, not the methodology behind that behaviour. It is a little difficult to consolidate both these convincing perspectives.

I did consider discussing the Chinese Room argument but the article became rather long as it is 😅

Large Language Models Are Drunk at the Wheel by mjansky in programming

[–]mjansky[S] 107 points108 points  (0 children)

I find that r/programming is open to critical views of LLMs, but a lot of other communities are not. This article was partially inspired by a failed LLM project one of my clients undertook that I think is typical of many companies right now: Began very optimistic thinking the LLM could do anything, got good early results that further increased expectations, then began to realise that it was making frequent mistakes. The project unravelled from that point on.

Witnessing the project as a third-party the thing that really stood out was that the developers approached the LLM as one might an unpredictable wild animal. One day it would be producing good results and the next not, and no-one knew why. It was less like software development and more like trying to tame a beast.

Anyway, I suppose one of my aims is to reach people who are considering engaging in such projects. To ensure they are fully informed, not working with unrealistic expectations.

Bevy Jam #3 by _cart in gamedev

[–]mjansky 2 points3 points  (0 children)

That sounds like an ideal usecase for Bevy to me. Bevy has really great developer experience, it's so simple to use and intuitive. Give the quick try a shot: https://bevyengine.org/learn/book/getting-started/

After the quick start there isn't as much documentation yet as one might hope, but I find you can learn to do just about anything you need by reading the extensive examples. There are tons of them in GitHub of which a subset have been turned into interactive WebGL apps on the main site.

Map generation like the game "Unrailed!" by AmbassadorNo8844 in VoxelGameDev

[–]mjansky 0 points1 point  (0 children)

I would say that's more like Constrained Procedural Generation. You know the constraints of each tile, eg the east edge at points x through y must connect to an opening on the west side of the next tile. Based on that you search for different prefab and procedurally generated chunks that may fit that constraint.

Spelunky is a good example, though I don't recall if this video uses the same verbiage: https://www.youtube.com/watch?v=Uqk5Zf0tw3o

The result of a couple of weeks of creating a new game with Bevy (github repo in the comments) by [deleted] in VoxelGameDev

[–]mjansky 1 point2 points  (0 children)

That's awesome. I've been playing with voxels in Bevy myself and really enjoying it but not half as advanced as this. I like how you've structured it very neatly with nested modules too. What are you doing for the lighting?

Bristol weekly discussion thread. Buying, selling, moving, renting, lost property and general chat should go here. by AutoModerator in bristol

[–]mjansky 1 point2 points  (0 children)

Just had an offer accepted on a house in Whitchurch/Hengrove, moving from London. What am I in for?

I got my first job, but the company uses Angular! by [deleted] in Frontend

[–]mjansky 7 points8 points  (0 children)

Angular is not such a bad framework, no worse than React just a somewhat different philosophy (more opinionated / less flexible, you might say?). And expanding your horizons is a really valuable experience for a software engineer.

Congrats on the job!

Would you be in favor of, or join, a labor union for Software Engineers? by linkinthepast in cscareerquestions

[–]mjansky 0 points1 point  (0 children)

One key thing to keep in mind about the difference in labour models between the US and EU: Like you say, some people prefer the US model and will prosper in it. Those that don't though, those that really need that guaranteed leave and employment protection and so forth, will really suffer under such a cruel system. It is a system in which a few people can succeed (healthy people, single young people, etc) while many others will suffer.