Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » KBLE, l'éditeur de niveau que personne n'a demandé.
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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)


1, 2 Suivante
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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.
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

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é ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 02/02/2021 16:07 | #


Merci, ça fonctionne plutôt bien je suis content Ce n'est pas inspiré d'un autre outil, je l'ai imaginé comme cela. J'ai réfléchi à comment maximiser le ratio productivité/complexité, et après avoir testé plusieurs options je suis resté là dessus.
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

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é).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eragon En ligne Gardien des bots Points: 479 Défis: 0 Message

Citer : Posté le 02/02/2021 16:21 | #


Commentaire inutile

C'est pas sourcehut le nom du site ?

Fin du commentaire inutile
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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 Vous pouvez lire le README, les touches sont indiquées.
https://git.sr.ht/~kikoodx/kble

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.
https://git.sr.ht/~kikoodx/kble/tree/dev/item/kbleformat.md

Cette fois-ci je n'ai pas de vidéo, la sauvegarde n'étant pas visuelle. Je vous souhaite une bonne soirée !
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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 (En espérant qu'il n'ait pas à changer.)

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é
ouais ouais
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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 Cela montre en passant que le programme lit bien la taille du niveau et alloue correctement sur le tas.

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 :
Implémenté les paramètres et la répétition de commande (similaire à Vi ou Kakoune, rentrer des chiffres avant une commande). Rend le travail au clavier beaucoup plus efficace, et permet de placer plus de deux tuiles différentes.
Mis un paquet sur l'AUR (kble-git) pour rendre le projet plus « accessible ».
Intégré builds.sr.ht au projet, après chaque push un build automatisé sera complété dans la minute. Voir ici https://builds.sr.ht/~kikoodx/kble Cela vous permet de télécharger la dernière version du projet sans vous traîner tout l'historique git et la toolchain de Zig. Raylib est la seule dépendance au runtime.

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 :
Désactiver le support de la souris (le binaire généré est un poil plus léger).
Changer les boutons de la souris utilisés.
Définir des couleurs, sympa pour le rice mais surtout pour l'accessibilité.
Modification des keybindings ─ avec exemples.

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 :
Garde le code relativement simple. Pas de dépendances étranges ou de mélange de syntaxes.
Grande flexibilité et transparence.
KBLE peut être « customisé » pour un certain jeu et livré en binaire aux utilisateurs.


Allez, ça suffira pour aujourd'hui je pense
ouais ouais
Breizh_craft En ligne Modérateur Points: 1171 Défis: 7 Message

Citer : Posté le 26/02/2021 00:29 | #


The way that sucks less
Breizh.pm – Un adminsys qui aime les galettes.
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 26/02/2021 14:28 | #


This is the way.


Bonjour,
le projet approche de la 0.1

Aujourd'hui quatre avancées ─ les noms indiquent la personne qui m'a inspiré à les faire :
La tabulation (\t) est désormais supportée, et j'ai modifié la structure pour simplifier l'ajout d'autre caractères spéciaux ─ Tituya
Ajouté une option qui change le comportement de la souris pour être plus adapté aux tablettes graphiques ─ Masséna
Ajouté une option pour changer la taille de la grille par défaut.
Implémenté la désélection, j'étais un peu sceptique mais maintenant que c'est là l'expérience utilisateur se voit grandement améliorée ─ Tituya

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 :/
ouais ouais
Tituya Hors ligne Administrateur Points: 2156 Défis: 26 Message

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)
Bretagne > Reste du globe
(Et de toute façon, vous pouvez pas dire le contraire)
Projet en cours : Adoranda

Mes programmes
Hésite pas à faire un test !


Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

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 ^^"
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 27/02/2021 01:08 | #


Merci à toi Tituya pour tes retours

Lephenixnoir a écrit :
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.

Lephenixnoir a écrit :
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 Ce n'était pas visé, je savais que ça allait faire réagir les gens et ça a fonctionné Je continuerai de stalk #projets alors

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é.
Le scaling par défaut est désormais configurable.
Des backups sont créés avant les opérations pouvant créer une perte de données, actuellement la lecture et la termination du programme. Peut être désactivé dans la configuration.

Bonne matinée, gotta sleep.
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

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
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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!
ouais ouais
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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 Charlie KBLE ?

ouais ouais
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

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 "" ?
Globalement, coder. Mal, mais coder.
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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.
ouais ouais
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

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 !
Globalement, coder. Mal, mais coder.
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 79 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd