Meilleur façon de faire de la 2D sur PC ?

Pour tout ce qui est fan arts, homebrew, shooters codés à la main, rip de sprites, doujins et toute autre productions artistiques ou logicielles faites maison.
chaos
Jeune Pad-awan
Messages : 60
Inscription : 23 mai 2009, 19:54

djvinc a écrit :En même temps, tous les développeurs disent ça depuis plus de 20 ans... désolé pour les académiciens :P
En théorie, on dit "fiche", et pas "fichier" ! Un fichier, c'est plus un répertoire qui contient des fiches !!
sauf que je me suis déjà fait incendier dans un oral pour avoir dit librairie au lieu de bibliothèque :p.
Avatar de l’utilisateur
MsK`
Ruineur de Clavier
Messages : 682
Inscription : 14 janv. 2006, 21:01
Localisation : Bordeaux, France
Contact :

Je dis bibliothèque aussi.

(et la surcharge d'opérateurs en dehors d'objets mathématiques, c'est mal)
Dodge the bullet, save the world.
On a fait un nouveau shmup, avec beaucoup d'amour tout plein!
Image
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

En attendant, ca pas en sachant si on doit dire librairie ou bibliothèque que l'on va savoir faire de la 2D sur PC :D
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
MsK`
Ruineur de Clavier
Messages : 682
Inscription : 14 janv. 2006, 21:01
Localisation : Bordeaux, France
Contact :

Tu rends des quad, c'est pas plus compliqué que ça.
Dodge the bullet, save the world.
On a fait un nouveau shmup, avec beaucoup d'amour tout plein!
Image
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

