Faits :
A.
Par jugement du 18 novembre 2019, le Tribunal pénal des mineurs des Montagnes et du Val-de-Ruz a reconnu A._ coupable d'omission de prêter secours (art. 128 CP), d'agression (art. 134 CP) et de conduite d'un véhicule automobile sans être titulaire du permis de conduire requis (art. 95 al. 1 let. a LCR). Il l'a condamné à fournir une prestation personnelle de 10 demi-journées. A._ a en outre été astreint, solidairement avec C._, D._ et E._, à verser à B._ des indemnités de 2'000 fr. à titre de tort moral et de 1'150 fr. à titre de dommages-intérêts.
B.
Statuant par jugement du 13 juillet 2021, la Cour des mesures de protection de l'enfant et de l'adulte du Tribunal cantonal neuchâtelois a rejeté l'appel formé par A._ contre le jugement du 18 novembre 2019, qu'elle a confirmé.
En substance, la cour cantonale a retenu les faits suivants s'agissant des événements encore pertinents devant le Tribunal fédéral.
Le 20 octobre 2017, vers 17 heures, A._, né en 2002, marchait en compagnie de C._, D._ et E._ notamment, sur l'avenue U._, à V._.
Au moment de croiser B._, né en 1965, qu'aucun des précités ne connaissait, A._ a eu l'impression que celui-là l'avait " mal regardé ". Après que A._ lui avait alors demandé s'il avait " un souci ", certains de ses camarades ont asséné des coups de poing au visage de B._, qui est tombé au sol et a perdu connaissance, alors qu'il saignait par ailleurs de la tête. A._ et les autres ont ensuite quitté les lieux sans se préoccuper de l'état de B._.
Acheminé en ambulance à l'hôpital, B._, qui présentait une alcoolémie de 2,97o/oo à l'éthylomètre, s'est vu diagnostiquer un traumatisme crânien ainsi qu'une plaie superficielle occipitale. Après y être resté durant la nuit en surveillance neurologique, il a pu quitter l'hôpital le lendemain.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 13 juillet 2021. Il conclut, avec suite de frais et dépens, principalement à son acquittement des chefs d'omission de prêter secours et d'agression ainsi qu'au rejet des conclusions civiles formulées par B._. Subsidiairement, il conclut à l'annulation du jugement et au renvoi de la cause à l'instance précédente pour nouvelle décision. Il sollicite en outre l'octroi de l'assistance judiciaire.
Considérant en droit :
1.
Invoquant une violation de l'art. 406 al. 2 CPP, le recourant se plaint que la cour cantonale a ordonné une procédure d'appel écrite en lieu et place d'une procédure orale. Il soutient notamment qu'une procédure écrite était exclue dès lors que le jugement attaqué en appel n'avait pas été rendu par un juge unique (cf. art. 406 al. 2 let. b CPP), mais par une autorité collégiale, soit en l'occurrence par le tribunal des mineurs.
1.1. Les art. 398 ss CPP, relatifs à la procédure d'appel, sont applicables en matière de droit pénal des mineurs (cf. art. 3 al. 1 et 2 a contrario de la loi fédérale sur la procédure pénale applicable aux mineurs [PPMin; RS 312.1]; cf. également art. 40 PPMin).
1.2. Selon l'intention du législateur, la procédure d'appel est en principe orale. L'appel ne peut être traité en procédure écrite qu'à titre exceptionnel et aux conditions restrictives de l'art. 406 CPP, dont la réalisation doit être examinée d'office par la juridiction d'appel (ATF 147 IV 127 consid. 2.2.1; 143 IV 483 consid. 2.1.1; 139 IV 290 consid. 1.1). Ainsi, en vertu de l'art. 406 al. 1 CPP, la juridiction d'appel ne peut mettre en oeuvre une procédure écrite, indépendamment d'un accord des parties, que si seuls des points de droit doivent être tranchés (let. a), si seules les conclusions civiles sont attaquées (let. b), si le jugement de première instance ne porte que sur des contraventions et que l'appel ne porte pas sur une déclaration de culpabilité pour un crime ou un délit (let. c), si seuls des frais, des indemnités ou la réparation du tort moral sont attaqués (let. d) ou si seules des mesures au sens des art. 66 à 73 CP sont attaquées (let. e). Avec l'accord des parties, la direction de la procédure peut en outre ordonner la procédure écrite, selon l'art. 406 al. 2 CPP, lorsque la présence du prévenu aux débats d'appel n'est pas indispensable (let. a) et lorsque l'appel est rendu par un juge unique (let. b).
L'introduction de la limitation décrite à l'art. 406 al. 2 let. b CPP trouve son origine dans le fait que le législateur entendait réserver la possibilité de renoncer à des débats oraux qu'aux seules causes de relativement faible importance (ATF 147 IV 127 consid. 2.2.1; cf. Message du Conseil fédéral du 21 décembre 2005 relatif à l'unification du droit de la procédure pénale, FF 2006 1057, ch. 2.9.3.2 p. 1301).
Cela étant, l'accord des parties pour la procédure écrite n'est pas susceptible de se substituer aux conditions prévues par l'art. 406 al. 2 let. a et b CPP, mais constitue bien une condition complémentaire à celles-ci, lesquelles doivent être réalisées cumulativement (ATF 147 IV 127 consid. 2.2.2).
1.3. En l'espèce, le jugement attaqué en appel avait été rendu le 18 novembre 2019 par le Tribunal pénal des mineurs des Montagnes et du Val-de-Ruz, à savoir une autorité composée d'un président et de deux assesseurs (cf. art. 7 al. 2 PPMin), qui avait en l'occurrence été appelé à statuer sur les infractions retenues dans l'ordonnance pénale du Juge des mineurs du 24 avril 2019, à laquelle le recourant avait formé opposition (cf. art. 34 al. 2 PPMin).
Il faut ainsi donner acte au recourant qu'une procédure d'appel écrite était exclue au regard de l'art. 406 al. 2 CPP, la condition nécessaire d'un jugement rendu par un juge unique, prévue par la let. b de cette disposition, n'étant pas réalisée. Il n'est à cet égard pas déterminant qu'interpellé sur ce point par la direction de la procédure de la juridiction d'appel, il avait expressément donné son accord à une procédure écrite, une telle circonstance n'étant pas susceptible, au regard de la jurisprudence précitée, de pallier la non-réalisation des autres conditions de l'art. 406 al. 2 CPP. Il est également indifférent que la condamnation du recourant portait sur une peine dont la quotité (10 demi-journées de prestation personnelle) était largement inférieure à celle maximale susceptible d'être prononcée en première instance par un juge unique en vertu de l'art. 19 al. 2 let. a CPP, à savoir 2 ans de peine privative de liberté. En effet, au regard de l'art. 34 al. 3 PPMin, et contrairement à ce qui prévaut en procédure pénale fédérale ordinaire, ce n'est que dans le cas d'une opposition à une ordonnance pénale portant sur une contravention, dans un canton ayant désigné des procureurs des mineurs comme autorité d'instruction, hypothèse non réalisée en l'espèce, que le jugement de première instance est susceptible d'être rendu par le président du tribunal des mineurs en tant que juge unique.
Au surplus, la mise en oeuvre d'une procédure écrite n'était pas non plus envisageable en application de l'art. 406 al. 1 CPP. Dans sa déclaration d'appel, le recourant avait ainsi fait état de son intention de contester l'entier du jugement, dont on rappelle qu'il ne portait pas uniquement sur des contraventions (cf. art. 406 al. 1 let. c CPP). Du reste, son mémoire d'appel motivé (art. 406 al. 3 CPP) contenait des griefs relevant non seulement du droit, mais également de la constatation des faits (cf. art. 406 al. 1 let. a CPP).
2.
Il s'ensuit que le recours doit être admis, le jugement attaqué annulé et la cause renvoyée à la cour cantonale pour qu'elle mette en oeuvre une procédure d'appel orale, puis qu'elle rende une nouvelle décision. Au regard de la nature procédurale du vice examiné et dans la mesure où le Tribunal fédéral n'a pas traité la cause sur le fond, ne préjugeant ainsi pas de l'issue de celle-ci, il peut être procédé au renvoi sans ordonner préalablement un échange d'écritures (cf. ATF 133 IV 293 consid. 3.4.2 p. 296; arrêts 6B_1100/2020 du 16 décembre 2021 consid. 6; 6B_662/2020 du 18 août 2020 consid. 2).
Le recourant obtient gain de cause et n'a pas à supporter de frais. Il peut en outre prétendre à des dépens qui seront mis à la charge du canton de Neuchâtel (art. 68 al. 2 LTF), ce qui rend au surplus sans objet sa demande d'assistance judiciaire (art. 64 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, le jugement attaqué est annulé et la cause renvoyée à l'autorité cantonale pour qu'elle mette en oeuvre une procédure d'appel orale, puis qu'elle rende une nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Neuchâtel versera au recourant, en main de son conseil, la somme de 3'000 fr., à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour des mesures de protection de l'enfant et de l'adulte du Tribunal cantonal de la République et canton de Neuchâtel.
Lausanne, le 16 février 2022
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
Le Greffier : Tinguely