pkuehne / fortress Goto Github PK
View Code? Open in Web Editor NEWAn ASCII Roguelike
License: MIT License
An ASCII Roguelike
License: MIT License
Doors can be locked and unlocked with a key.
Part of #33
Allow maps and entities to be saved to a file and loaded again.
Rather than iterating through all the LocationComponents to find all the entities in a particular location, we should provide a cache of (x,y) -> vector (EntitiyID)
This is for the log displayed on the MapScreen.
To keep all textures, etc. They should be sorted into a per-pack subdirectory.
Allows an Entity to be dropped/picked up
Part of #33
So that long text may be broken over several lines for display. Sample function:
int wrapText (const std::string& text, unsigned int width, unsigned int maxLines) {
return linesUsed;
}
After revealing tiles, NPCs can be seen moving even in the fog of war
Components are essentially tags anyway. There is no need for a raw Entity pointer anywhere. EntityId is already de-facto index into ComponentManager.
Weird things happen with the window border, because the map tries to draw into (0, 0)
See #34 - These are map operations, not Entity ones.
Something like +/- increasing/decreasing the size of the tiles on the fly.
To ensure that Systems only ever consider the Entities on the same level, make systems (and the map_window, etc) iterate over the list of Entities and check whether they have a particular component key. (i.e. get rid of getAll() calls).
This will indicate whether the object can be seen through or not.
Use it for locakable doors, NPCs, Walls, etc
If the map is bigger than the allocated space on the window, it should cut out the section around the player. While bump-scrolling is fun, for now, centering is sufficient.
Add Potions to the game, such as:
Features:
Use the ConfigManager to load files, which specify the Components and their values and then create Entities from that. Mainly to be used for new monsters. Walls, tiles, NPCs should still be created by the game through hard-coded prefab generators
createPrefab("Tree");
GameEngine already has a list of all systems, so only the events would need to be moved up.
Instead of adding a system to smooth walls, just smooth them as they are created, when we have the map available for quick reference.
There should be more than one level per dungeon.
Everything else can be left in the src directory as is for now
Use GLUT_SCREEN_HEIGHT to retrieve, unless Fullscreen tag in configuration file is set to 0.
i
nteract action that looks for OpenableComponent (can be re-used for fight and talk maybe?)We'll add keys later
This is currently in the SpriteComponent and should be moved out in a separate LocationComponent.
For example:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.