A Rogue style game in C++ which renders the ANSI terminal into an SFML graphics window.
Find a file
2024-11-01 18:07:47 -04:00
assets Need the hit.wav to be mono, but now we have a sound we can move around, just not sure how to place it based on the visuals. 2024-10-28 19:46:55 -04:00
scratchpad This seems to be the best way to do this, but I kepts a few other experiments in scratchpad. 2024-11-01 04:08:16 -04:00
scripts A bit more cleanup, but still looking for more organization. 2024-10-16 23:15:56 -04:00
tests ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
wraps Not sure why I didn't think of this before, but you can just copy all the .wrap files to another directory, and then instead of meson wrap install you just copy them to subprojects. That's how you lock the versions of dependencies. 2024-10-16 20:01:01 -04:00
.gitignore Ignore more irrelevant things. 2024-10-02 17:01:30 -04:00
.tarpit.json Ignore more irrelevant things. 2024-10-02 17:01:30 -04:00
.vimrc_proj Mostly working prototype that uses FTXUI to render to SFML and then plays a sound when you hit a wall. 2024-10-02 16:56:06 -04:00
ansi_parser.cpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
ansi_parser.hpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
ansi_parser.rl ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
collider.cpp Learned yesterday that you can do a multi-return assing to auto[] by just returning a struct. 2024-11-01 00:40:04 -04:00
collider.hpp Learned yesterday that you can do a multi-return assing to auto[] by just returning a struct. 2024-11-01 00:40:04 -04:00
combat.cpp Clean up the DinkyECSso that it's easier to understand and more obvious what a fact vs. component is. 2024-10-29 07:33:00 -04:00
combat.hpp Clean up the DinkyECSso that it's easier to understand and more obvious what a fact vs. component is. 2024-10-29 07:33:00 -04:00
components.hpp More refactoring to get the GUI dumber. 2024-10-30 02:13:31 -04:00
dbc.cpp Initial commit that has most of what I need. 2024-09-24 18:28:01 -04:00
dbc.hpp Initial commit that has most of what I need. 2024-09-24 18:28:01 -04:00
dinkyecs.hpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
events.hpp More refactoring to get the GUI dumber. 2024-10-30 02:13:31 -04:00
flecs.wrap Brought in FLECS to play with, tomorrow we learn it. 2024-10-05 18:15:14 -04:00
fsm.hpp Conver to using \ for member variables in classes. In structs just use the name. 2024-10-03 17:05:23 -04:00
gui.cpp A bit more cleanup before I redesign the renderer. 2024-10-30 19:06:51 -04:00
gui.hpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
LICENSE Initial commit 2024-09-25 00:10:33 +02:00
main.cpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
Makefile This seems to be the best way to do this, but I kepts a few other experiments in scratchpad. 2024-11-01 04:08:16 -04:00
map.cpp DinkyECS is now controlling the game and can handle multiple enemies easily. Next is to clean this up so it's not just one gross pile of code in the gui. 2024-10-16 15:01:53 -04:00
map.hpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
meson.build ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
point.hpp Refactor some code to have better naming and move Point and related point things into their own .hpp. 2024-10-26 18:26:42 -04:00
rand.cpp Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -04:00
rand.hpp Just wrote my own entity system to figure it out. 2024-10-10 17:34:33 -04:00
README.md Fixes to make it build on OSX with old gear. I have an ancient OSX laptop that uses Clang 14 and it actuall works there. Amazing. 2024-10-13 14:01:18 -04:00
render.cpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
render.hpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
sound.cpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
sound.hpp Rendering code stripped out of the GUI code. 2024-10-30 18:54:51 -04:00
status.txt Barely working ansi color codes parser but I _really_ don't like this one. Too much code to just get it to process correctly which means it'll be brittle as hell later. 2024-11-01 00:40:42 -04:00
systems.cpp ANSI code renderer starts working but I have to make it utf8/wchar_t friendly. 2024-11-01 18:07:47 -04:00
systems.hpp Created a combat system to start with and also added a 'HEARING' mechanic where enemies can hear you from a certain distance before moving to you. 2024-10-27 18:44:54 -04:00

roguish

The next little game in the series where I make a fancy rogue game.

OSX Build Notes

  • Quite a bad experience. Need to install Python, cmake, meson, and ninja all which are in homebrew but if you don't use homebrew then this is a problem.
  • You need to run the .command script in Application/your python that updates the SSL certs.
  • You have to give iTerm access to your keystrokes...because wtf it already has them?
  • This points out a problem that I'm getting the keys using FTXUI but should either get them from SFML or connect FTXUI to SFML's keyboard input events instead.
  • Takes forever to load on older computers, and I've got no idea why SFML is like that. It seems the sound system is a pig that takes forever to load, so am I using it wrong?
  • No actually this first run delay seems to be related to the security feature that blocks keyboard access on iTerm, so probably fixing that would speed it up.