Skip to content
Qt 6.12 LTS is out! See what's new in the release blog
  • 145k Topics
    725k Posts
    S
    What about the deprecation message? Have you tried using Qt Core extension? I'm not using VS Code. Please report back with your findings about the Qt Core extension and if it solved your problem, so that others that stumble across this post know about it.
  • Jobs, project showcases, announcements - anything that isn't directly development
    4k 23k
    4k Topics
    23k Posts
    J.HilkJ
    Hi everyone, it's been a while since my last showcase, so here is something a bit bigger: QtCraft, a voxel sandbox game (yes, the Minecraft kind) written in C++23 with Qt 6.12. [image: 45-1a-sunset-realistic.jpg] I've always wanted to make a more elaborate game with Qt. Privately there never was the time, and at work 3D never really came up as the solution to anything. Then I found myself with some free leftover tokens from work, and the first thing I did with them was to finally start on that old idea: a Qt-based Minecraft clone. After the weekend those tokens were used up, and like a proper junkie I upgraded my private subscription to the 200 € tier and let it keep going. Roughly 7,000 $ later (had the tokens been paid via the API), this is the result. Part of the motivation was that I actually wanted to learn this stuff: game dev, 3D rendering and so on. Well. I now have a 3D Qt/QML game, but I learned sadly little about how it's actually done. To change that, I'd have to sit down and work through the code myself, which puts me right back where I started x) So, the premise, what is QtCraft exactly? At its core, QtCraft is an experiment in how far an AI agent (Claude Code) can build a non-trivial C++/Qt project more or less autonomously. I set the direction, decided the open questions, play-tested and reviewed, but the vast majority of the code was written by the AI. What I did put in place is a lot of guard rails, because "the AI writes code" without checks degrades quickly: Static analysis on every change: clang-tidy, clazy, qmllint, plus project-specific checks (function/file length, no output parameters, duplicate code, QML rules) Modern C++ guidelines (C++ Core Guidelines, e.g. only named casts), warnings as errors, no exceptions (std::expected/std::optional instead) Sanitizers: AddressSanitizer + UBSan and ThreadSanitizer runs on the full test suite (~470 tests) Screenshot hooks and offscreen rendering, so UI and world can be tested and compared without a visible window Headless and GUI benchmarks with A/B comparisons between builds (e.g. Qt 6.8 vs 6.12) Remote bot controls, so the AI can run/test actual gameplay scenarios clangd as an LSP tool for the agent, plus a generated code map, so it navigates the code instead of reading half the repo into its context A decision log (every larger design decision gets a numbered entry), independent review agents before every merge, and CI for macOS, Windows and Linux QtCraft contains: Client/server architecture, also in single player (local server in the same process), multiplayer over TLS Generated worlds with biomes, villages and structures, survival, creative, spectator and adventure mode Redstone-like "Signal Dust", minecarts, farming, enchanting, trading … Data-only mods (JSON), an in-game handbook (also on the web) and QDoc API docs Rendering via QRhi, UI in Qt Quick, gamepad support [image: 45-1a-valley-day-realistic.jpg] There are two render modes. Village, classic [image: 45-1b-village-day-classic.jpg] The menus are plain Qt Quick: [image: 76-1-02-menu-start.jpg] Versions currently on GitHub: 0.1.0 is more or less the unedited state of what the AI produced. 1.0.0 (currently as release candidate) contains a number of reworks on top of that. Not everything turned out the way I would have built it myself, and some parts were reworked several times. The entities are the best example: the AI did not build in enough robustness for future requirements, so every new feature that touched them meant another round of restructuring. That's probably the most interesting lesson of the whole project for me. So please, if you're interested, try it! Both versions are on GitHub, with packages for macOS (universal), Windows x64 and Linux (AppImage): Repository: https://github.com/DeiVadder/QtCraft Releases: https://github.com/DeiVadder/QtCraft/releases Handbook & API docs: https://deivadder.github.io/QtCraft/ Feel free to look around, play it, or dig through the code (and the decision log). I'm grateful for any feedback — on the game, the code, or the approach itself.
  • Everything related to designing and design tools

    133 403
    133 Topics
    403 Posts
    A
    Thanks a lot for all this information. It has helped me get clarity on the questions that have been bugging me for weeks. I can now decide better what I want to do, and why. I will definitely share these with them ideas about unifying the UI for mobile and desktop with Qt, as it seems like it doesn't necessarily warrant replacing starting their application from scratch, only their UI code will get replaced (and its bindings).
  • Everything related to the Software Quality Tools

    97 274
    97 Topics
    274 Posts
    C
    This had been reported to Squish technical support team, and closed on behalf of the reporter. Unfortunately it was not possible to identify a clear cause so far.
  • Everything related to learning Qt.

    402 2k
    402 Topics
    2k Posts
    M
    [image: 01776ece-1308-4e3c-98fd-2749b3a4e221.png] Challenges faced: So when it came to building the d-pad, I was absolutely lost and was trying to approach this problem by drawing and arc instead and so I was reading about PathArc, and so it was getting so complicated, then I did see how it was implemented in the solution. repo: https://github.com/Meehir5907/QML-for-Beginners-Challenges/tree/Intro-Qt-Quick-My-Sol/StartingProject
  • 2k Topics
    13k Posts
    jsulmJ
    @VikMorroHun said in blocked: cmake: command not found: In Linux I got more than 6000 hits How did you search to get 6000 hits?
  • 4k Topics
    18k Posts
    C
    找到原因了,账号密码错误导致的
  • This is where all the posts related to the Qt web services go. Including severe sillyness.
    1k 10k
    1k Topics
    10k Posts
    P
    Unless I misunderstand, this topic was written when this forum used Textile, which explains why some of the above have broken formatting. This question is therefore no longer relevant for this forum. That being said, to anwer this question should anyone else land on this topic from a search engine, this should (now?) be possible. 🅭🄍