ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACAD
1
note✅ Added to AllegroFlare under legacy/tilemap and essentially all functionality is superseeded otherwise in TileMaps::✅ Added to AllegroFlare
2
repo nameAllegroFlare/TileMapsAdventures of Bearytilemapbeary2ddungeonbearys_bashNormalMapTileMaptileo <- this is the best tilemap
⚠️Tileo has been incorporated to allegro_flare
Ideal - UnnamedGameFramework::
3
descriptionIdeal 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 game5 layers, isolated collision layer, extra environment layerstarted 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, thinmap_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 sheetvector<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*> spritescreates 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_renderscales bitmaps linearally to preserve pixel style during scaling
18
19
editablehas 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 Loadingno, uses custom formatloads 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