dcompute
hauberk
dcompute | hauberk | |
---|---|---|
5 | 12 | |
133 | 1,946 | |
0.0% | - | |
0.0 | 7.7 | |
over 1 year ago | 4 months ago | |
D | Dart | |
Boost Software License 1.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dcompute
- DCompute: Native execution of D on GPUs and other Accelerators
-
Let's learn D game programming development
Shameless plug: LDC (the LLVM based D compiler) can already target CUDA (and OpenCL) and wraps its API and all of the nasty details involved in replicating <<<>>> kernel launches with https://github.com/libmir/dcompute/ with a sane syntax that's type safe. LLVM handles the codegen, and all of the "magic" is done in the library.
-
Compile-Time Sort in D
As noted elsewhere it seems your experience is somewhat outdated: the releases of the LLVM D Compiler (one of the two compilers worth using for production builds, the other being GDC) are buffered to the bugs introduced in DMD (which is more stable than it used to be although there are still regressions), and there is a fork based GC available for linux, but as the GC will only ever trigger on allocation, don't use it and it won't collect.
> While C++ is not by any means a great meta-language, it's improved considerably since that time.
C++ has also painted itself into a corner multiple times too, which despite being technically an improvement over the status quo are lacking severely in their utility. C++ screwed up "constexpr if" big time by always introducing a scope (which costs you a pair of {}'s in the rare occasion you need one) which means you can't conditionally insert declarations (i.e. variables, structs/classes, functions).
> but beyond the novelty you'd hardly find a mature or reliable codebase written by a team of professionals using hacks like [string manipulation and mixins].
They are a wonderful hack when you need them and nothing else will do what you want. This is not unlike resorting to macros in C++, except that its hygienic, unlike macros.
I'm not claiming the project is mature and I'm only one person, but reliable definitely out there. The most heinous set of string mixins i've ever written[1] has definitely got to be the code for generating wrappers to call the OpenCL object property querying functions (clGetDeviceInfo & friends). You need to pass a size and a void pointer to the address of the return object that you have to call once, twice or more (depending on the type of the queried property) to figure out how much memory you need to allocate to call it again.
The important thing is that the interface[2] you use to drive this code generation is very clean and return on investment for getting the generic case correct is large.
[1]: https://github.com/libmir/dcompute/blob/master/source/dcompu...
- Why I Like D
- Unified Shader Programming in C++
hauberk
-
How do you make text or shapes levitate up and down?
Actions can be classes too. In fact, check out this game's actions and you'll see what I mean.
-
Procedural dungeon generation
Source from the article: https://github.com/munificent/hauberk/blob/db360d9efa714efb6d937c31953ef849c7394a39/lib/src/content/dungeon.dart
- Hauberk: A web-based roguelike written in Dart
- Things I've learned building a modern TUI framework
- Let's learn D game programming development
-
Any really big browser based rogue likes out there?
Take a look at hauberk: https://munificent.github.io/hauberk/
- Hauberk: A Roguelike in Dart
-
Simple Dungeon Map Generation
That Bob Nyquist has a pretty cool roguelike on github called Hauberk written in Dart, amongst a number of other good related dev articles and best practices on his blog.
https://github.com/munificent/hauberk
- Rule
-
How to handle monsters casting abilities?
In my roguelike, all monsters can by default walk and melee. Then each breed of monster may have one or more Move objects. A move represents a kind of special move that a monster may perform along with the logic to decide whether or not the monster wants to. (For example, a move for teleporting away only wants to be used when the monster is near death and trying to flee.)
What are some alternatives?
vectorflow
Ink - 🌈 React for interactive command-line apps
Ion - Ion
dlangui - Cross Platform GUI for D programming language
shaders - Circle C++ shaders
Consolonia - A cross-platform UI framework for .NET.
DIID - Do It In D. With great power comes great readability.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
brogue-js - A port of Brogue to Javascript
globjects - C++ library strictly wrapping OpenGL objects.
ranger - A VIM-inspired filemanager for the console