problème pour un jeu en 2D

yokiyoki Membre
Bonjour, (jespere que je suis dans la bonne section...)

Je vous contacte car je veux réaliser un jeux en 2D sous iphone que je veux mettre surAPPSTore
c'est a dire : - menu avec mode un joueur et multijoueur
                  - petit animation(durée 5s)
                  -sauvegarde
                  - utilisation du reseau bluetooth
le décor du jeu est fixe, et les personnage se déplace avec de petites animations.
j'ai commencé a programmer le premier niveau a l'aide de tutos trouvé sur internet sur une "single view application".

Mais je me suis poser plusieurs questions:
-pour faire ce jeux dois je être sur "open gl game application" ou je peux le faire sur une single view application,
si oui comment on fait pour enlever la barre grise en haut de lecran de l'iphone (car elle n'y est pas sur open gl game application).

-pour faire mon jeu j'avais penser faire une single view application avec le menu est rajouter des interfaces que je connecte entre eux et tout le code sera dans mon fichier.m est ce comme ça qu'on fait ? ou il y a une autre manière plus simple ? si oui laquelle ?

-en programmant mon premier niveau j'ai du utiliser environ 4 NSTimer pour faire les déplacement des perso et je sais pas pourquoi apres compilation les perso se déplace comme je le souhaite et apres ça ralentit ralentit jusque' a être super lent...
quelqu'un aurai une idée de ce que je peux faire pour corriger cela ...

merci d'avance, je ne cherche a ce qu'on me fasse mon jeu, je veux juste comprendre et avoir de l'aide car je suis un peu perdu

