Readit News logoReadit News
wedesoft commented on I replaced Windows with Linux and everything's going great   theverge.com/tech/858910/... · Posted by u/rorylawless
wedesoft · a month ago
My Windows gaming graphics performance dropped by 40% after some update. I already was using Linux for everything else except gaming for many years. So I tried out Steam on Linux and I was quite amazed how many games run on Linux via Proton. Just check out protondb.com for compatibility reports.
wedesoft commented on The future of software development is software developers   codemanship.wordpress.com... · Posted by u/cdrnsf
wedesoft · a month ago
I did a bit of scripting trying to automate the TDD cycle given a task description. The problem is, that the LLM tends to jump forward and submit a full implementation instead of a minimal change. I guess the problem is, that LLMs are trained on complete solutions instead of minimal steps.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
lyu07282 · 5 months ago
just linking the code, I'm just saying that some people put functional languages on a weird pedestal. It doesn't just magically make your code good.

https://github.com/wedesoft/sfsim/blob/main/src/clj/sfsim/co...

wedesoft · 5 months ago
Yes, the main function is the worst part of the code. Whenever I discover a pattern, I refactor it and put it in a module.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
MathMonkeyMan · 5 months ago
Guile has [multi-methods][1] and [fast hash maps][2], but not yet [dynamic vectors][3].

Clojure's data structures are easier to use, though.

[1]: https://www.gnu.org/software/guile/manual/html_node/Methods-...

[2]: https://www.gnu.org/software/guile/manual/html_node/Hash-Tab...

[3]: https://lists.gnu.org/archive/html/guile-devel/2022-01/msg00...

wedesoft · 5 months ago
Yes, I forgot. However Clojure multi methods are more generic in that the function computing the dispatch value can also be defined.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
simne · 5 months ago
Well, I'll believe you about fp debugger, so only problem left with OcaML and Clojure, each of them have GC with non-linear complexity (Clojure as I understand using BEAM GC which claimed soft-realtime, meaning 90% of GC work will look like realtime, but OcaML using some typical GC), and what all these mean for games - they will suffer framedrops or even short freezing, when GC running.

Exist two approaches to overcome GC problem, but if somebody will again minus my comment I will not bother to find links in my records.

1. Here on HN mentioned GC-free fp platform.

2. Few years ago appeared GC algorithm with linear complexity (sure, with limitations, but good enough for example for 16-bit consoles level games).

Unfortunately, haters minusing comments, but don't add anything valuable, and author was not mentioned these problems.

wedesoft · 5 months ago
Good point. I definitely need to keep an eye on garbage collector pauses. I am using the new ZGC which supposedly has very short garbage pauses.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
simne · 5 months ago
Always, when read about "functional language usage in simulation", I check if OpenGL binding used. Other important things are physics engine and collision engine, because these are more than 90% of all code.

Unfortunately, just as I suspected, this project use OpenGL (nearly all implementations are C++), and C++ collision/physics engine.

So, looks like, in this project, Clojure is used just as high level script to orchestrate all C++ parts, may be later we hear about some game scripting, but for simulators they are not as need as for example for RPGs.

I agree, Clojure is better than C++ for orchestrate, but I have seen so tiny number of art persons familiar with functional paradigm, so this looks like beautiful dead end.

Again, this is really beautiful and respectful achievement for author, but people I seen working in gamedev will not accept such approach.

wedesoft · 5 months ago
In the past I have done some rigid body physics in GNU Guile (see https://www.youtube.com/watch?v=zBq3kW2jVxs for example). Of course if you need to simulate many objects, you will hit performance problems sooner if you don't use C/C++/Rust. Also the developer of Jolt has solved quite difficult problems, so I was quite happy to use it instead of rolling my own.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
JoshCole · 5 months ago
Very cool work Jan!

Have you tried experimenting with ham-fisted? I've found the libraries in the techascent part of the Clojure ecosystem to be very good performance wise. Ditto for neanderthal.

wedesoft · 5 months ago
I am aware of Neanderthal. I think it is more suitable for larger tensors and matrices. Will have to check out what ham-fisted is about.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
roenxi · 5 months ago
That doesn't look like a factor in the article though, he isn't using many if any macros that aren't part of the core language. And the one macro I do spot (defcfn) is pretty mild in context.
wedesoft · 5 months ago
I use a few macros for creating contexts (i.e. with-texture, with-stencil, with-scissors, with-tar). Also I have macros for rendering (onscreen-render, offscreen-render). However I try not to overuse macros.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
fkimexcited · 5 months ago
Using same game engines and physics lead to a generic look-and-feel, even if they do allow for a large amount of creativity and differences.

This _looks_ different, which is awesome!

Even if the atmospheric effects still need some honing, there's a ton of work around lighting to eventually be done, the edgy polys make it look about 20 years old, and it's a bit pixel-y around the edges, this is headed into a spectacular direction!

If my ADD were in charge of this project, here's what I'd add:

- Optional stars / environment - a universal simulation would be unrealistically computationally expensive, but just having stars would be neat. Later, a planet in the horseshoe nebula, or playing spherical versions of recorded or streaming video for AR or making homegrown music videos.

- Ability for others to share datasets - the Earth is f-ing awesome and I can't wait for the Moon! What about a place where users could share different datasets like Arrakis with it's sand dunes and 2 moons or Tatooine with its 3 moons, then maybe they could fly in a heighliner, landspeeder, frigate, or imperial lambda shuttle, or even the jetcar from Buckaroo Bonzai?

- Solar Mayhem - Simulate a crazy atmospheric and orbital space war simulation or arcade-style game with satellites, lasers, plasma / electrical discharges and arcing, dust and nanorobot clouds, cloaking, jamming, ramming, repairs by robots and soldiers in tethered spacesuits, zooming cameras and 2D/3D scanners in different wavelengths, spacefaring naval ships, UAPs and other secret government vehicles, and complex 20th century fantasies of space stations running on nuclear and otherworldly power.

- Eclipse Support - when you add the Moon, doing an eclipse is not just the shadow but you'll need to handle the cool colors on the edges when the moon is covering the Sun.

- Ocean Simulation - Orcas, fish, eels, coral, lobsters, octopi, old ruins, Atlantis with its merpeople, tictacs and other USOs!

- Beautiful water features in Baltic Sea, Yukon Delta, Mississippi River, Lena River, Petermann Glacier, Brunt Ice Shelf, South Georgia Island, Guinea-Bissau, New Caledonia, Patagonian Sea, and the Icelandic and Norwegian fjords.

- Weather simulation with a way to pull in current atmospheric data historically to fly through hurricanes and tornados or simulate tsunamis after earthquakes.

- Subterreania and the inner sun of the Earth.

- A 2D sim for flat earthers.

wedesoft · 5 months ago
That's a lot of features. Moon is on my TODO list though and eclipses would be nice as well.
wedesoft commented on Developing a Space Flight Simulator in Clojure   wedesoft.de/software/2025... · Posted by u/todsacerdoti
crichter · 5 months ago
Jan, This is awesome! I have been following your progress for quite some time now. I actually found your project because you liked my dream chaser model that I put on GitHub some time ago. Really Looking forward to what’s to come and to try out your simulator at some point!
wedesoft · 5 months ago
Thanks.

u/wedesoft

KarmaCake day279February 5, 2010
About
http://www.wedesoft.de/
View Original