Détection de collision androïde dun objet 3d basé sur une 2d projection

J'écris un jeu pour l'androïde. Nous avons une installation orthographique de vue, mais les caractères (bateaux, projectiles, etc.). Les ennemis/caractères pourront tourner autour de l'axe des abscisses. Le problème est que je veux faire la détection de collision comme si elle étaient dans le 2d utilisant des sprites, signifiant cela si j'ai un bateau avec une vue de dessus vers le bas de

---------
--------------
-----------------
--------------
---------

il pourrait tourner jusqu'au ressembler à

-----
--------------
---

et je veux faire toutes les collisions basées de l'aspect d'un dessus regarde vers le bas. Je pensais à l'origine à employer des glReadPixels, jusqu'à ce que j'aie lu qui était incroyablement lent. Alors je pensais à employer des cartes binaires pré-rendues, mais cela semble comme une douleur et pas très grand puisque certains de nos bateaux ne seront pas « normale » asse'à dire juste « ont une carte binaire pour tous les 45 degrés de rotation au sujet du X ». Est-ce que n'importe qui a des suggestions ?

Tags - 2d 3d android collision-detection

Quels sont quelques moteurs connus de la physique 2D/3D pour XNA ?

Je recherche un moteur de physique pour employer dans un projet de XNA (2D ou 3D). Puisqu'il est pour XNA, il doit remplir quelques conditions :

  1. Pas nécessairement libre, mais près de lui est évidemment préféré
  2. Code contrôlé seulement (ou lui ne courra pas sur les 360)

Pour 3D je sais - de BulletX (cela fonctionne, et je l'emploie maintenant, mais il n'est pas en activité et pourrait employer plus de travail)

Pour le 2D je sais - de Farseer

Tags - c# xna physics-engine

problèmes créant selon les programmes UIView sur liPad $$etAPP

J'avais lutté avec ce problème pendant quelques jours.

Mon iPad $$etAPP est conçu pour être un jeu de portrait. Pour satisfaire l'expection d'Apple, je soutiens également l'en largeur. Quand il entre dans l'en largeur, le jeu entre dans un format de boîte à lettres avec les frontières arrières des côtés.

Mon problème est moi crée l'UIWindow et l'UIView selon les programmes. Pour une certaine raison d'unkown, les contrôles de contact sont « verrouillés » dedans pour penser que je suis toujours en en largeur. Et quoique visuellement en mode hauteur tout semble correct, le dessus et le bas de l'écran ne répond pas au contact.

Pour récapituler comment j'établis ceci, laissez-moi fournissent le cadre squelettique de ce que je fais :

dans main.cpp :

int retVal = UIApplicationMain(argc, argv, nil, @"derbyPoker_ipadAppDelegate");

Dans le délégué, je fais ceci :

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
 CGRect screenBounds = [[UIScreen mainScreen] bounds];
 CGFloat scale = [[ UIScreen mainScreen] scale ];

 m_device_width = screenBounds.size.width;
 m_device_height = screenBounds.size.height;
 m_device_scale = scale;        // Everything is built assuming 640x960


 window = [[ UIWindow alloc ] initWithFrame:[[UIScreen mainScreen] bounds]];
 viewController = [ glView new ];
 [self doStateChange:[blitz class]];

 return YES;
}

