FoonLudum Dare ExplorerUsers → James9270

James9270

Overall Medals

YearLDThemeGameDivisionOverall
👥 🥈 2022 51 Every 10 seconds Intern Inferno jam 4.57

Category Medals

YearLDThemeGameDivisionCategoryScore
👥 🥈 2022 51 Every 10 seconds Intern Inferno jam Theme 4.65
👥 🥉 2022 51 Every 10 seconds Intern Inferno jam Humor 4.57

Games

YearLDThemeGameDivisionRankOvFuInThGrAuHuMo
202251Every 10 seconds👥Intern Infernojam24.574.474.224.654.674.344.574.59
202250Delay the inevitable👥Paper Boy Flyin' Highjam4713.693.663.544.004.383.782.733.67
202149Unstable👥Duck Optimizer Pro 2021jam7083.553.573.922.784.224.024.393.75
202148Deeper and deeper👥Psycho Stellarjam5153.763.313.782.854.163.853.154.19
202047Stuck in a loop👥Record Runnerjam534.224.163.944.364.054.523.864.08
202046Keep it alive👥a Very Talented Wormjam6143.753.723.523.363.663.523.723.52
201945Start with nothing👥Bruno's Mind Control Projectjam3433.643.523.603.143.453.403.123.52
201944Your life is currency👥Attack on Jerryjam1853.803.623.033.603.943.433.803.53
201843Sacrifices must be made👥Car Destruction Racer XIVjam524.114.004.134.184.264.143.953.95

Performance over time

overall score (left axis) percentile (right axis)

Scatterplots

Fun vs Overall

Innovation vs Overall

Theme vs Overall

Graphics vs Overall

Audio vs Overall

Humor vs Overall

Mood vs Overall

Comments by James9270

LD43 — Sacrifices must be made

Car Destruction Racer XIV by unplugred 2018-12-04T04:05:13Z

Hey!

LD45 — Start with nothing

Bruno's Mind Control Project by unplugred 2019-10-17T22:09:26Z

@mrerdalural Hey, I'm glad you enjoyed our game!

Regarding optimization, I used several tricks to make sure it performs well. The most effective optimization was to delay some of the computations, so they they only happen at certain intervals, rather than on every frame. This was done for the more expensive computations, namely checking which NPCs were close enough to one another to influence each other's loyalty to the player's team, or the enemy's team.

In addition to that, I simplified the distance checks that occur for each NPC. In order to find the distance between two points, you must compute the square distance, and then find the square root of that. For this, we only needed to check if two points are within a certain radius of one another, so, I removed the square root, and compared the square distance with the radius squared. This way, we don't have to call the square root function every time we check the distance between NPCs.

I also didn't use Unity's Update() function for each NPC, instead, they're all added to a list, and updated from a separate object. This is because there's a small overhead to using builtin functions such as Update(), which can build up if you have many objects using it.

Thanks for playing our game!