J'ai jamais piqué le quad de qui que se soit :eek:
C'est pas bien d'accusés les autres sans les connaitre !
Rend les toi-même les quads :[
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Risike
Dieu de la Borne
Messages : 1935
Inscription : 01 déc. 2009, 13:30
Localisation : Citoyen du monde, partisan d'un monde sans frontière

De quoi vous parlez les jeunes ?
La jeunesse n'est pas une période de la vie, mais un état d'esprit...
Avatar de l’utilisateur
MsK`
Ruineur de Clavier
Messages : 682
Inscription : 14 janv. 2006, 21:01
Localisation : Bordeaux, France
Contact :

Ah heu... je croyais que c'était clair, pardon.

"Rendre un quad", définition
Image

Afficher deux triangles collés l'un à l'autre pour former un quadrilatère. Dans le cadre du rendu 2D : le quad est en général un rectangle, texturé (l'image du dessus me semble donc un très bon choix), avec une matrice de projection orthogonale.
Dodge the bullet, save the world.
On a fait un nouveau shmup, avec beaucoup d'amour tout plein!
Image
iliak
Insert Coin
Messages : 5
Inscription : 28 mai 2010, 22:52

Salut

je suis en train de faire un framework dédié au jeu 2D. Il est en C# et OpenGL (via OpenTK). Je suis actuellement en train de me faire un clone de Eye of the Beholder appelé Dungeon Eye. Une petite démo est dispo pour vous donner une idée...

Image

Image

Si vous êtes intéressé, vous pouvez aller faire un petit tour sur http://www.mimicprod.net pour tester tout ça.

A+
- Iliak -
[ArcEngine: a free 2D .Net gaming framework]
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Modérateur !
Il est hors sujet le monsieur !
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
iliak
Insert Coin
Messages : 5
Inscription : 28 mai 2010, 22:52

Je ne pense pas vraiment. La question d'origine est "Meilleur façon de faire de la 2D sur PC ?". Je propose juste mon framework qui est dédié à ça. Il est vrai que les screenshots sont hor sujet car je ne dev pas un shmup. Si cela gène, je peux les virer.

A+
- Iliak -
[ArcEngine: a free 2D .Net gaming framework]
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

je suis en train de faire un framework dédié au jeu 2D. Il est en C# et OpenGL (via OpenTK).
Heu... Ouai. La partie intéressante ici, c'est que tu développe un framework pour jeu 2D.
Sauf que tu te doute bien que la question de base est posée par un gars qui n'y connait rien dans le domaine de la programmation. Tu sais ce qu'est un framework, pas moi.

Je sais pas comment ca fonctionne. Tu ne donne pas la plateforme pour ton framework ( windows, linux, autres ).

Présenté comme ca, tu fais la pub de ton produit ( à but commercial que ca ne m'étonnerait pas vu que tu t'es inscrit exprès pour ca ! Et en plus, ton premier message ).

On grince déjà des dents quand y a des gars qui viennent faire leur pub dans la section petites annonces et qui ne vont strictement nulle par ailleurs sur le forum...

Tu aurais dit qu'il existe des framework en expliquant leur intérêt, ca serait passé comme une lettre à la poste ( sauf pour la partie présentation personnelle, direction bizutage ! ). Mais là, non, faudra d'abord me passer sur le corps ! ( avant de passer par la poste )
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
Henes
Ampoule aux Pouces
Messages : 474
Inscription : 10 juil. 2004, 14:25
Localisation : Paris (94)
Contact :

WTF ?

C# + look Windows sur les photos d'écran... On voit donc clairement de quelle plateforme il pourrait s'agir.
Et le framework (+ SDK) dont il parle est librement téléchargeable sur le site dont il a donné l'URL.

Calmos, quoi...
iliak
Insert Coin
Messages : 5
Inscription : 28 mai 2010, 22:52

Gunny a écrit :
je suis en train de faire un framework dédié au jeu 2D. Il est en C# et OpenGL (via OpenTK).
Heu... Ouai. La partie intéressante ici, c'est que tu développe un framework pour jeu 2D.
Sauf que tu te doute bien que la question de base est posée par un gars qui n'y connait rien dans le domaine de la programmation. Tu sais ce qu'est un framework, pas moi.
Si la personne désire faire un jeu, il faut qu'elle possède un minimum de connaissance, sinon elle ne va pas aller bien loin. Pour ce qui est de la définition d'un framework, pour ceux qui ne le savent pas, une simple recherche google donne ceci => http://fr.wikipedia.org/wiki/Framework.

Je sais pas comment ca fonctionne. Tu ne donne pas la plateforme pour ton framework ( windows, linux, autres ).
Pour la partie technique, le framework tourne sous Windows. Théoriquement, avec un grand 'T' à théoriquement, ça doit pouvoir tourner sur du Linux et du Mac, mais je n'assure pas ces OS.
Présenté comme ca, tu fais la pub de ton produit ( à but commercial que ca ne m'étonnerait pas vu que tu t'es inscrit exprès pour ca ! Et en plus, ton premier message ).

On grince déjà des dents quand y a des gars qui viennent faire leur pub dans la section petites annonces et qui ne vont strictement nulle par ailleurs sur le forum...
Autant pour moi, tu as raison, j'ai lâché mon post un peu rapidement comme un bon gros cheveux dans la soupe. Toutes mes excuses. En revanche, une simple visite sur le site te ferait remarquer que c'est un projet open source et non pas à but commercial...
Tu aurais dit qu'il existe des framework en expliquant leur intérêt, ca serait passé comme une lettre à la poste ( sauf pour la partie présentation personnelle, direction bizutage ! ). Mais là, non, faudra d'abord me passer sur le corps ! ( avant de passer par la poste )
Je propose une solution à la question initiale et je ne pense pas que le but de ce forum soit d'expliquer en profondeur les intérêt d'un framework.


Cela dit, je me permets un léger aparté mais tout en restant dans le topic. Comme vous avez pu le constater, je dev un clone d'un dungeon crawler, mais je suis ouvert si des graphistes souhaitent faire un (là j'ai mal orthographié "shmup" mais promis je ne recommencerai plus)... Fin de l'aparté.
- Iliak -
[ArcEngine: a free 2D .Net gaming framework]
Avatar de l’utilisateur
Radigo
Counter Stop
Messages : 7577
Inscription : 22 mai 2003, 17:31
Localisation : Paris
Contact :

Yep, c'est arrivé un peu brutalement mais y'avait pas de quoi crier au loup en effet. Je m'apprettais moi-même (après tests persos) à poster l'adresse de Flixel, un "framework" (encore une fois) pour flash qui fait de la 2D qui patate bien.

Ça demande un peu de connaissances aussi. Mais à part GameMaker et DarkBasic, comme l'a dit iliak, il faut commencer à mettre les mains dans le cambouis pour faire bouger des sprites à l'écran...
"HYPER GAGE : 500%"
Image
Risike
Dieu de la Borne
Messages : 1935
Inscription : 01 déc. 2009, 13:30
Localisation : Citoyen du monde, partisan d'un monde sans frontière

Iliak, tu peux nous montrer quelques lignes de codes de ton framework pour voir un peu la gueule du code. Genre charger un sprite en mémoire et l'afficher dans une boucle qui rafraichi l'écran avec un framerate constant.
En C# on a déjà XNA qui est super complet et qui permet un portage PC XBox 360, Zune et bientôt Windows Mobile 7. Faudrait vraiment que ton truc apporte quelque chose de plus ou un syntaxe du tonnerre pour être intéressant.
La jeunesse n'est pas une période de la vie, mais un état d'esprit...
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Et meme si gamemaker est facile d'approche, Alec à pu voir qu'il faut quand meme se plonger dans un langage de script (le GML ) pour arriver à faire des choses parfois assez simple que ne permet pas le drag&drop facilement.

Je n'utilise plus le drag&drop pour ma part.

On peut prendre gamemaker pour son moteur 2D que l'on a pas à développer dans un vrai langage compilé, et pour la gestion des collisions simplifiées ( on a des fonctions pretes à l'emploie meme si leur utilisation n'est pas aisée )
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
wondersonic
As du Slalom
Messages : 176
Inscription : 24 juil. 2010, 18:11
Localisation : France
Contact :

Allez, j'apporte une pierre à l'édifice.

En ce qui me concerne j'ai hésité trèèèèès longtemps avant de me lancer. J'ai balbutié quelques tests avec des "bibliothèques" qui se disaient vouloir masquer la complexité d'opengl (JME) mais il s'avère que si l'on ne connait pas opengl, ca ne sert pas à grand chose :(

C'est en découvrant par hasard un petit jeu (et ses sources) qui en jetait que j'ai redécouvert l'opengl et finalement sa grande facilité d'utilisation (pour faire de la 2D j'entends).

Donc opengl pour :
- portabilité
- facilité d'utilisation (une fois les quelques difficultés passées mais il n'y a pas de secret il faut lire de la doc : setup de la fenêtre d'affichage pour faire de la 2D, chargement de textures, affichage de quads)
- reste le gros hic : la détection de collisions = gros morceau (attention aux perfs) ; et pour ce dernier cas j'utilise ici encore opengl pour faire du perfect pixel collision detection
- performances (j'ai fait des tests sans détection de collision : 1132 FPS en 1024x1024 sur un dual core 2.3GHz)
- évolution : il existe pas mal de versions d'opengl (comprendre rajouts de fonctionnalités au fur et à mesure) et en ce qui me concerne je ne dépasse pas la 1.5 pour des raisons de compatibilité (sick, pas de shaders pour le moment).

En espérant que ca serve un peu.

ps : pour les curieux, j'utilise le java et LWJGL pour le binding Java/OpenGL
Avatar de l’utilisateur
-SGN-
Super Grand Nevrosé
Messages : 5990
Inscription : 08 sept. 2006, 13:02
Page Facebook : http://fb.com/leclubdessacs
Localisation : Bruxelles

Bienvenue Iliak et mes respects pour ton travail concret sur un moteur 2D et la bonne initiative de faire un clone de Eye of the Beholder! Et en open-source qui plus est, ça fait plaisir à voir.

@Gunny: je ne te comprends vraiment pas. Tu pose des questions sur des domaines auxquels tu ne connais rien, tu agresses les gens qui répondent à tes questions et en plus tu critiques sans même te renseigner par toi-même avant d'incendier! Tu lis des trucs sur les pointeurs et le polymorphisme sans même avoir tenté de compiler un "Hello World" et une structure itérative, tu poses des questions pointues alors que tu ne sais même pas ce qu'est un framework avant de nous expliquer que yabon le drag-n-drop -__-

Et puis balancer
Présenté comme ca, tu fais la pub de ton produit ( à but commercial que ca ne m'étonnerait pas vu que tu t'es inscrit exprès pour ca ! Et en plus, ton premier message ).
sans même avoir visité son lien alors qu'il prend la peine de te donner des éléments de réponses sur un sujet que visiblement il maîtrise, c'est vraiment d'une grande inélégance sans même insister sur l'apect auto-ridiculisation (son projet est open-source, tu pourrais même utiliser ses lignes de code pour tes propres créations si tu t'étais un minimum renseigné)!

Non vraiment ça me dépasse.


@Risike : les devs qui privilégient le C au C++ généralement font ça pour des questions d'optimisation de la gestion des différentes mémoires et des registres... Mais de contexte PC actuel cette approche est totalement hors de propos à mon humble avis. En revance pour du homebrew sur console portable ça prend tout son sens.
Kilik
Mou-Stick
Messages : 19
Inscription : 11 août 2010, 15:28
Localisation : Marseille
Contact :

Sujet intéressant , pour ma part je dev en C avec la lib SDL , et pour le moment je vois pas de problème a ce choix .
@Risike : les devs qui privilégient le C au C++ généralement font ça pour des questions d'optimisation de la gestion des différentes mémoires et des registres..
Le choix du langage pour le C/C++ je pense pas qu'il y est que pour de optimisation(même si c'est en partie vrai) , ça peut venir d'apprécié ces langages ( comme moi =P),en plus la grande popularité de ces langages aide sur le choix des librairies et le nombre de tuto^^.
Par contre la gestion des registre c'est en ASM.
Avatar de l’utilisateur
-SGN-
Super Grand Nevrosé
Messages : 5990
Inscription : 08 sept. 2006, 13:02
Page Facebook : http://fb.com/leclubdessacs
Localisation : Bruxelles

Non quand on connait bien le hardware les registres se gèrent très bien en C, pas besoin de l'ASM!
Onaryc
Brute du bouton A
Messages : 219
Inscription : 18 juin 2008, 23:32

J'avais déjà posté le lien sur un autre topic, je le remet ici : http://love2d.org/

Un ptit framework 2D en lua : sprites, audio, entrées (joy, clavier, souris), physique intégrée, une doc assez bien faite (http://love2d.org/wiki/Main_Page), ...

Pis ça permet de se mettre à Lua (depuis que j'utilise tcl/tk au taf, j'aime bien les langages de script ;) ), qui à l'air d'être pas mal utilisé dans l'univers du dev des jeux vidéos...

Pas sûre que pour un projet super complexe/demandeur en terme de perf il tienne la route, mais pour un ptit jeu, ça passe.
Avatar de l’utilisateur
-SGN-
Super Grand Nevrosé
Messages : 5990
Inscription : 08 sept. 2006, 13:02
Page Facebook : http://fb.com/leclubdessacs
Localisation : Bruxelles

Ouais ça a l'air très intéressant comme framework, il faudra que j'essaye des démos réalisées avec pour me faire une idée de ce qu'il vaut vraiment.
Kilik
Mou-Stick
Messages : 19
Inscription : 11 août 2010, 15:28
Localisation : Marseille
Contact :

J'en ai entendu parler vu que c'est probablement le meilleur framework pour dev des jeux en lua.
-SGN- a écrit :Non quand on connait bien le hardware les registres se gèrent très bien en C, pas besoin de l'ASM!
Alors peut être que je n'ai rien compris(ce qui est surement le cas apparemment),alors pour moi le registre c'est la mémoire du processeur et en C en manipule que (a je que je sache) la mémoire ram(après en général pour manipuler les registre s en le fait en ASM).
Et ce que tu dis m'embrouille plus ,quel rapport entre connaitre le hardware,et le C(j'avoue que le C est bas niveau mais il permet pas toujours d'avoir accès au hardware et justement pas au registre).
J'ai du pas comprendre qql chose ><
Avatar de l’utilisateur
-SGN-
Super Grand Nevrosé
Messages : 5990
Inscription : 08 sept. 2006, 13:02
Page Facebook : http://fb.com/leclubdessacs
Localisation : Bruxelles

Le C ANSI c'est juste une norme pour générer du code machine à la compilation à partir d'un langage "lisible" et structuré. Quand tu développes en C sur une archi spécifique (que ça soit un "bête" microcontrôleur 8 bits, une station météo embarquée ou une PSP) tu as des accesseurs aux registres définis dans des librairies adaptées et pris en compte à la compilation. C'est la raison pour laquelle les électroniciens se servent beaucoup du C quand ils font des programmes un peu complexes et qu'ils ne veulent pas s'emmerder avec l'ASM.

Connaître le C n'est pas tout, il faut aussi les bonnes librairies et surtout le bon compilateur :)
Avatar de l’utilisateur
-SGN-
Super Grand Nevrosé
Messages : 5990
Inscription : 08 sept. 2006, 13:02
Page Facebook : http://fb.com/leclubdessacs
Localisation : Bruxelles

D'ailleurs le cas du PC est un peu particulier car il n'y a pas deux bécanes avec la même archi, la puissance dispo est démentielle, bref l'optimisation se fait de façon très différente et l'utilisation du C++ y est totalement justifiée.

Il reste quand-même des grandes lignes à respecter, comme ne pas saturer la pile d'appel de fonction, tenir compte des caches etc. mais bon, pour du homebrew osef.
Kilik
Mou-Stick
Messages : 19
Inscription : 11 août 2010, 15:28
Localisation : Marseille
Contact :

ok je vois ,merci de ces précisions =)
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15786
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Gunny a écrit :Et meme si gamemaker est facile d'approche, Alec à pu voir qu'il faut quand meme se plonger dans un langage de script (le GML ) pour arriver à faire des choses parfois assez simple que ne permet pas le drag&drop facilement.
Et comment, j'aime bien comprendre et apprendre comme pas mal de gens mais j'ai vraiment pas envie de m'embêter à apprendre d'obscures méthodes de programmation pour voir bouger des sprites en 2D !

Après Game maker a aussi ses limites mais ce soft propose un outil de gestion des collisions performant et facile d'accès, peu importe les moyens après seul la création compte, graphique et sonore ça...... pas sur mon jeu c'est sûr mais la vérité est ailleurs :) !
ImageImageImage
iliak
Insert Coin
Messages : 5
Inscription : 28 mai 2010, 22:52

Avec un peu de retard...
Risike a écrit :Iliak, tu peux nous montrer quelques lignes de codes de ton framework pour voir un peu la gueule du code. Genre charger un sprite en mémoire et l'afficher dans une boucle qui rafraichi l'écran avec un framerate constant.
Tu peux jeter un oeil au SVN dans la rubrique des exemples. Plus précisément dans l'exemple de Pixel perfect collision pour un truc simple. Autrement, si tu veux un exemple de Cell Shading. Autre solution tu télécharges le source code du projet et tu le compiles avec Visual Studio 2010 (Express aussi).
En C# on a déjà XNA qui est super complet et qui permet un portage PC XBox 360, Zune et bientôt Windows Mobile 7. Faudrait vraiment que ton truc apporte quelque chose de plus ou un syntaxe du tonnerre pour être intéressant.
Je n'ai pas la prétention de concurencer XNA, mais au contraire de m'en inspirer...
- Iliak -
[ArcEngine: a free 2D .Net gaming framework]
Kilik
Mou-Stick
Messages : 19
Inscription : 11 août 2010, 15:28
Localisation : Marseille
Contact :

Je pense que développer un framework est toujours intéressants.
Apres ton framework a quand même 2 petits plus par rapport a XNA(non négligeable mais ça dépend des personnes)open source(donc pas limité au distribution Windows et cie ,en plus de pouvoir connaitre le code),et peut être sous licence libre(GNU LGPL?),comparé a la licence que Windows propose ,bon je connais pas les modalité pour la license XNA m'enfin ça doit être comme d'hab~~.

Sinon bon courage ^^.
iliak
Insert Coin
Messages : 5
Inscription : 28 mai 2010, 22:52

Kilik a écrit :Je pense que développer un framework est toujours intéressants.
Oui, tu remets très vite les pieds sur terre...
Kilik a écrit :Apres ton framework a quand même 2 petits plus par rapport a XNA(non négligeable mais ça dépend des personnes)open source(donc pas limité au distribution Windows et cie ,en plus de pouvoir connaitre le code),et peut être sous licence libre(GNU LGPL?),comparé a la licence que Windows propose ,bon je connais pas les modalité pour la license XNA m'enfin ça doit être comme d'hab~~.
Tu peux regarder le source code de XNA si tu veux. Pour cela utilise Reflector pour voir comment c'est fait dedans. Après examen, tu te rends compte qu'il y a de bonnes idées, mais parfois du code un peu crado...
Kilik a écrit :Sinon bon courage ^^.
Merci !
- Iliak -
[ArcEngine: a free 2D .Net gaming framework]
Répondre