KBLE, l'éditeur de niveau que personne n'a demandé.
Posté le 01/02/2021 15:36
Bonjour ! Etant donné que KBLE n'est pas uniquement dédié à JTMM2, j'ai décidé de déplacer les informations ici.
KBLE est un éditeur de niveau modal, conçu pour être le plus efficace possible et entièrement utilisable au clavier. Bien qu'étant entièrement utilisable au clavier, il est possible de combiner clavier/souris. Dans l'état actuel, KBLE supporte :

Sélection clavier.

Sélection souris.

Actions.

Zoom.

Sauvegarde et chargement.

Répétition de déplacement et paramètres d'actions.

Configuration.
Pourquoi apprendre KBLE ?
Pour plus d'informations, rendez vous sur la
page du projet Sourcehut.
Ci-dessous se trouvent les articles des RDP où est apparu KBLE, et des vidéos de démonstration par ordre chronologique.
Significations de l'acronyme
Alice a écrit :
KBLE, c'est pour Kikoodx Basic Level Editor ?
Tituya a écrit :
C'est pour péter un KaBLE
Revue des Projets
RDP 198
Vidéos
Jour 8 : démonstration des fonctionnalités souris.
Jour 9 : démonstartion des modes au clavier.
Liens utiles
Parcourir le dépôt Git de KBLE.
Ouvrir une issue (report de bug, proposition de fonctionnalité, etc.).
Projets utilisant KBLE
Painfull Success (GNU/Linux)
Painfull Success CG (Casio 90+e)
Citer : Posté le 02/02/2021 15:09 | #
Bonjour ! Le clavier a rattrapé la souris avec les modes de sélection. J'ai simplifié le code et le fonctionnement en conséquence. La vidéomontre les modes « normal » (déplacement du curseur), « sélection » (curseur ajoute à la sélection) et « rectangle » (sélection rectangulaire). Je me suis rendu compte que cette organisation est plus sensée pour un éditeur de niveau que le fonctionnement classique de Vim/Kakoune. Le README est toujours tenu à jour avec les nouvelles touches, lisez le si ça vous intéresse.
Vidéo jour 9.
PS : L'intérêt n'est toujours pas flagrant, attendez la répétition de touches.
Citer : Posté le 02/02/2021 15:14 | #
Je trouve ça assez unique comme mode de saisie. Je vois bien les capacités du clavier en jeu, ça a l'air sympa. C'est inspiré de quelque chose en particulier ou c'est comme ça que tu l'as imaginé ?
Citer : Posté le 02/02/2021 16:07 | #
Merci, ça fonctionne plutôt bien je suis content
Citer : Posté le 02/02/2021 16:18 | #
Eh bien beau travail ! Ça me donne des idées pour des interfaces clavier uniquement (par exemple la calculatrice hé hé).
Citer : Posté le 02/02/2021 16:21 | #
Commentaire inutile
C'est pas sourcehut le nom du site ?
Fin du commentaire inutile
Citer : Posté le 02/02/2021 16:41 | #
Merci Lephé ! Ce serait intéressant de voir de bonnes interfaces utilisateur sur calto.
C'est bien Sourcehut. Corrigé, merci.
Ajouté le 24/02/2021 à 17:25 :
Salut ! J'ai terminé d'implémenter l'écriture et la lecture de niveaux pour KBLE. C'est une étape importante, « plus que » les paramètres et KBLE sera enfin utilisable en situation réelle
Le format de fichier est personnalisé, la « spécification » tient en moins de dix lignes et est très simple à implémenter dans votre langage favori ─ un des objectifs de KBLE étant de rendre la manipulation de la sortie facile. Pas de truc super lourd à la JSON, ça fonctionne et il n'y a pas besoin de passer par trente-huit niveaux d'abstractions. Vous pouvez hexdump sample.kble si vous voulez jeter un oeil, c'est parfaitement lisible par un humain. Pour le moment toutes les cases sont « encodées » (limite dumpées honnêtement) sur deux octets, mais j'ai gardé une ouverture pour que l'utilisateur puisse changer ça et/ou programmer un éditeur compatible.
Cette fois-ci je n'ai pas de vidéo, la sauvegarde n'étant pas visuelle. Je vous souhaite une bonne soirée !
Citer : Posté le 24/02/2021 17:33 | #
Intéressant ! Je te conseille vraiment de garder un octet pour le numéro de version dans ton format, parce que tu te rendras compte assez vite pourquoi JSON et d'autres trucs « super lourds » sont utilisés quand tu rajouteras des fonctionnalités. Si tu ne peux pas distinguer les anciens fichiers je crains que tu sois vite coincé à ne rien pouvoir ajouter dans ton format.
Citer : Posté le 24/02/2021 17:36 | #
J'aimerai ne rien avoir à ajouter au format, je veux qu'il soit le plus simple possible. Mais tu as raison c'est toujours bien d'avoir une sécurité, je vais ajouter un octet au début du fichier qui indique la version du format
Ajouté le 24/02/2021 à 18:11 :
Voilà c'est fait, j'en ai profité pour fixer un bug stupide. Mis à jour le format et le sample.kble en conséquence. Merci Lephé
Citer : Posté le 24/02/2021 23:18 | # |
Fichier joint
Le programme peut désormais prendre un argument, le chemin à ouvrir et/ou sauver le niveau. Le code devrait fonctionner sur tous les systèmes d'exploitations, hormis Windows qui devra se contenter de la valeur par défaut. J'ai mis à jour le README en conséquence, avec quelques exemples. Si quelqu'un veut tester, j'ai dessiné un magnifique owo sur une grille de 64×64, voir fichier joint
Ajouté le 25/02/2021 à 17:37 :
Salut, quelques nouvelles ! L'éditeur devient enfin utilisable, la 0.1 devrait arriver bientôt et je pourrai reprendre le développement de JTMM2
Aujourd'hui j'ai fait trois choses qui pourraient vous intéresser :
Passez une bonne soirée.
Ajouté le 25/02/2021 à 23:47 :
Bonsoir, j'avais encore un peu de temps aujourd'hui alors j'ai implémenté la configuration. Elle se fait en éditant src/conf.zig, et est appliquée à la compilation.
La configuration permet pour le moment de :
Plus d'informations dans le README ─ que je met à jour comme d'habitude ─ et le fichier de configuration en question.
https://git.sr.ht/~kikoodx/kble
https://git.sr.ht/~kikoodx/kble/tree/dev/item/src/conf.zig#L20
Pour ceux qui vont me dire que c'est ridicule de configurer un programme en éditant la source, j'ai des raisons pour lesquelles j'ai fait ce choix :
Allez, ça suffira pour aujourd'hui je pense
Citer : Posté le 26/02/2021 00:29 | #
Citer : Posté le 26/02/2021 14:28 | #
Bonjour,
le projet approche de la 0.1
Aujourd'hui quatre avancées ─ les noms indiquent la personne qui m'a inspiré à les faire :
Pour les gens qui ne prendront pas la peine d'installer un binaire de 100Kb ─ je vous vois ─ voici une vidéo qui me montre utiliser l'éditeur en mode clavier/souris ─ sacrilège je sais, mais je veux montrer que c'est efficace.
https://kiko.ovh/videos/kble_pre_1.0.mp4
J'écoute et répond aux retours, suggestions et questions. Vous pouvez les faire sur ce topic ou soumettre un ticket. Merci d'avance si vous prenez le temps de le faire, cela m'aide vraiment
PS : Ce serait bien que les autres membres qui développent leurs projets en sous-marin ─ vous vous reconnaîtrez ─ se mettent à spammer comme moi dans leurs topics, je me sens un peu seul :/
Citer : Posté le 26/02/2021 14:33 | #
ça commence à bien prendre forme !
Merci d'avoir implémenté la désélection, ça a l'air plus pratique pour la souris, ça se voit bien au début de la vidéo
Hâte de voir ce que tu vas pouvoir ajouter d'autre et ton développement de JTMM2 avec !
(manque plus que le scroll)
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 26/02/2021 14:38 | #
Hmm vraiment intéressant cette interface graphique, je ne sais pas vraiment où tu vas mais c'est clair que toi tu sais donc je suis toujours impatient de voir ce que ça donne. (Et merci pour la capture vidéo qui nous montre la bonne façon de s'en servir.
Tes updates sont très appréciées, j'hésite à parler de mes affaires du jour parce que c'est à la fois très peu d'enjeu et gint, et je me dis que c'est pas là qu'il faut mettre l'accent en ce moment ^^"
Citer : Posté le 27/02/2021 01:08 | #
Merci à toi Tituya pour tes retours
Hmm vraiment intéressant cette interface graphique, je ne sais pas vraiment où tu vas mais c'est clair que toi tu sais donc je suis toujours impatient de voir ce que ça donne. (Et merci pour la capture vidéo qui nous montre la bonne façon de s'en servir.
Je suis en train de participer à une game jam de trois jours et j'utilise KBLE comme éditeur, cela donnera j'espère un bon exemple d'application en situation réelle
Le combo clavier/souris est très efficace au final, ce n'était pas un objectif mais je prend ça comme une victoire ─ je veux la possibilité de l'utiliser entièrement au clavier, mais ma priorité reste de créer un éditeur plus efficace que la concurrence.
Tes updates sont très appréciées, j'hésite à parler de mes affaires du jour parce que c'est à la fois très peu d'enjeu et gint, et je me dis que c'est pas là qu'il faut mettre l'accent en ce moment ^^"
Merci
L'update du Kikoo crevé.
Comme je l'ai mentionné plus haut, je participe à une game jam alors je n'ai pas pu passer beaucoup de temps sur KBLE ; cependant mon expérience en situation réelle a créé le besoin de ces changements alors je les ai implémenté.
Bonne matinée, gotta sleep.
Citer : Posté le 27/02/2021 10:17 | #
J'ai vu que la souris était là aussi, et à la limite pourquoi pas, fais ce qui marche le mieux pour toi. On reconnaît les projets fous aux updates à 1h du matin, alors bon courage
Citer : Posté le 27/02/2021 17:51 | #
Merci
Rebonjour, heure décente aujourd'hui pour une raison. J'ai ajouté une option de configuration pour changer la taille de la fenêtre à la création ─ par défaut elle est déterminée par le scaling et la taille de la grille. Je n'en avais jamais eu besoin avant aujourd'hui, pratique pour le jeu sur lequel je travaille où tous les niveaux sont de taille fixe. J'ai une solution en tête pour les tailles variables, ça promet d'être stylé keep in touch.
J'ai ouvert une issue pour le « copier / coller ». Je le trouve plutôt complet mais si vous avez des suggestions pour l'améliorer je les prend avant de m'auto-accepter et commencer l'implémentation.
https://todo.sr.ht/~kikoodx/kble/4
Une fois que la caméra ─ ou équivalent ─ et le « copier / coller » seront en place je reprendrai le développement de JTMM2 en objectif principal et continuerai d'améliorer KBLE selon les obstacles croisés.
¡Hasta la vista!
Citer : Posté le 28/02/2021 01:49 | # |
Fichier joint
Bons... ─ vois l'heure ─ euh je vais faire court x)
Ajouté une option pour redimensionner la fenêtre du programme dynamiquement pour faire rentrer le niveau exactement dans la fenêtre ─ au pixel près oui. Peut être désactivé dans la configuration. Comme prévu, c'est stylé
Où est
CharlieKBLE ?Citer : Posté le 28/02/2021 10:21 | #
Super projet !
Je voulais regarder l'organisation du fichier sample.kble, mais l'ouvrir sur Windows me donne une suite de ""...
Est ce normal ?
Si oui, quelle est la signification de ces "" ?
Citer : Posté le 28/02/2021 10:30 | #
Salut, merci Potter
C'est parfaitement normal, le fichier est encodé sous un format binaire, dont voici la « spécification » :
https://git.sr.ht/~kikoodx/kble/tree/dev/item/kbleformat.md
Pour lire le contenu à l'oeil nu, tu peux utiliser Format-Hex .\sample.kble dans Powershell, sous Linux je recommande hx -t 0 sample.kble ─ paquet community/hex dans les repos d'Arch.
Citer : Posté le 28/02/2021 10:35 | #
Ha oui ! Ca donne du fil à retordre aux futurs potentiels utilisateurs de KBLE pour des jeux !
Merci en tout cas pour ton retour, et bravo !