Vraiment, la seule façon d'avoir toutes les fonctionnalités est d'implémenter plusieurs interfaces. Accessible et puissant sont souvent les deux extrémités d'un spectre. La façon la plus simple de le faire est d'implémenter un système puissant, doté d'une interface supplémentaire pour permettre aux débutants d'interagir avec le système de manière intuitive.
Permettant un système qui permet aux débutants de programmer visuellement, peut-être quelque chose de similaire aux outils de programmation de Lego Mindstorms :
Où il y a des composants glisser / déposer. Les composants ont des entrées et des sorties. Les composants peuvent être des choses simples comme AND
, ou des OR
portes, ou plus complexes comme un test pour les ennemis proches.
Idéalement, la représentation visuelle devrait compiler un script de langage écrit en arrière-plan.Cela offre également un outil puissant pour apprendre la langue. Si un débutant peut "écrire" visuellement son programme, alors lire le code qu'il produit, il est beaucoup plus susceptible de le comprendre et de pouvoir modifier le code produit. Finalement, être capable d'écrire du code plus puissant que les outils visuels seuls le permettent. Cela répond à l'exigence de faciliter la programmation des utilisateurs.
L'épine dorsale du système, bien sûr, est un langage écrit. Les outils visuels sont juste pour donner aux utilisateurs un rapide moyen de programmer quelque chose de simple et permettre aux débutants de commencer.
Le langage écrit permet aux utilisateurs avancés de faire des choses avancées. Et vous pouvez même permettre aux utilisateurs de créer leurs propres composants, en créant des scripts personnalisés. Ils peuvent ensuite réutiliser les composants qu'ils ont créés dans une interface rapide et facile pour une programmation rapide.
Bonne chance! Le project semble amusant.