tcod-cpp-engine-2022
A modern roguelike engine made while following the older libtcod tutorials. (by HexDecimal)
FTXUI
Features:
- Functional style. Inspired by [1] and React
- Simple and elegant syntax (in my opinion).
- Support for UTF8 and fullwidth chars (→ 测试).
- No dependencies.
- Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors),
- WebAssembly.
- Keyboard & mouse navigation. Operating systems:
- linux emscripten
- linux gcc
- linux clang
- windows msvc
- mac clang (by ArthurSonzogni)
tcod-cpp-engine-2022 | FTXUI | |
---|---|---|
7 | 39 | |
21 | 6,151 | |
- | - | |
1.6 | 8.2 | |
about 1 year ago | 10 days ago | |
C++ | C++ | |
The Unlicense | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
tcod-cpp-engine-2022
Posts with mentions or reviews of tcod-cpp-engine-2022.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-15.
-
[2023 in RoguelikeDev] libtcod / python-tcod
I ended up following the C++ tutorial and creating a custom engine with the newer libtcod API. Writing the event API from scratch also let me compile with Emscripten to make a web build of my C++ libtcod projects. The resulting engine demo can be played online here. I lost steam near the end of the project since I was unsure how I should handle a database and because I tried too hard to keep saves compatible even though this was supposed to be a prototype. The main thing I learned is that serialization is difficult with C/C++ and it would've been easier to do had I used an ECS library.
-
I Cant find a good library for C++/Cpp.
The libtcod maintainer just finished a new C++ engine as part of this year's tutorial event. Or did you have to have videos? There are newer video series as well, but not C++.
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 8
I used and followed the instructions of this library. Nearly all of my serialization code ended up in one file.
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 4
I only develop on Windows right now, so I often miss feedback from the GCC and Clang compilers unless I check the workflow logs. All the platforms on Itch (win/mac/linix/html) are enabled by this GitHub Actions workflow which automatically deploys everything that's pushed to the main branch and just compiles and uploads test builds for any other branch. It's been modified from the libtcod template project to support Itch, but I can probably backport that feature. You can view the build logs from these workflows here.
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 3
GitHub | Playable
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 2
GitHub | Screenshot (Cave generation)
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 1
I'm working in C++17 and doing the ancient C++ tutorial on RogueBasin. I'm starting from the libtcod C++ template and plan on using the latest libtcod features rather than the older ones taught by that tutorial. My new repository is here.
FTXUI
Posts with mentions or reviews of FTXUI.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-03-13.
- Functional Terminal User Interface
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: ArthurSonzogni/FTXUI
-
Library for NES style terminal game.
Background: I want to make a NES Tetris) clone for the terminal, with full resolution, this is achievable through using this ▀ character, and defining back and foreground color. This would result in a 1x2 pixel and by making the game width 256x120 characters this would provide full resolution. I made some tests, creating my own encoding for the different sprites and optimizing everything, which resulted in very quick printing times, even with a normal terminal. Nearly fast enough for the full 60Hz that the NES has, when printing the whole screen. The fact that i don't need to reprint the background (except maybe a tetris), makes 60Hz a kinda realistic goal. My main concern is, that there could occur kind of a screen tearing effect, which i really want to avoid. AFAIK, ncurses has a way to print the whole "window" with a function call to avoid this issue, however I had a lot of issues when trying to use ncurses to print the entire background and figured, that there are better alternatives. I also tried FTXUI and whilst the experience of giving each "pixel" a fore- and background color was much better, i didn't quite find a way to refresh the screen like ncurses. (i think there is some kind of way with the ScreenInteractive class, but i didn't get that to work, and it seemed like there was not a way to color each pixel. with InteractiveScreen you can make your own components with the whole "text()" thing, but this isn't really what i need)
-
Should I give up?
Try this library for console https://github.com/ArthurSonzogni/FTXUI
-
Cross platform terminal UI?
Depends on which level of "UI" you want. Personally I like https://github.com/ArthurSonzogni/FTXUI , but if you want to do those old TUI things then probably the (n/pd)curses libraries.
- Function composition in modern C++
-
What are some C++ projects with high quality code that I can read through?
I find openMVG very decent, FTXUI might be a good one and nlohmann's json library is also pretty nice. I don't really know of any project that strictly adheres to the core guidelines, except maybe for some of Jason Turner's (sample) projects.
- Owl: A toolkit for writing command-line user interfaces in Elixir
-
I have made a physics simulator that replicates projectile motion with quadratic drag! Please feel free to download and compile it. Let me know of any bugs!
Okay stupid suggestion I know but I've recently been learning the FTX UI library which basically adds a little bit of UI programming to the terminal and it has canvas that lets you plot pixel by pixel.
-
Text UI components like “ncurses”
No affiliation with any ponzi schemes https://github.com/ArthurSonzogni/FTXUI
What are some alternatives?
When comparing tcod-cpp-engine-2022 and FTXUI you can also consider the following projects:
rlscript-jsdriver
ncurses - snapshots of ncurses - see https://invisible-island.net/personal/git-exports.html (no pull requests are accepted)
roquest
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Roguelike-Tutorial
notcurses - blingful character graphics/TUI library. definitely not curses.
zig-roguelike
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
roguelike
imtui - ImTui: Immediate Mode Text-based User Interface C++ Library
java_rrouge
Turbo Vision - A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
tcod-cpp-engine-2022 vs rlscript-jsdriver
FTXUI vs ncurses
tcod-cpp-engine-2022 vs roquest
FTXUI vs imgui
tcod-cpp-engine-2022 vs Roguelike-Tutorial
FTXUI vs notcurses
tcod-cpp-engine-2022 vs zig-roguelike
FTXUI vs rich
tcod-cpp-engine-2022 vs roguelike
FTXUI vs imtui
tcod-cpp-engine-2022 vs java_rrouge
FTXUI vs Turbo Vision