I tested a map with over 10k lines and was getting at most 15 FPS since parts of the map that weren’t visible on the minimap still had magnitude checks going on. I’m aware that many parts/lines being rendered on the minimap is unrealistic – the minimap model should be simplified – but enabling the minimap to handle that many parts properly will ensure that it’s feasible on low-spec devices.
I implemented a grid whose cells contained a list of lines that were inside/intersected the individual cells. Then, instead of iterating through all 10k lines, I iterated only through lines in nearby cells. There is also a post-check where all previously-visible lines that weren’t processed this step (not visible anymore) were hidden. In general they’ll all be hidden by being processed since they’re in nearby cells, but in the event the character teleports those cells won’t be nearby and this check is needed to clean them up.
With the initial upload, I was getting 15 FPS in the 10k+ line map throughout the map because the number of lines checked remained constant. With Waffle’s optimizations, the results weren’t much better. With the grid, if I was in a part of the map with few lines, I would get 60 FPS. In areas with moderate amounts of lines, I was getting 45 instead of 15. With high amounts of lines in a small enough area, the performance was still bad just because that many lines had to be processed at once since they were all visible on the minimap.
This version with the grid can be downloaded here: Minimap.rbxm (4.8 KB)
i’d like to have all the meshes finalized before importing to roblox. reuploading meshparts and waiting for the moderation to go through takes forever.
Is there a ColorCorrectionEffect in there? Making things darker just makes everything darker, no way to make neon pop. Consequently, I can’t take it seriously.
Shop, inventory, character customization, gamemodes, etc…
[details=My to-do list, for anyone that’s curious. I’m staying up for another 7 hours to get it all done tonight]
Done:
-Finalizing damage calculation based on WeaponStats
-Deploy box states and info (game mode name, map name)
-Kill splash
-Kill Log
-Chat (teams colored now + dead only shows when actually dead)
-Death cam (hops into Third-person, follows the killer from the ragdolls point)
-Player health regeneration (Discuss regeneration algorithm with loleris)
-Spawn protection
-Finalizing currency purchase and weapon slot functionality and design
-Point letter BillboardGui
-Spawning players on map’s “PlayerSpawns”
-Point hologram (Just like on Phantom Forces)
-Leaderboard
-Kill and score tracking
-Team scores
-Game timer
-Point status
-Game messages
-Point capture status
-General game mode code
-Reading selected map data
-Chat in “MainMenu”
-Full character 3D view on “MainMenu”
-Can be rotated (Char model)
-Timer
-Team scores
-Game messages
-Game mode and map selection
-Credits and update log
-Settings window
-Shop and inventory design
-3D player inventory ragdoll view (Same like in “MainMenu”)
-“MainMenu” Rank info
-Player rank
-Camera view whilst in menu mode
-Smart player team sorting
-Clicks/Confirmation/Purchasing/Round end/Spawn/Intro/Other sounds
-Clicking on WeaponSlot boxes changes the held weapon
Working on:
-Reward handling after round end (Grant currency and experience, track other statistics)
-Ragdoll that wears all clothing elements and weapon
-HighScores window/OrderedDataStore leaderboard
To do:
-Outfit (Shirt and pants tied together, includes skin color and optional body part transparency)
-Accessory (Hat or any type of attachment) (Up to 3 accessories allowed for free equipping)
-Face
-Weapon skin crates (~5 tiers, grants random unowned item from collection unique to crate. Not allowed to purchase if own whole collection)
-Outfits, Accessories and Faces are sold individually in the shop.
-Item category/selection/information lists
-Random unowned item granting code
-Uncrating cutscene (non-3D)
-Item filters / Item list and item info, similar to the shop
-“CTF” game mode: Flag stands and flag models in map/BillboardGui elements highlighting flag carriers
-“Finishing batch” - Batch for performance improvements and experimental additions
-Fixing all game bugs and design issues
-Small tweaks and improvements
-Character movement replication improvements
-Reviewing WAC3 engine code[/details]
it would give players the options to pull whatever combination of carriages, with a max limit of cars (say, 5 or 6)
plus, you could then sell premium carriage skins. you’d just have to make sure that spawning tracks are long enough for the maximum possible train.