Réponses

  • DrakenDraken Membre
    21:16 modifié #2
  • LexxisLexxis Membre
    21:16 modifié #3
    Bonjour,

    Tu peux utiliser les moteurs déjà  existant comme Cocos2D ou Sparrow. Ce sont des moteurs 2D qui utilisent Opengl ES et qui vont te simplifier le développement. Par contre si tu veux faire ton jeux de bout en bout, le lien donné par Draken est excellent.



  • zoczoc Membre
    21:16 modifié #4
    dans 1326808005:

    Bonjour,

    Tu peux utiliser les moteurs déjà  existant comme Cocos2D ou Sparrow.

    Ou encore Kobold2D, une version améliorée de Cocos2D.
  • lugdanumlugdanum Membre
    21:16 modifié #5
    dans 1326822046:


    Ou encore Kobold2D, une version améliorée de Cocos2D.


    Je ne connaissais pas kobold2d ! Je suis en train de regarder et ça à  l'air sympa ! 
  • yokiyoki Membre
    21:16 modifié #6
    Tout d'abord,
    Merci de vos Reponses a tous :)

    Draken ton lien m'a beaucoup aider car les tutos sont bien expliquer...
    mais j'aimerai continuer apprendre a utiliser l'open gl sous iphone apres c'est tutos... ( de préférence en français :) )

    et quand aux autres, je ne sais pas a quoi servent cocos2D, kobold... en quoi ça facilite la programmation du jeux car il faut comprendre
    comment ça marche open GL avant... 
  • CéroceCéroce Membre, Modérateur
    21:16 modifié #7
    dans 1326906355:

    et quand aux autres, je ne sais pas a quoi servent cocos2D, kobold... en quoi ça facilite la programmation du jeux car il faut comprendre
    comment ça marche open GL avant...

    Justement, non. ça apporte une abstraction objet.
    Ainsi, plutôt que modifier les coordonnées d'un polygone texturé, on déplace un objet Sprite.
  • LexxisLexxis Membre
    21:16 modifié #8
    Comme l'a très justement signalé Céroce dans son post, l'utilisation d'un moteur 2D existant t'affranchi de connaitre comment fonctionne OpenGL (qui est surtout utilisé en 2D car il apporte un gain de puissance, car tu peux très bien utiliser les classes CocoaTouch et CoreGraphics pour ton jeux s'il n'est pas gourmand). Même dans le cas d'un jeux en 3D il n'est pas nécessaire de savoir comment fonctionne OpenGL car il existe là  encore des moteurs très performant pour cela (Unity ou même l'excellent Unreal Engine - dont la licence n'est pas excessive et même gratuite si ton jeux est destiné à  être gratuit- , Ogre 3D, etc...).
    En utilisant un moteur tu peux concentrer toute ton attention sur la création de ton jeux (gameplay, effet, etc) ce qui apporte un gain de temps assez conséquent.


  • DrakenDraken Membre
    janvier 2012 modifié #9
    Cocos2D et Koblod sont des bibliothèques de fonctions gérant OpenGL à  la place du développeur. Ils ont étés créés à  une époque où la programmation OpenGL était particulièrement complexe, avant qu'Apple ne distribue iOS 5.0 et le framework GLKit.

    Le problème avec les moteurs 2D prêt à  l'emploi, c'est qu'ils n'ont pas toujours les fonctions dont on a besoin. Par exemple, quand j'ai regardé Cocos2D en 2010, il n'y avais pas de mécanisme pour gérer les collisions entre les sprites. Surprenant pour un moteur de jeu ! On ne pouvais pas non plus afficher un sprite à  partir d'une portion de texture OpenGL, seulement avec la totalité de la texture. Pas très pratique pour stocker plusieurs éléments graphique dans la même image ! Je ne connaissais pas Kobold. Il semble être complet que Cocos2D, notamment sur la détection des collisions entre sprites.

    EDIT : Je ne sais pas si Cocos2D et ces acolytes peuvent utiliser les shaders, alors que c'est facile et incroyablement puissant avec GLKit.

  • yokiyoki Membre
    21:16 modifié #10
    Ah merci je vois mieux, pourquoi maintenant on utilise un moteur 2D.
    Ce que j'ai compris c'est que kobold est mieux que cocos2D car il gère les collisions c'est bien ça ?
    mais qu'elles sont les meilleurs a utiliser ou du moins les avantages et les désavantages ?

    Unity je peux l'avoir gratuitement car mon école d'ingénieur l'offre a c'est étudiant mais le soucis c'est qu'il faut connaitre le C# pour
    l'utiliser et moi je connais le C, Objective C , et début de java et donc pas le C#.

    Qu'elle moteur graphique dois je utiliser pour du 2D ?
    et ou puis je trouver un tuto qui explique l'utilisation d'un moteur graphique 2D sachant que je n'en ai pas utiliser auparavant.

    Draken le lien que tu m'a passer contient les connaissances nécessaire pour programmer un jeux en 2D...

    En tout cas merci car vous m'avez vraiment tous aider :)
  • DrakenDraken Membre
    21:16 modifié #11
    J'ai juste jeté un regard rapide sur la description de Kobold2D, sans entrer dans les détails. Il semble mieux conçu que Cocos2D, mais je ne peut rien affirmer sans l'avoir examiné en détail, et je n'ai franchement pas le temps de m'y atteler.

    Si tu es dans dans une école d'ingénieur, réalise un mini-moteur 2D en partant de la base des tutos que je t'ai montré. C'est instructif et tu pourras certainement intégrer ça dans un projet d'école. Avec le succès des technologies Apple, cela fait toujours bien dans une présentation de dossier et/ou un CV.

    Tu peux aussi acheter l'ouvrage "Développer des jeux pour iPhone et iPad pour les nuls", excellent pour commencer.

  • CéroceCéroce Membre, Modérateur
    21:16 modifié #12
    dans 1326930355:

    Unity je peux l'avoir gratuitement car mon école d'ingénieur l'offre a c'est étudiant mais le soucis c'est qu'il faut connaitre le C# pour
    l'utiliser et moi je connais le C, Objective C , et début de java et donc pas le C#.

    Ah bon? Il me semblait plutôt que c'était du JavaScript (ECMA Script).
    Il ne faut pas t'arrêter au langage, tu en connais déjà  3, qu'est ce qui t'empêche d'en apprendre un quatrième ?

    dans 1326930355:

    Qu'elle moteur graphique dois je utiliser pour du 2D ?

    Ta question me rappelle une autre que je vois sans arrêt sur les forums "Quel est le meilleur langage de programmation" ?
    La réponse est "ça dépend". ça dépend de ton projet, des performances attendues, de l'investissement personnel que tu es prêt à  faire, etc.
    Maintenant, je te dirais de partir sur Cocos2D: c'est très répandu, tu trouveras facilement de la doc. Si tu n'y connais rien, c'est le facteur déterminant.
  • yokiyoki Membre
    21:16 modifié #13
    Ok, merci pour vos réponse je vais jeter un coup d'oeil a tout ce que vous m'avez dit et si j'ai dautre question je vous ferez signe :)
    merci encore:)
  • zoczoc Membre
    21:16 modifié #14
    dans 1326931412:

    J'ai juste jeté un regard rapide sur la description de Kobold2D, sans entrer dans les détails. Il semble mieux conçu que Cocos2D

    Bah non il n'est pas mieux conçu, puisque que Kobold2D, c'est Cocos2D plus quelques rajouts. Donc au niveau utilisation c'est kifkif.



  • DrakenDraken Membre
    21:16 modifié #15
    C'est justement ces rajouts qui comptent ! Il est plutôt difficile de faire un jeu sans mécanisme de détection des collisions.

  • DrakenDraken Membre
    21:16 modifié #16
    On doit pouvoir faire des choses sympathiques sans passer par OpenGL. A titre expérimental j'ai écris un petit moteur d'animation 2D basé sur UIView. C'est parfaitement fluide avec 200 sprites à  60 images/s, sur un iPhone 4. Un très léger effet de saccade apparaà®t avec 300 éléments sur l'écran. C'est assez impressionnant. Je me demande ce que cela donnerais sur un iPhone 3GS ?

    Je vais faire la même chose avec GLKit, pour comparer les performances.

  • DrakenDraken Membre
    janvier 2012 modifié #17
    En réglant la transparence des sprites à  50%, j'ai obtenu un effet "bulle de savon".
  • DrakenDraken Membre
    21:16 modifié #18
    J'ai modifié la taille des bulles, passant de 32x32 pixels à  128x128 pixels. Il commence à  y avoir un peu de lag avec 40 sprites. C'est parfaitement fluide avec 30 bulles.

  • devulderdevulder Membre
    21:16 modifié #19
    dans 1326753411:


    Tu as également des tutoriaux sur Coco2d ici
Connectez-vous ou Inscrivez-vous pour répondre.