Le dernier peu du code a installé l'UIView…

      - (void) doStateChange: (Class) state{  
 viewController.view = [[state alloc] initWithFrame:CGRectMake(0, 0, m_device_width, m_device_height) andManager:self];
 viewController.view.contentMode = UIViewContentModeScaleAspectFit;
 viewController.view.autoresizesSubviews = YES;
 [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

Le problème semble connexe à la ligne viewController.view.contentMode = UIViewContentModeScaleAspectFit ;

Si j'enlève cette ligne, le contact fonctionne correctement en mode hauteur. Mais le négatif est quand je suis en largeur, le jeu s'étire inexactement. De sorte que ne soit pas une option.

La chose frustrante est, quand j'ai à l'origine eu cette installation avec un dossier de GRAINE, il a travaillé très bien. J'ai lu par les Doc.s au sujet d'UIWindow, d'UIViewController et d'UIView et ai essayé au sujet de tout en vain.

N'importe quelle aide serait considérablement appréciée.

Tags - ipad

Conclusion de la coordonnée la plus étroite dun ensemble pré-connu

Disons-moi ont un grand nombre d'objets conceptuels d'une certaine sorte, qui occupe un ensemble pré-connu de points dans un espace 3 cartésien.

1) Quelle est la meilleure combinaison de la structure de données (pour modeler ces objets, leurs points occupés, et/ou l'espace enfermant) et de l'algorithme afin d'être capable rechercher seulement le point dans chaque objet qui des mensonges les plus proches d'un point arbitrairement choisi, avec la vitesse la première empreinte de pas de souci et de mémoire secondaire (mais encore important) ?

2) Disons que cela un point peut être visuellement occlu en ce qui concerne un autre point, selon règle vraie/fausse de boîte noire, et je veux maintenant rechercher le point évident le plus étroit de chaque objet. Pose la même question que dans #1, est la réponse les mêmes ou autre chose maintenant recommandé ?

3) Disons que l'ensemble pré-connu de points pour chaque objet conceptuel peut potentiellement changer légèrement fréquemment, asse'ainsi pour des dépenses informatiques dans la gestion de structure de données à être un souci. Les réponses à #1 et à #2 sont-elles encore bonnes, ou sont-elles assez chères dans l'installation/démontage à être susceptible de poser des problèmes dans cette condition ?

(Je vraiment veux connaître les réponses à ces articles séparément, si elles ont des réponses distinctes. Points bonus méga pour toutes réponses qui généralisent bien à un espace 4 cartésien.)

Tags - 3d math algorithm data-structure 4d

Ombres molles légères de point

Comment mettre en application les ombres molles pour la lumière directionnelle d'omni (point). Nous employons l'ombre typique traçant la technique. La profondeur est rendue pour donner au cube une consistance rugueuse et l'adressage est assez simple alors. Juste utilisant le vecteur de la lumière dans la position du monde de fragments. Cela fonctionne parfaitement. Jusqu'à ce que vous vouliez les ombres molles. Dans notre moteur nous employons la technique de PCSS pour des lumières de tache. Mais pour la lumière de point là commence des problèmes.

Comment prélever dans 3D ?

J'ai développé la technique quand la base orthonormale est créée d'une direction et d'un upvector (0,1,0). Et multipliez alors le vecteur d'échantillonnage (n'importe quoi de pareil (1,0, i/depthMapSize, j/depthMapSize) avec cette base. Mais ceci (naturellement :)) regarde assez mauvais pour des vecteurs près (0,1,0) et (0, - 1,0).

J'apprécierai n'importe quelle aide sur ceci.

Tags - directx shadows shadow-mapping

Comment est-ce que je peux facilement mettre en application loscillation dans un jeu de platformer ?

Je développe un jeu dans lequel le joueur peut employer des cordes pour balancer (juste comme quel Spiderman ou commando bionique a fait) et j'ai le problème mettre en application ce comportement. Peut n'importe qui m'aider comment faire ceci, je veux dire des formules de physique et etc. Jusqu'maintenant à moi ai proposé 3 idées. On utilise le ressort, mais il consomme beaucoup de temps et parfois il est nerveux. Les autres deux essayent de calculer la prochaine étape (une par l'intermédiaire de l'énergie potentielle calculatrice et une par l'intermédiaire du couple calculateur) et chacun d'eux se brisent presque toutes les fois que l'acteur essaye de balancer.

Voici le code que j'ai écrit pour calculer le couple :

float dx = Runner->getPosition().x - ancher.x; 
float dy = Runner->getPosition().y - ancher.y;
float t0 = atan2(dy,dx); //my current angle
float k = ((dy) *vx - (dx) * vy) / (dx * dx+dy * dy); //previus angular velocity
k -= gravity * cos(t0) *dt; // new angular velocity (gravity is positive)
t0 += k * dt - acc * cos(t0) *dt * dt / 2; // rotate the rope
float dx1 = r0 * cos(t0); // new position (r0 is rope length)
float dy1 = r0 * sin(t0);
vx = (dx1 - dx) / dt; //calculate velocity
vy = (dy1 - dy) / dt;

Tags - 2d-physics platform-games rope-physics

Représentation dUnicode dans XNA au téléphone 7 de Windows

Je crée une application qui télécharge des noms de serveur. Ces noms peuvent être n'importe quel texte de langue d'unicode que je dois rendre dans XNA sur WP7. Le plus grand problème que je vois voici système du xna WP7 ne peut pas rendre l'unicode (particulièrement manuscrit complexe) bien. J'ai essayé peu de manuscrits asiatiques et il semble ridicule. Quelques manuscrits aisan rendent un caractère différemment selon le caractère voisin (généralement voyelles). Spritefont les rend juste l'un après l'autre sans donner n'importe quelle considération aux voyelles.

Je pense que j'ai besoin de quelque chose comme la bibliothèque de freetype rendre des polices de vecteur le temps d'exécution. Je souhaite savoir s'il y a des solutions de rechange pour surmonter cette question.

Tags - xna windows-phone-7 fonts

Comment est-ce que je construis un 2D moteur de physique ?

Les jeux les plus avancés que j'ai faits sont un jeu de piscine de 8 boules fait avec le moteur Box2dFlashAS3 de physique et un jeu de plate-forme avec des niveaux.

Quand j'ai fait des jeux de plate-forme, j'ai toujours souhaité savoir faire un moteur, de sorte que j'aie pu le réutiliser. Quand je vois les jeux qui ont des pentes, des pentes incurvées, la gravité parfaite et la vraie physique, j'ai toujours souhaité que j'aie su coder le moteur.

Veuillez suggérer les techniques et les articles pour Qu'est ce que base de connaissances appropriée est nécessaire.

Tags - architecture 2d-physics physics-engine

Bar/sous-marin ou message passant dans la partie postérieure multijoueuse de serveur ?

Pour ma thèse de maîtres je vais développer un serveur multijoueur extensible pour les jeux locationbased. Ce va être « une architecture orientée vers les services » par exemple un service spécialisé pour des positions, un pour la base de données, ouverture etc. Cependant services 1.n d'entrée pour que les clients relient à. L'évolutivité sera examinée avec les clients simulés sur quelques autres machines. Cependant, je suis encore irrésolu sur la façon dont mes services parleront entre eux.

D'une part, il y a éditent/souscrivent. Et même il y a différentes manières de la mettre en application, utilisant le multicast ou laisse chaque abonné souscrire directement avec l'éditeur. La bonne chose avec le bar/sous-marin est, ce chaque message sera envoyé à chaque service qui est intéressé, par exemple l'Enregistreur-Service reçoit une mise à jour de position aussi bien que le service de position. Je peux également avoir quelques services de « ombre » qui maintiennent dans la synchronisation au cas où les services principaux se briserait. Selon le bar/sous-marin d'exécution se sent comme inonder mon réseau interne avec des messages. Et l'inondation n'est jamais une bonne idée.

Alors il y a dépassement de message. Quand le D'entrée-Service reçoit un message, il découvre quel type de message c'est, trouve le service qui traite ce type et en avant le message à lui. Mais il doit y a une découverte de service d'abord, qui exige un certain annuaire de multicast ou de service.

Il y a le pour - et - le contre pour chaque type. Dans un article sur l'évolutivité élevée j'ai lu que Playfish emploie le message passant la méthode. Mais employant le bruit de bar/sous-marin en appelant aussi. Peut-être quelqu'un peut me dire quelle manière est meilleure.

Éditez : Je dois admettre qu'il n'est pas aussi clair ce que je demande. Imaginez qu'un service d'entrée reçoit un message « de mise à jour de position » d'un des clients. Avec un bar/sous-système, je pense à appeler n'importe quoi de pareil : Network.publish (sujet, message) ou Network.publish (PositionUpdateType, message). Utilisant un message me passant à système pourrais appeler : Network.send (PositionManager, message). Je pense que le bar/sous-marin semble être comme « autonome après lancement », d'où le dépassement de message est un certain genre « dirigent » la connexion. Ma question est : Qu'approprié mieux au travail ou devrait je même employer une combinaison de chacun des deux ?

Tags - architecture java network mmo server

Jeux de puissance, daccomplissement et daffiliation pour le projet de recherche de psychologie

Hé chacun,

Pour un projet de recherche de psychologie nous recherchons sous peu des jeux de simple-joueur (de minute de CA 5) pour observer la motivation de base des personnes. Nous voudrions demander à des personnes d'énumérer les jeux qui fournissent le possible le plus étroit (même si non parfait) se sont adaptés à chaque description. Nous avons besoin de 2 ou 3 candidats prometteurs pour chacune des 3 catégories suivantes.

Nous serions heureux avec quelque chose que nous pouvons employer, construire dessus, mod, changeons légèrement etc. pour adapter nos buts.

A) Jeu qui branche sur l'affiliation

L'affiliation implique d'être avec émotion près d'autres et d'établir de nouvelles relations. Le jeu devrait tourner autour de rencontrer d'autres caractères. C.-à-d. par des moyens simples (cliquant sur certaines actions) on peut explorer des possibilités pour rencontrer des amis. Des demandes d'établir des relations devraient être acceptées dans la plupart des cas, parce que le joueur bien-est aimé. Ceci aimant non lié au statut ou à la performance, mais au sentiment brouillé chaud de l'amitié. En finissant par se connaître, beaucoup de vulgarisations entre le joueur et caractère émergez et êtes heureusement reconnu.

B) Jeu qui branche sur l'accomplissement

L'accomplissement implique de maîtriser des buts difficiles. Dans des jeux d'accomplissement vous résoudriez plusieurs recherches à l'aide de capacité (vitesse, pensée spatiale, utilisation de stratégie). Elle devrait s'adapter à la capacité du joueur, de sorte qu'il soit toujours possible de résoudre 60-70% des recherches. Le joueur devrait pouvoir améliorer leurs capacités et résultats avec de la formation. Des résultats devraient toujours être liés à la performance individuelle, tellement il n'y a aucun rang élevé de score avec d'autres ou quelques tels. Le but de ce jeu devrait simplement être de rester concentré sur une tâche de difficulté modérée, essayant de devenir meilleur à lui.

C) Jeu qui branche sur la puissance

La puissance implique d'obtenir le statut social et d'influencer d'autres personnes. Une lutte pour le pouvoir impliquerait d'influencer des caractères et de rapporter des réactions. Elle devrait avoir une bas difficulté et travail sans points (un peu comme un mode de fraude peut-être). En d'autres termes : L'influence d'autres personnes devrait dépendre facile, de l'accomplissement ou d'aimer. Par exemple, la capacité de changer les vies d'autres pourrait être due aux différences insurmontables et incontestables de statut entre le jeu de la personne (par exemple, une divinité, un biologiste) et les caractères du jeu (collant à l'exemple : mortels, fourmis).

Maintenant, nous espérons trouver des ressources que nous pouvons réutiliser pour nos jeux. Nous n'avons pas l'ambition pour créer de nouveaux jeux et beaucoup de jeux adaptent déjà à nos besoins. Nous avons besoin seulement du jeu pour avoir au moins 10 événements concernant le motif et pour noter ces événements (ainsi nous peut l'aligner avec les réactions de nos participants). Si nous pouvons le changer pour faire cela, ce devrait être frais aussi.

Probably many quite simple games have been lost in the drawers of computer science students who made them as finger exercises and homework. We would only use these games in our research setting, so there is no commercial interest involved.

Many thanks in advance and best wishes from the whole lab!


we edited this in response to some comments

Ruben

Tags - game-design open-source