| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | note | ✅ Added to AllegroFlare under legacy/tilemap and essentially all functionality is superseeded otherwise in TileMaps:: | ✅ Added to AllegroFlare | ||||||||||||||||||||||||||||
2 | repo name | AllegroFlare/TileMaps | Adventures of Beary | tilemap | beary2d | dungeon | bearys_bash | NormalMapTileMap | tileo <- this is the best tilemap ⚠️Tileo has been incorporated to allegro_flare | Ideal - UnnamedGameFramework:: | |||||||||||||||||||||
3 | description | Ideal landing spot for all the tilemap work. Tileo has been integrated | 🏆Has some legacy commented code from when I was working on casted light and normal-lit tiles. Epic shit Probably on older laptop in branch | has the simplest kind of TileMap itself, but the external features (convolution, etc) are pretty good. | seems to be a relatively comprehensive, somewhat codependent set of individual pieces for a 2d tilemap game | 5 layers, isolated collision layer, extra environment layer | started with adventures of beary tilemap/atlas/etc. It's a refactor, possibly a consolidation of the ideal features of the different tilemaps :) | Does Not Exist | |||||||||||||||||||||||
4 | |||||||||||||||||||||||||||||||
5 | Tile | 🚫none. | 🔸just an ALLEGRO_BITMAP*, only exists as an array in TileMap | ✅is a bitmap and a set of flags, thin | map_tile_struct | ||||||||||||||||||||||||||
6 | TileIndexInfo | ✅Yes. 🏆problibly the most complex and feature-possible tile definitions. Maybe too coupled with what's necessary | 🚫none. Basically is just whatever data can be inferred by ALLEGRO_BITMAP* | ||||||||||||||||||||||||||||
7 | tile index | 🚫none present, implemented as TileAtlas | 🔸essentially the sprite sheet | vector<tile_refrence_struct> in map_class | |||||||||||||||||||||||||||
8 | Tile Atlas | ✅Yes 👍has more complex referencing mechanism, see TileIndexInfo 🙅♂️A bit sloppy, leaky | 🔸A variable called "atlas" inside SpriteSheet 🏆SpriteSheet creates dedicated clone of incoming atlas bitmap, and creates dedicated sub-bitmaps, responsibly destroys all on destruction | 🔸not explicit, but is an ALLEGRO_BITMAP in the TileIndex, and managed within it | |||||||||||||||||||||||||||
9 | Sprite Sheet | 🔸Actually is mostly implemented as "TileAtlas" | ✅yes 🏆Decopuled, isolated from all dependencies 🔸does not padd sprites | ✅yes 🏆Decopuled, isolated from all dependencies | - decoupled, isolated from passed in bitmap | ||||||||||||||||||||||||||
10 | Tile Layer | 🚫does not exist, TileMap exisits as a single-layer tile grid | ✅does nice bounds clipping when drawn, really nice, it integrates with Camera2D, has functions to convert world coords to tile coords | ||||||||||||||||||||||||||||
11 | Tile Map | 🔺probably not needed. It's basically a world map or level map, has layers but only tile things. probably should be composite with characters and stuff | 💫🧐🤔ooh looks promising | ✅A one-layered layer. The same as a TileLayer in other places. ℹ️Tiles are ALLEGRO_BITMAP*s only | contains tilemap info completely separate from rendering/caching | ||||||||||||||||||||||||||
12 | some other mechanism of tile map | 🔸NewBearyMap < TileMapBase 🔸composite of TileMap | 🚫none present | (n/a) | |||||||||||||||||||||||||||
13 | renders with a single mesh | ✅Yes. is stored as a vertex_buffer, and actually contains some dual implementation code for a single mesh and/or a single primitive | 🚫Does not. Renders individual bitmaps one by one (but are from an atlas'd bitmap) | renders to a single bitmap once. Does not need to render every frame | |||||||||||||||||||||||||||
14 | renders tiles with "padded" edges | ✅Yes. Extrudes in the TileAtlas when building an atlas. | 🚫Does not. | 🚫Does not. | 🚫Does not. | padds edges | |||||||||||||||||||||||||
15 | creates sub-bitmaps | ✅does. and is completely managed inside the SpriteSheet, cloning the passed source bitmap 🏆no dependency of passed bitmaps! epic! | ✅yes. They're stored in SpriteSheet as vec<ALLEGRO_BITMAP*> sprites | creates sub-bitmaps | |||||||||||||||||||||||||||
16 | Has complex vector format for normal-mapped tiles | 🔸possibly, in a branch maybe on my other laptop | 🚫No. | Has vector format for normal-mapped tiles | |||||||||||||||||||||||||||
17 | scales bitmaps linearally to preserve pixel style during scaling | 🚫No. is actually disabled. Relies on scaled render at display projection for that | ✅definitely. Uses allegro_flare's create_pixel_perfect_scaled_render | scales bitmaps linearally to preserve pixel style during scaling | |||||||||||||||||||||||||||
18 | |||||||||||||||||||||||||||||||
19 | editable | has a cool "StyleDrafter" class, and __post_process_map, where fun stuff happens. __post_process_map maybe dep'd by convolution filters | - provides generative features for randomized styling, etc | ||||||||||||||||||||||||||||
20 | Collision Response | 🏆TileMap has cool get_next_collided_tile_coords() that returns vec<vec2i> of tile positions for next collided tiles 🏆Has dedicated TileMapCollisionHelper with collision response mechanisms for tile map | proven | - provides collisions of "next" tiles - has | |||||||||||||||||||||||||||
21 | TMX Loading | no, uses custom format | loads TMX format | ||||||||||||||||||||||||||||
22 | Convolution | - provides generative features for randomized styling, capping, edging, variants, etc... | |||||||||||||||||||||||||||||
23 | |||||||||||||||||||||||||||||||
24 | *note: adventures of beary has cool motionfx somewhere in there | ||||||||||||||||||||||||||||||
25 | |||||||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||||||
27 | |||||||||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||||||
29 | |||||||||||||||||||||||||||||||
30 | |||||||||||||||||||||||||||||||
31 | |||||||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||||||
100 |