CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Compiler du C en HTML

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Blovorad
Blovorad
Niveau 1
20 août 2020 à 23:07:49

Salut à tous,
je suis en ce moment sur un petit jeu, que je code en C avec la SDL.
J'ai vu que sur itch que l'on pouvait poster ses jeux de manière à ce qu'ils soient joués directement depuis le site, or je n'ai aucune connaissance en HTML.
Auriez vous un lien vers un tuto pour pouvoir compiler du C en HTML ou cela nécessite que je me mette a comprendre ce langage ?
Au passage j'ai réalisé 2 petits jeux certe très modeste, que je partage car ils font partie de mon apprentissage de ce monde de la programmation de jeu. Un pong et un Snake.
J'ai encore des lacunes dans la gestion de la mémoire avec les malloc et realloc que je suis entrain de corriger sur mon nouveau projet.

petit screen de mon projet du moment
https://image.noelshack.com/fichiers/2020/34/4/1597957486-figthscreen.png

et voici ma page itch pour mes deux autres projets
https://blovorad.itch.io/
https://image.noelshack.com/fichiers/2020/34/4/1597957588-gameplayhard.png
https://image.noelshack.com/fichiers/2020/34/4/1597957629-ecran-de-jeux-finale.png

Message édité le 20 août 2020 à 23:09:39 par Blovorad
cybevil
cybevil
Niveau 27
21 août 2020 à 02:25:45

Alors pour t'aiguiller un peu, déjà le html c'est un langage de balisage, ça permet de structurer un site donc pas possible de programmer avec. C'est d'ailleurs un peu étonnant que tu programme déjà en interface graphique sans savoir ça.

Ensuite je ne connais pas itch, mais pour réaliser un jeu pour le web tu peux :

Soit tu utilises du Html/css + JavaScript pour refaire ton jeu du début(à ma connaissance ya pas de convertisseur auto pour ça). Le Html/css ne sont pas très complexe si ça te fait peur.

Un langage back-end comme php ainsi qu'une base de données(mySql par exemple) peuvent être nécessaire si tu veux garder en mémoire les actions faites dans le jeu et que tout ne se réinitialise pas à la prochaine actualisation de ta page.

Ou alors tu peux regarder comment intégrer du C dans une page web mais ça m'a l'air compliqué et j'aurais du mal à te renseigner là dessus.

Il me semble aussi que certains moteurs de jeux comme unity ou construct gère l'exportation pour le web.

godrik
godrik
Niveau 30
21 août 2020 à 05:18:36

Je ne sais pas si la SDL a un back end web natif. C'est possible de faire tourner du C sur une page web, mais ca demande de passer par webassembly qui est une techno relativement recente. Et il faudrait aussi probablement avec un driver SDL pour ecrire sur un canvas HTML. Et il faudrait probablement gerer les /O disque d'une facon ou d'une autre.

Lapintade
Lapintade
Niveau 30
21 août 2020 à 13:40:44

Emscripten te permets de compiler du C/C++ directement en HTML5 (via une machine virtuelle). Ca marche assez bien. Je sais pas quel niveau tu as besoin (pour des petits trucs c'est ok je pense, apres ca doit avoir ses limitations).

J'avais converti des programmes utilisant SDL en HTML5 comme ca, donc sans ecrire une ligne de code en js.

Blovorad
Blovorad
Niveau 1
21 août 2020 à 23:26:05

Bonsoir, merci pour toute ses informations !
Je me suis peut être mal exprimé mais mon but n'est pas de programmer en HTML.

Quand j'ai commencé à m’intéresser à des endroits ou poster mes jeux, itch.io s'est présenté et il a une fonction qui lui permet si tu lui files ton jeu en html, tu peux le lancer depuis le site sans téléchargement il se lance depuis la page du jeu.

J'ai ensuite vu que unity faisait une export de lui même je crois en HTML, je me suis donc dit que si en C# c'est possible il doit y avoir une manière de le faire en C.
Je ne souhaite pour le moment pas vraiment me mettre à apprendre le java script.
Tu as vu juste en réalité je voulais savoir si il était possible assez simplement d'intégrer du code C en HTML, mais au vu du peu de connaissance que j'ai, je pense ne pas avoir réussit a m'exprimer.

Je vais me renseigner sur webassembly, si cela me paraît complexe je passerais pour le moment, merci pour l'information !

De même je vais regarder Emscripten merci de l'information !

Bonne soirée à vous !

edit : après recherche je vois que le webassembly et empscripten sont la même chose

Message édité le 21 août 2020 à 23:29:40 par Blovorad
Lapintade
Lapintade
Niveau 30
23 août 2020 à 16:02:31

possible que ce soit la meme chose oui.

Pour repondre a ta question, non ce n'est pas simple facilement. Un code en C est faire pour etre lancé sur un processeur directement et pas dans un navigateur. Unity fait son export en HTML car il a un plugin qui tourne dans le navigateur.
Pour emscripten, ca va compiler ton C en LLVM qui est un langage scripté et il va etre lu et executer dans une machine virtuel en javascript. C'est pas optimal mais ca marche. Il y a pas mal de boulot pour gerer les input/ouput (touches, joys, audio ...).

Message édité le 23 août 2020 à 16:03:03 par Lapintade
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment