Mercredi 19 janvier 2022 :
Une animation gratuite, tout public, est proposée à Saint Léger Sous Cholet (49) . Inscription requise (accueil@ocsigene.fr).
Mercredi 19 janvier 2022 :
Une animation gratuite, tout public, est proposée à Saint Léger Sous Cholet (49) . Inscription requise (accueil@ocsigene.fr).
Donnez vie à vos sprites avec Sprite_Show2 !
(réalisé par @s_yanik)
Cet outil fait gagner beaucoup de temps aux graphistes et aux codeurs qui peuvent estimer, en temps réel, la qualité des sprites et la cohérence de leurs animations.
Commencez par sélectionner les sprites dans [Sprite Bank] puis revenez dans le menu et cliquez sur [Show] pour les animer.
Dans la version complète, vous pouvez dessiner vos sprites sur Sprite_Show2 ou les charger depuis une cartouche nommée « my_sprite1.p8 ». Dans Sprite_Show2 vous les affichez facilement à l’écran où ils vont s’animer : avancer, sauter, voler…
Vous pouvez les redessiner immédiatement ou les coder dans votre jeu.
Amusez-vous 😉
Pour en savoir plus : Sprite Show2.
Dans le cadre du Parcours @rchimède, l’association Picoscope est intervenue auprès d’élèves de 4e pour proposer une animation sur l’emploi des mathématiques dans le domaine des jeux vidéo (avec pico-8 !). Afin de faciliter l’emploi des connaissances acquises en cours de mathématique, une librairie dédiée (« lib_math.p8 ») a été conçue. Elle permet de créer figures géométriques à l’aide de points et de segments, puis d’appliquer des transformations : homothétie, rotation, symétrie axiale, translation, etc. L’origine (0,0) du repère orthonormé utilisé est au centre de l’écran. Le repère est orienté de façon « classique » : les axes des abscisses et ordonnées croissent respectivement vers la droite et le haut. Les angles sont exprimés en degré.
La bibliothèque, les supports de cours et les programmes connexes des modules (L1 et L2) sont proposés en téléchargement. Le premier module (L1) présente les fonctions de la bibliothèque et leurs mises en œuvre à travers de courts exemples. Le second module (L2) propose de réaliser un petit jeu vidéo (avec des graphismes vectoriels).
Télécharger le Module L1 (<1Mo)
Télécharger le Module L2 (<1Mo)
Exemples de production « élève » :
#include lib_math.p8
carre=m:figure({
points={
{-10,-10}, {-10, 10},
{ 10, 10}, { 10,-10}
},
segments={{1,2}, {2,3}, {3,4}, {4,1}},
}):deplace({0,30}):tourne(45)
carre2=m:clone(carre):zoome(0.5)
function _draw()
if (t()%24<12) then
cls()
m:segment({0,50},{0,-50}):trace(8)
m:segment({-50,0},{50,0}):trace(8)
m:point(0,0):trace(7)
end
carre
:centre({0,0})
:tourne(-1)
:centre()
:tourne(5)
carre2
:centre(carre.m_central)
:tourne(5)
if (t()%0.2<0.01) or (t()%24<12) then
carre:trace(10)
carre2:trace(9)
end
end
#include lib_math.p8
pts={}
for a=0,350,10 do
add(pts,{40*m:cos(a),40*m:sin(a)})
end
sts36={}
for i=1,35,3 do
for j=i,36,6 do
add(sts36,{i,j})
end
end
sts66={}
for i=1,35,6 do
for j=i,36,6 do
add(sts66,{i,j})
end
end
fig36=m:figure({
points=m:clone(pts),
segments=sts36
})
fig66=m:figure({
points=m:clone(pts),
segments=sts66
}):zoome(.8)
function _draw()
cls()
fig36:trace(13):tourne(-1)
fig66:trace(6):tourne(-2)
end
Nous remercions toute l’équipe de St Gab’ ainsi que Cloé et Jean-Baptiste pour leur accueil. Tous nos encouragements aux apprentis codeurs (qui sont maintenant convaincu que les maths n’ont pas été inventées uniquement pour leur donner des exercices). Un high five à Yannick (@s_yanik) pour son assistance technique. Nous n’étions pas trop de deux 😉
Pour prendre contact, n’hésitez à laisser un mot sur facebook ou twitter.
Salutations,
jihem
(twitter: @wdwave)
Ça y est : le PICO nouveau (0.2.0) est sorti. J’ai dû faire un gros effort sur le titre pour le pas ajouter une vingtaine de points d’exclamations. Pour être honnête, après le 5e, je me suis dit que cela ne faisait pas très sérieux : j’en ai donc retiré 4.
Les nouveautés les plus visibles sont l’arrivés de 16 onglets, de la possibilité d’afficher les tabulations (aide à aligner le code), l’ajout de deux polices de caractères supplémentaires : Puny (minuscule latine => [ctrl]-[p]) et Katanaka (japonais => [ctrl]-[k]).
Les nouvelles fonction ord() et chr() permettent respectivement de récupérer le code ASCII d’un caractère et le caractère d’un code ASCII, exemple :
Affiche : 97, 128, 65, 204. A noter que le ‘A’ classque correspond au ‘A’ en minuscule (de la table ASCII) et le ‘A’ pony (3e) au ‘A’ majuscule (malgré leur aspect respectif à l’écran).
La nouvelle instruction tline permet de dessiner des lignes texturées à l’écran. La durée d’attente d’une pression sur les boutons de la manette (ou d’une touches associées au clavier) avec btnp peut être réglée. De nouveaux opérateurs en préfixe d’affection sont également disponibles , exemple : ..= , ^= , etc. L’accès à la mémoire est simplifiée : $<adresse> à la place de PEEK(<adresse>). etc. Les amateurs de tweet card vont apprécier.
La fonction de parcours ipairs() vient également étendre les capacité du language. De nombreuses autres ajouts et modifications sont également présents, voir liste ci-après :
v0.2.0 Added: 8-bit character set with kana, alt font Added: ord(), chr() Added: SFX / Pattern organiser view Added: SFX edit buttons on pattern channels Added: tline // textured line drawing Added: SPLORE automatically updates BBS carts when online Added: Search for similar (shared tags) cartridges, or by thread Added: predefined fillp() pattern values assigned to glyphs Added: btnp() custom delays (poke 0x5f5c, 0x5f5d) Added: "." shorthand command for advancing a single frame (calls _update, _draw if they exist) Added: Current editor/cart view is recorded every 3 seconds to [app_data]/activity_log.txt Added: Cutting (ctrl-x) and pasting selected sprites while in map view to also adjust map references to those sprites Added: Clipboard is supported in the html exports (with some limitations) // load #wobblepaint for an example. Added: Can load .lua files as cartridges Added: Operators: ..= ^= \ \= & | ^^ << >> >>> ~ &= |= ^^= <<= >>= >>>= @ @@ $ Added: New demo carts: waves.p8 dots3d.p8 auto2d.p8 wander.p8 cast.p8 jelpi.p8 (use INSTALL_DEMOS) Added: Extra pre-installed games: Embrace, 8 Legs to Love (use INSTALL_GAMES) Added: Splore cart labels for .p8 files Added: Now 16 code tabs (click on the rightmost ones to scroll) Added: ipairs() Added: SAVE from commandline to quick-save current cartridge (same as ctrl-s) Added: BACKUP from commandline to save a backup of current cartridge Added: CPU usage widget (ctrl-p while running cartridge) Added: Button / dpad states exposed in memory at 0x5f4c (8 bytes) Added: Random number generator state exposed at 0x5f44 (8 bytes) Added: pico8_dyn version is included when exporting to Raspberry Pi Added: allow_function_keys option in config.txt (CTRL 6..9 are now preferred -- will phase out F6..F9 if practical) Added: Visible tab characters (draw_tabs in config.txt) Added: pal(16,{1,2,3..}) means: use the value for each key 0..15 in a table Added: palt(16, bitfield) means: set the colour transparency for all 16 colours, starting with the highest bit Added: Options menu for binary exports (sound / fullscreen / controls) Added: Shape drawing tools in sprite and map editor Improved: Miscellaneous HTML shell / player optimisations and adjustments Improved: Lower cpu usage for small foreground_sleep_ms values (changed host event loop & fps switching strategy) Changed: This update is called 0.2.0, not 0.1.12d! (grew into plans for 0.2.0, and bumped cart version number) Changed: negative numbers expressed with a '-' count as a single token Changed: glitchy reset effect does not leave residue in base RAM (but maybe on screen when using sprites / tiles) Changed: sset() with 2 parameters uses the draw state colour as default Changed: line() or line(col) can be used to skip drawing and set the (line_x1, line_y1) state on the next call to line(x1,y1) Changed: vital system functions (load, reboot etc.) can only be overwritten during cartridge execution Changed: sqrt(x) is now more accurate, and a little faster than x^.5 Changed: sqrt(x) returns 0 for negative values of x Changed: btnp() delay and repeats now work independently per-button Changed: pairs(nil) returns an empty function Changed: Default screenshot scale (now 4x), gif scale (now 3x) Changed: gif_len now means the length when no start point is specified (used to be the maximum recordable length) Changed: (Multicarts) When loading data from many different carts, the swap delay maxes out at ~2 seconds Changed: (Raspberry Pi) removed support for (and dependency on) libsndio Changed: camera(), cursor(), color(), pal(), palt(), fillp(), clip() return their previous state Changed: Can not call folder() from a BBS cart running under splore Changed: F9 resets the video, so that multiple presses results in a sequence of clips that can be joined to together Changed: color() defaults to 6 (was 0) Changed: Backed up filenames are prefixed with a timestamp. Changed: Automatically start on the (host's) current path if it is inside PICO-8's root path Changed: tostr(x,true) can also be used to view the hex value of functions and tables (uses Lua's tostring) Changed: Can hold control when clicking number fields (spd, pattern index etc.) to increment/decrement by 4 (was shift) Fixed: HTML exports running at 60fps sometimes appear to repeatedly speed up and slow down Fixed: HTML export layout: sometimes broken -- option buttons overlapping in the same place Fixed: __tostring metatable methods not observed by tostr() / print() / printh() Fixed: Mac OSX keyboard permissions (fixed in SDL2 0.2.12) Fixed: Audio mixer: SFX with loop_end > 32 would sometimes fail to loop back Fixed: btn() firing a frame late, and not on the same frame as stat(30) Fixed: #include can not handle files saved by some Windows text editors in default format (w/ BOM / CRLF) Fixed: Exports do not flatten #include'd files Fixed: Default window size has too much black border (now reverted to previous default) Fixed: Functions yielded inbetween frames occasionally push an extra return value (type:function) to the stack Fixed: can't load png-encoded carts with code that starts with a : Fixed: .gif output unnecessarily large Fixed: .gif recording skipping frames when running at 15fps Fixed: printh does not convert to unicode when writing to console or to a file Fixed: cart data sometimes not flushed when loading another cart during runtime Fixed: Can not navigate patterns with -,+ during music playback Fixed: Mouse cursor not a hand over some buttons Fixed: Laggy mouseover messages (e.g. showing current colour index, or map coordinates) Fixed: Can't paste glyphs into search field Fixed: Tab spacing always jumps config.tab_spaces instead of snapping to next column Fixed: -p switch name is wrong (was only accepting "-param" in 0.12.* Fixed: Code editor highlighting goes out of sync after some operations Fixed: Multicart communication problem (affecting PICOWARE) Fixed: time() speeds up after using the RESUME command Fixed: Audio state is clobbered when using the RESUME command Fixed: Audio glitch when fading out music containing slide effect (1) Fixed: Toggling sound from splore cart->options menu has no effect Fixed: Devkit keyboard works when paused Fixed: "-32768 % y" gives wrong results Fixed: Replacing all text in code editor breaks undo history Fixed: Double click to select last word in code does not include the last character Fixed: Weird block comment behavior in code editor Fixed: HTML export: cart names can not contain quotes Fixed: HTML export: menu button layout under chromium Fixed: HTML export: Adding content above cartridge breaks mobile layout Fixed: HTML export: Can touch-drag PICO-8 screen around (breaks simulated mouse input) Fixed: LOAD("#ABC") does not always immediately yield Fixed: Infinite RUN() loop crashes PICO-8 Fixed: Mouse cursor is not a finger on top of most "pressable" button-style elements Fixed: CD command fails when root_path is relative (e.g. "pico8 -root_path .") Fixed: poke in fill pattern addresses (0x5f31..0x5f33) discards some bits Fixed: After using ctrl-click in map editor, can not modify map outside that region Fixed: Shift-selecting sprites from bottom right to top left selects wrong region Fixed: Changing GIF_LEN from PICO-8 commandline sometimes breaks gif saving Fixed: pget() sometimes returns values with high bits set Fixed: Preprocessor: unary operator lhs is not separated in some cases (e.g. x=1y+=1) Fixed: Preprocessor: ? shorthand prevents other preprocess replacements on same line Fixed: Preprocessor: fails when multiple shorthand expressions + strings containing brackets appear on the same line Fixed: Loading a .p8 file with too many tabs discards the excess code. Fixed: Map editor's stamp tool wraps around when stamping overlapping the right edge. Fixed: Very quick/light tap events sometimes do not register Fixed: SFX tracker mode: can't copy notes with shift-cursors before clicking (whole sfx is copied instead) Fixed: "..." breaks syntax highlighting Fixed: Click on text, press up/down -> cursor reverts to previous horizontal position Fixed: CTRL-[a..z] combinations processed twice under some linux window managers Fixed: ctrl-up/down to jump to functions in the code editor breaks when "function" is followed by a tab Fixed: map & gfx drawing selection is not applied consistently between tools Fixed: Using right mouse button to pick up a colour / tile value sometimes also applies current tool
Et oui… tout ça
La mise à jour est disponible sur le site officiel : https://lexaloffle.com.
Bon code à tous,
jihem
Bonjour,
Je travaille sur une traduction française de la documentation officielle de FUZE. Si vous souhaitez obtenir le brouillon (version en cours), vous pouvez le télécharger en format pdf.
Vous êtes invités à faire suivre vos remarques et commentaires sur twitter (@wdwave). Il reste encore par mal de travail mais c’est un début
Salutations,
jihem
A propos de FUZE…
FUZE4 Nintendo Switch est une application de codage pour Nintendo Switch. Elle a été conçue et développée par une équipe de joueurs, programmeurs, artistes et éducateurs aguerris. Le résultat final est un langage parfaitement adapté aux jeux et applications de codage pour les débutants absolus, mais aussi les programmeurs chevronnés.
En janvier 2020, @s_yanik (pixel artist et développeur PICO-8) a publié sur itch.io un éditeur d’animations. Ci-après le verbatim d’un (court) échange avec l’auteur :
Yannick, pourquoi avoir développé Sprite-Show ?
Comment s’utilise Sprite-Show ?
Est-il possible de voir quelques images ?
Mise en situation des animations
Planche de sprites
Combien ça coûte ?
Du 5 au 8 octobre se tenait la 45e édition du Ludum Dare. Il s’agit d’une compétition ou vous disposez de 2 ou 3 jours (selon le challenge que vous vous fixez) pour réaliser un jeu sur un sujet « surprise ». Pour cette édition, le sujet est : « Start with nothing ».
Les fougueux chevaliers de la pico-team ont dégainé leur clavier et ont produit (en une après-midi faute de temps) un petit jeu : Greta !
Ce jeu a été conçu pour Ludum Dare 45: «Commencez avec rien». Vous êtes l’esprit de la nature. Vous n’avez rien et devriez recueillir avec l’outil approprié des gouttelettes d’eau, de soleil et de terre pour nourrir la plante.
Utilisez les flèches pour vous déplacer et la touche [x] pour changer d’ustensile.
Pouvez-vous aider Greta à grandir? (le nom de la fleur)
Pour jouer c’est par >> ici << !
Et pour voter (si vous participez à la LD45), c’est par >> là <<.
Le score ultime est 200 points. Bonne chance 😉
jihem
Si vous voulez voir ça :
2019-10-11
Mauvaise nouvelle, le financement a échoué. La campagne est terminée, et les fonds n’ont pas pu être rassemblés… :-/
2019-09-08
Vous devez donner un petit coup de pouce ici.
Merci pour votre soutien (les petites gouttes font les grands océans).
Trop hâte de voir ça en novembre (2019) !!!!
jihem
Descriptif de la conférence (9 juin 2019, BGF CAD) :
L’association PICOSCOPE propose de lever le voile afin de découvrir à quel point la programmation peut être accessible en étant guidé au sein d’un environnement adapté. La plate-forme présentée, PICO-8*, s’avère à la fois minimaliste pour être simple à appréhender et étonnamment riche en possibilités.
Les limites les plus difficiles à dépasser sont celles que l’on se fixe soi-même. La conférence met l’accent sur l’importance de savoir programmer dans un monde gouverné par les algorithmes.
Vous n’avez pas attendu le pass Culture pour savoir que le jeu vidéo est un art. Non seulement, il regroupe tous les arts mais surtout il les transcende. Oserez-vous éveiller l’artiste numérique qui sommeille en vous ?
*PICO-8 est une machine virtuelle, développée par Lexaloffle Games sur laquelle il est possible de jouer mais également de développer et partager de « petits » jeux vidéo.
La A-Team sur scène 😉
Jean-Marc « jihem » QUERE (à gauche) @wdwave
Yannick SOLE (à droite) @s_yanik
Nous remercions Damien Beigbeder, Président du Bordeaux Geek Festival, toute l’équipe (Lenno, BGF, CAD) et les festivaliers (adeptes PICO-8 d’un jour ou de toujours) pour leur accueil. Nous sommes ravis des rencontres effectuées sur place 😉
Toutes les ressources de la conférence sont mises à disposition ci-après (et seront complétées au fil de l’eau) :
Psychologie et aspects sociétaux :
Système 1/ Système 2 : Les deux vitesses de la pensée
– Daniel Kahneman
–
Une carte n’est pas le territoire
– Alfred Korzybski
–
Le temps des algorithmes
– Serge Abiteboul & Gilles Dowek
Le jeu vidéo est un Art :
Le petit livre des Jeux Vidéo
– Yann Le Bihan
–
Indie Games
– Bounthavy Sulilay
Le BGF (8-10 juin) approche à grands pas. Les Picocards sont arrivées. Toutes les personnes présentes à la conférence PICO-8 (9 juin 13h30, Club Arthur Dent) pourront empocher l’adresse du site. Les plus chanceux pourraient même avoir une licence PICO-8 en prime… mais chut
ATTENTION : L’horaire de la conférence a changé. Rendez-vous à 13h30 !!!