# Jeux vidéo > Jeux vidéo (Discussions générales) > Le coin des développeurs >  SPEED - The racing game : Le concurent direct des GT et autre Forza :ahum:

## war-p

Bon, ça y est, je me lance, j'ouvre le topic officiel de mon jeu fait avec l'unreal engine 3, j'ai nommé SPEED : The racing game (oui, je sais, c'est pas super inventif comme nom, mais bon, si vous avez des idées)
Des screens vont bientôt arriver, ainsi que peut être une petite vidéo, il y aura aussi très prochainement une démo (J'aurais du la sortir plus tôt, mais j'ai encore peu de contenu...)

Donc pour faire simple, SPEED est un jeu de course de voiture réaliste (J'essaie de tendre vers la simu, mais c'est assez compliqué pour le moment), les véhicules, sont donc des voitures existantes, les circuits sont soit des circuits/environnement existants, soit des lieux imaginaires, bien que réalistes :;): . Le joueur pourra être opposé à des joueurs IA, ou bien des joueurs humain via le multijoueur réseau. Dans la plupart du temps, le joueur devra réaliser les meilleurs chronos, cependant, certains environnements proposerons d'autres challenges  ::rolleyes:: 

Les circuits seront donc soit des pistes, soit des circuit urbains (un peu comme Pau, mais en plus cool ::P: ), soit des courses de côte, il y aura aussi certainement des spéciales de rallye (Je ne pense pas pour l'instant faire de vrais rallye, c'est trop long et trop compliqué à faire pour le moment) ainsi que des pistes de rallye-cross (mélangeant terre+asphalte et se courant en boucle, contrairement aux spéciales).

Les voitures, je vais essayer d'en faire une pour chaque type de positionnement du moteur ainsi que de transmission, en gros, il y aura des propulsion arrière à moteur central (et arrière, mais ce n'est pas encore prévu pour le moment), des propulsions arrières à moteur avant, des tractions et des 4 roues motrices. 
Pour le style des voitures, je pense que je vais modéliser des GT principalement, mais aussi des compactes sportives et des s2000. (Je verrais plus tard, si j'ajoute d'autre type de véhicules genre f3000, wrc,ou bien encore proto ou pourquoi pas des kart  ::rolleyes:: )

Ce qui a été fait : 
Pitch principal et objectif : [=========] 100% Tout est défini plus haut!

Code : [======>  ] 80% du code minimal (Les voitures fonctionnent avec leurs freins, boîtes de vitesse, frein à main, compteur de vitesse etc), il manque quelque petits trucs, comme un vrai compteur de vitesse (pas un debug), une meilleur gestion du moteur, un embrayage qui fasse moins F1 avec des passage de vitesse plus long et plus réaliste. Il manque aussi une vrai IA, et tout le code de l'interface.

Modélisation : [>         ] 15%, pour l'instant je n'ai que le lotus elise de prête (elle est jouable entièrement, son mesh et son code sont terminés et fonctionnel, il reste cependant un petit bug au niveau des armatures, que j'ai pas encore réussi à régler...), j'ai aussi fait 50% du premier circuit, ce sera le circuit de tsukuba au japon. J'ai aussi d'autres surprises en magasin, mais elles ne sont pas prêtes, et je ne voudrait pas gâcher le plaisir de les découvrir sous leurs meilleurs jour! (Et aussi j'ai pas envie qu'on me pique mes idées!  ::P: )

Reste : [?] : Là, ce sont toute les autres choses à faire, genre les effets ingame, la collecte de données etc... (Depuis quelques jour je me visionne les concours de drift sur tsukuba!) Ainsi que tout les petits trucs que j'ajoute au fur et à mesure.

Membre de l'équipe : hum, votre serviteur!

PS : Au fait, si vous avez des idées pour les voitures, et les circuits, je suis preneur, j'ai donc pour l'instant la lotus elise en propulsion+moteur central, je pensais pour la prochaine voiture qui sera la traction avant, modéliser l'alpha romeo giulietta quadrifoglio verde  :Bave:  , mais si vous avez d'autres idées, je suis preneur, la liste complète des proposition de véhicule arrivera au fur et à mesure! Ah aussi, je cherche des samples de sons de moteurs de voitures, si vous savez où en trouver des pas trop mal, je suis preneur (non parce que là ma lotus élise fait un bruit de tracteur  :tired:  )

----------


## BalloO

Ouaaaah, énorme boulot dans lequel tu t'es lancé, je suis admiratif et j'attends avec impatience les premiers screens. Pour les voitures penses à une petite porsche  ::wub::

----------


## war-p

Ouais, c'est ce que j'entendais par moteur arrière  ::rolleyes::  mais pour l'instant, j'ai d'autres choses à faire, notamment les environnements pour la démo... 

Spoiler Alert! 


Tu préfère laquelle de porsche?  ::):

----------


## BalloO

Oui j'avais bien compris que c'était pas pour tout de suite le tout à l'arrière, mais on peux rêver  ::): 

Sinon ben une 996 ou 997 cup selon les années que tu comptes mettre.

----------


## war-p

Je préfère nettement la 997 avec ses phares ronds, sinon, après, j'ai pas d'époque vraiment définie pour le moment, mais pour l'instant, je pense plutôt travailler du coté des véhicules "récents" (moins de 10 ans quoi), mais bon après tout, pourquoi pas voir aussi du coté des japonaises, genre toyota supra, nissan gtr, ou même la dernière honda integra  :Bave:  etc...

EDIT : J'ai modifié le post principal : Je suis à la recherche de samples de sons de moteur, donc si vous en avez, où si vous savez où en trouver, faites moi signe! 

Spoiler Alert! 


 Vous risqueriez de figurer au générique!  :;):

----------


## Froyok

Ho, pas mal !  ::O: 
Je vais suivre ça tiens !
Sinon comme nom moi j'ia :
VROUM : Le jeu de voiture. :con:

----------


## war-p

Premier screen  ::lol::

----------


## war-p

Bon, hier soir, j'ai levé le premier soucis qui me posait problème déjà, mais que j'avais pas encore identifié, en fait, les véhicules dérivant des classes natives UDK utilisent la formule de pacejka pour simuler l'adhérence des roues, c'est très bien, c'est comme ça que la plupart des jeux de voiture fonctionne, sauf, que l'unreal engine, lui ne permet pas d'accélérer dans les virages! Oui, en effet, quand on tourne, le moteur fait en sorte que le véhicule garde le maximum d'adhérence sur la courbe de pacejka, or il faut ralentir, et donc la voiture ne dérape jamais et ralenti en virage...

Je sais pas si c'est super clair, cependant, si des gens ont des idées... 

Spoiler Alert! 


En fait j'ai bien une idée, mais bon, faut que je teste encore...

----------


## war-p

Ahah, image du jour bonjour! Bon elle est un peu petite, mais il y a tout ce qu'il faut voir : la nuit, les phare, les freins(là je profite d'un bug pour vous montrer l’éclairage des freins...) et la lotus dans son ensemble.



PS : La compression est vraiment dégueu...

----------


## Froyok

Tiens : http://udn.epicgames.com/Three/Devel...tarterKit.html
 ::P: 

Bon ton problème je ne sais pas trop, c'est du code US ou c'est natif cet algorithme ?

----------


## war-p

Pute, j'avais même pas fait gaffe, m'en fou, mon truc est plus évolué! na!
C'est natif, mais j'ai résolu le problème, il fallait juste tuner finement les paramètres d'adhérence des roues, ainsi que hard turn torque quelque chose qui réduit la puissance moteur en virage. Ainsi, j'arrive à un truc pas trop mal, quand on accélère, la voiture tire tout droit, et quand on lâche l'accélérateur, elle part en survirage, presque comme en vrai quoi.


Spoiler Alert! 


Sinon, l'idée pour annoncer les virages est pas mal!

----------


## Sylvine

Pourquoi ne pas faire un jeu avec que du rally?
C'est beaucoup mieux les jeux de rally!

(comme voitures, il faudrait toutes celles du groupe B et la Lancia Stratos)

Sinon t'es pas un peu un ouf malade dans ta tête à faire un jeu à toi tout seul?
En tout cas je te souhaite sincèrement bon courage!

----------


## war-p

Un jeu de rally, bah, c'est pas non plus trop mon objectif, après comme je l'ai dit, je vais faire des spéciales de rally sympa, et puis oui, lancia stratos, rs200, 205 t16... mais pas pour tout de suite. Je pense que de toute façon, je vais faire une espèce de démo que je vais compléter au fur et à mesure. Tiens d'ailleurs, j'ai une question, c'est possible sur ce forum de faire plus d'un sondage par topic? (genre faire un sondage différent par semaine par exemple)

----------


## Froyok

> Pute, j'avais même pas fait gaffe, m'en fou, mon truc est plus évolué! na!


C'est sortis aujourd'hui en fait.  ::P: 
Cool que tu ai pu tweaker ton soucis au final.  :;):

----------


## Sylvine

> Un jeu de rally, bah, c'est pas non plus trop mon objectif, après comme je l'ai dit, je vais faire des spéciales de rally sympa, et puis oui, lancia stratos, rs200, 205 t16... mais pas pour tout de suite. Je pense que de toute façon, je vais faire une espèce de démo que je vais compléter au fur et à mesure. Tiens d'ailleurs, j'ai une question, c'est possible sur ce forum de faire plus d'un sondage par topic? (genre faire un sondage différent par semaine par exemple)


 Nan mais c'était juste pour te charrier, même si effectivement je préfère les jeux de rally.
En plus t'aurais pas eu à programmer d'IA si tu fais des départs différés comme dans les vrais!

----------


## war-p

Mouais, je sais, on est même pas obligé de montrer les adversaires d'ailleurs, on peut juste foutre les chronos un peu comme dans les vieux colin mcrae (j'y ai pas mal réfléchis pour toute la partie spéciale rally + courses de côte)

----------


## joedu12

Une simulation automobile basé sur unreal engine 3 ? le moteur est pas conçu pour ça si ?
Fin je m'avance pas trop, je n'y connais pas grand chose, en tout cas bon courage  :;):

----------


## war-p

T'inquiètes le moteur est pas conçu pour ça, mais en fait on s'en fou...

----------


## war-p

Bon, je fais un petit sondage pour savoir quelle traction vous voulez voir dans le jeu!

hmm, je m'auto  :haha: , j'ai pas l'impression qu'on puisse modifier le sondage...  :tired:

----------


## Froyok

Quand on n'y connait rien on répond au hasard ?  :tired:

----------


## beuargh

Bien, voté pour la Cupra  ::):

----------


## war-p

> Quand on n'y connait rien on répond au hasard ?


Bah, un petit tour sur wiki, ça peut être bien mais, je fais un petit effort :

Giuilietta



Megane RS



Honda integra type R




Seat Leon cupra(à noter que la fr est légèrement différente, certaines parties de la carrosserie étant spécifique à la version cupra)



Focus RS (Je pense faire la focus rs 500 avec une peinture matte...)



500 Abarth



207 RC

----------


## Teto

Moi je vote pour une MX5 Mazda! (c'est une traction ET ma voiture!  ::P:  ) C'est une décapotable en plus, cela ne peut être que bien.

Sinon pour info on ne dit pas voiture de rally mais voiture de rallye. Merci pour mes yeux.  ::):

----------


## war-p

Hmph, depuis quand la MX5 c'est une traction?  :tired:  Sinon, ouais, j'y ai pas pensé mais il y a la mazda 3 mps dans le genre GTI aussi... Bon tant pis.

----------


## orime

J'ai voté !

----------


## Teto

> Hmph, depuis quand la MX5 c'est une traction?  Sinon, ouais, j'y ai pas pensé mais il y a la mazda 3 mps dans le genre GTI aussi... Bon tant pis.


Oups, désolé, t'as raison, c'est une propulsion, je devais être dans la 4ème dimension ce matin...  ::unsure:: 
Sinon oui, la mazda 3 dans sa version sport dépote bien. Mais dans ce cas, autant prendre la RX8...  ::P:

----------


## war-p

Ouais, tu as raison, mais là aussi la RX8 c'est une prop, mais étant donné que je suis amoureux de cette voiture, elle figurera certainement dans les prochaines propulsions!

----------


## war-p

Bon, j'ai un petit soucis, j'arrive pas à récupérer la vitesse d'un véhicule (VSize(Velocity) hein) pour le sortir dans le HUD, quelqu'un à une idée (exactement, je sais pas trop comment m'y prendre, si je surcharge directement la classe de mon véhicule, ça ne marche pas, ce qui est logique...)

----------


## Froyok

VSize(Velocity) te retournes quoi ?
Pas moyen de jouer avec les variables RPM ?

----------


## war-p

VSize(Velocity) te renvois un float, mais là n'est pas le problème, le soucis vient du fait que j'aimerais pouvoir afficher cette variable dans le hud, or ben, je connais ni la syntaxe ni ne comprend la logique de la chose pour l'instant, je sais pas si il faut que j'instancie ma classe HUD dans ma classe véhicule, ou bien que je fasse l'inverse (même si je pense que là, c'est marcher sur la tête...)

----------


## Froyok

Bah il te faut accéder à ton véhicule via la classe HUD, tout comme on le ferait avec le pawn pour ses points de vie.
Si ça n'existe pas, tu doit pouvoir le faire non ?

----------


## war-p

Ben, justement, par où j'y accède, je capte pas la syntaxe, j'ai essayé des trucs comme Canvas.drawtext = (string(UTVehicle.VSize(Velocity)),"bidulchouette_  ici_ce_sont_que_des_options"), et évidemment ça marche pas, l'affichage reste bloqué à 0, parce que je me doute bien qu'il ne sait pas vers quel UTVehicle pointer, mais je vois pas ce que je pourrais faire d'autre...

----------


## Teto

Les classes/objets statiques sont une notion qui est utilisée dans l'UDK? Je ne me souviens plus.
Si oui tu fais une instance statique de ton objet véhicule_du_joueur, comme ça tu peux l'appeler direct pour connaître sa vitesse.
UTVehicle vjoueur = UTVehicle.VehiculeJoueur(); // --> Renvoie un objet statique unique, qu'il crée s'il n'existe pas encore, mais ça c'est transparent pour toi (à part qu'il te faut écrire cette méthode, _of course_).
vjoueur.getVitesse(); // --> Et voilà!

Tu peux faire encore mieux, tu n'as pas besoin de créer l'objet, tu appelles la variable directement:
UTVehicle.VehiculeJoueur().getVitesse(); // Voilà c'est tout!

Mais je ne sais pas si l'UDK permet ça. Java, oui.

My 2 cents.  ::):

----------


## war-p

Ouais, au départ j'avais pensé à un truc comme ça, mais j'ai pas trop su comment le faire (bon je vais essayer ce que tu me dis, et moi je viens du c# alors bon, c'est pas mieux que le java question n'importe quoi...)

----------


## Teto

Au fait, pendant que j'y pense, il manque un choix à ton sondage: Aucun...

----------


## war-p

:haha:  Qu'il est pas drôle... 

Spoiler Alert! 


Pourquoi aucun?



---------- Post added at 09h11 ---------- Previous post was at 07h55 ----------

Bon, j'ai essaye un truc du genre vitesse =  UDKVehicleBase(PawnOwner).VSize(Velocity); où vitesse est un flottant, mais il me dit que UDKVehicleBase n'est pas la bonne expression avec le =...  ::sad::

----------


## Teto

Paske.  :^_^:  Plus sérieusement rien que les marques ne me font pas rêver. Tu veux faire quelque chose d'original? Utilise des véhicules des années 30 à 50! :vieux_nostalgique: :qui_a_dit_vieux_schnock:




> Bon, j'ai essaye un truc du genre vitesse =  UDKVehicleBase(PawnOwner).VSize(Velocity); où vitesse est un flottant, mais il me dit que UDKVehicleBase n'est pas la bonne expression avec le =...


Oui, parce que sans doute UDKVehicleBase(...) n'est pas un objet static. Il faut que tu t'arranges pour qu'il le soit.

Au fait, si UDKVehicleBase(...) est une liste, pourquoi ne pas créer cette liste en static? Comme ça chaque véhicule de cette liste peut être appelée directement, et tu connaîtras sa vitesse. Maintenant, comme UScript est un langage bâtard, peut-être qu'il ne comprend pas bien le static et ça merde à ce niveau. Désolé de ne pas t'aider davantage. :sorry:

Heu... je ne veux pas troller, mais tu sais que CE3 à déjà la gestion des véhicules incluse en standard dans la SandBox? Je dis ça je dis rien. Mais si tu n'es pas trop avancé, ce serait peut-être utile d'y jeter un œil, voire les deux... ::happy2::

----------


## war-p

Hmph, pour CE3, j'ai déjà pas mal de choses que j'ai faites, et j'ai pas envie de repartir de 0 de tout les côtés 

Spoiler Alert! 


Et puis j'aime pas le cryengine, je trouve le rendu trop synthétique, pas naturel...

.

Sinon, qu'est-ce que tu entends par liste, UDKVehicleBase,... M'enfin, tout à l'heure, en décorticant UTHUD, j'ai eu l'idée de faire ça :

    PawnOwner = Pawn(PlayerOwner.ViewTarget);
	vehicle =  Vehicle(PawnOwner);
	vitesse = vehicle.VSize(Velocity);

avec PawnOwner qui est une instance de pawn, vehicle, une instance de Vehicle et vitesse un float... Tout ça dans le postrender de ma classe HUD perso (en gros, c'est là qu'on met tout ce qui doit se mettre à jour en temps réel), ça compile, mais j'ai toujours une vitesse bloqué à 0... Ca commence à me les briser menu là! Je sais pas ce que je foire... (Ah, oui, je fait bien un canvas.drawtext(string(vitesse)) dans la fonction qui va bien et qui est aussi appelé par postrender)

----------


## Møgluglu

> vitesse = vehicle.VSize(Velocity);


C'est moi ou la syntaxe de l'UScript est une abomination sans nom ?

Ou c'est tous les autres langages objets du monde qui sont trop nazes en faisant écrire
vitesse = VSize(vehicle.Velocity); ?

Et le vehicle = Vehicle(PawnOwner);, c'est un cast ou c'est un constructeur ?

----------


## Teto

@Møgluglu, je crois que tu as tout à fait mis le doigt sur le problème majeur de Uscript...  ::P: 

Sinon, @war-p, une liste c'est un tableau d'objet. On dit liste car en C++ ou en Java une liste est un tableau modifiable et redimensionnable. On peut aussi y appliquer des méthodes qu'on ne peut pas faire via des tableaux "basiques". L'avantage de créer une liste est que tu n'as pas à t'occuper de sa taille, ou le type des éléments contenus.

----------


## war-p

Mouais, je vois, il y a la même chose en c#, mais je sais pas si le concept existe en uscript, peut être que si, mais ça règle toujours pas mon problème, puisque de tout façon, mon objectif et de récupérer le vsize du pawn (ici le véhicule) contrôlé par le joueur (playercontroller), il n'y a donc pas de liste à faire.

----------


## Teto

Oui, sauf que là je pensais plutôt au coté multi-joueurs de ton jeu._ You see what I mean?_  ::):

----------


## war-p

Ouep, je vois, mais pour ça il y a la réplication, m'enfin, ça règle toujours pas mon soucis, c'est chiant, parce que j'ai l'impression qu'il me manque un truc mais je vois pas quoi...

----------


## war-p

Hosanna Hosanna! J'ai réussis à récupérer le nom du joueur dans le HUD! Je touche au but je pense!

	UTPawnOwner = UTPawn(PawnOwner);
	if ( UTPawnOwner == none )
	{
		if ( UDKVehicleBase(PawnOwner) != none )
		{
			UTPawnOwner = UTPawn( UDKVehicleBase(PawnOwner).Driver);
		}
	}

où UTPawnOwner est la variable que l'on récupère et qui est un UTPawn, et OwnerPawn qui est un Pawn. 

Spoiler Alert! 


J'ai lâchement copié la fonction postrender présente dans UTHUD...

----------


## Teto

C'est quand je vois ce genre de syntaxe qu'il faut se taper que je comprends pourquoi j'ai arrêté l'UDK. :consterné:

Mais cool pour toi, continue.  :;):

----------


## beuargh

```

    UTPawnOwner = UTPawn(PawnOwner);
    if ( UTPawnOwner == none )
    {
        if ( UDKVehicleBase(PawnOwner) != none )
        {
            UTPawnOwner = UTPawn( UDKVehicleBase(PawnOwner).Driver);
        }
    } 


```

Perso j'ai trouvé ça assez clair, encore plus une fois indenté avec la balise PHP  ::):

----------


## Flaya

Bonne initiative ce jeux. Bon courage à toi je suis ça.

----------


## Teto

> Perso j'ai trouvé ça assez clair, encore plus une fois indenté avec la balise PHP


En fait je parlais plus de l'esprit général du codage. Cela me donne l'impression d'une logique peu... logique et d'un nid à erreurs et donc de bugs en jeu. Je ne m'appuie pas que sur ce morceau de code mais sur ma propre expérience (qui a pas loin d'un an maintenant).  ::):  Edit: Comprenez que cela fait un an que je n'ai codé quoi que ce soit.
Je trouve que devoir écrire ça pour trouver une bête référence du véhicule principal du jeu ne donne pas envie de s'y intéresser (je parle du langage, pas du jeu  :;):  ).

Mais bon.

----------


## war-p

C'est pas une bête référence, c'est LA référence du véhicule contrôlé par le joueur, c'est ça qui n'est pas trivial...

----------


## war-p

Bon, j'ai trouvé comment récupérer les informations sur le véhicule utilisé par le joueur, c'est un truc dans ce genre :

PawnOwner = PlayerOwner.Pawn;

if(V == none)
	V = UTVehicle(PawnOwner);

PawnOwner est un Pawn et V un UTVehicle, ça me renvoi bien SP_Lotus_Content, c'est à dire la partie "palpable" du véhicule (les classes "Content" sont des classes filles de celles des véhicules, elles contiennent tout ce qui est mesh, sons, animations etc...) et donc on doit pouvoir récupérer les variables tel que VSize(Velocity)... Sauf qu'elle reste bloqué à 0, je comprend rien... Elle est bien mise à jour d'après mes test, mais reste bloqué sur 0, je vois pas ce qui cloche là... Bon, je continu à chercher...

----------


## Froyok

En fait j'aurais pu te le dire depuis le début ça.  :tired: 
Pour accéder aux autres classe on utilise ça partout dans l'UDK (arme, pawn, controller, etc.).
Et je vois pas en quoi c'est choquant...

Mais comme j'avais un doute j'ai rien dit.  ::ninja:: 


Pas d'erreurs d'accessed "None" dans le log ?
De plus ton V == None ne vaut-il pas mieux le virer ?

----------


## war-p

Hmph merci... Non, c'est pas choquant, j'écris juste mon cheminement, stout... Sinon pour le accessed None, je peux le voir où? (et le V==None n’empêche rien du tout, mon V est bien affecté, après je suis pas sur qu'il ne serve pas à rien...)

----------


## Froyok

(Pour la voir, il faut lancer l'udk avec la commande -log)

Dans cette fenêtre tu verras un truc de ce style :



> ScriptWarning: Accessed None 'HitActor'
> 	UTWeap_CSMBolter UT40kDM-ut40ktest_10.TheWorld:PersistentLevel.UTWeap_CSMBo  lter_0
> 	Function UTGame.UTWeapon:ProcessInstantHit:0021

----------


## war-p

Ok, bon, je regarderai ça, mais il y a pas de log qui se fait sous forme txt?

----------


## Froyok

> Ok, bon, je regarderai ça, mais il y a pas de log qui se fait sous forme txt?


Si bien sur, tu le trouveras dans ton dossier UDKGame.  ::):

----------


## rOut

> @Møgluglu, je crois que tu as tout à fait mis le doigt sur le problème majeur de Uscript... 
> 
> Sinon, @war-p, une liste c'est un tableau d'objet. On dit liste car en C++ ou en Java une liste est un tableau modifiable et redimensionnable. On peut aussi y appliquer des méthodes qu'on ne peut pas faire via des tableaux "basiques". L'avantage de créer une liste est que tu n'as pas à t'occuper de sa taille, ou le type des éléments contenus.


Une liste c'est une liste, un tableau c'est un tableau, restons polis s'il vous plait.  :tired:

----------


## Teto

Certe, mais c'était pour expliquer. C'est vrai, j'aurais dû dire: une liste est un tableau d'objets, de taille modifiable. Ou pas, d'ailleurs, mais c'est une autre histoire.  :^_^:

----------


## Møgluglu

Pas. Une liste c'est une liste, un tableau c'est un tableau, stout.  ::o: 

Les deux sont des structures de données linéaires ordonnées. (Pour parler de manière informelle. Attention sinon on sort la théorie des catégories.)

----------


## Teto

> Pas. Une liste c'est une liste, un tableau c'est un tableau, stout.


Bon. Peut-on éviter de confondre rigueur et rigidité quand on veut essayer d'expliquer quelque chose rapidement? Merci.  :tired: 

--> Corollaire: @war-p: Je te conseille de te dégotter sur le net un bon tuto sur ce qu'est le Java et quels sont les types d'objets / données qu'il est capable de manipuler car comme tu peux le voir, c'est pas ici que tu trouveras de bonnes réponses, entre ceux qui sont trop imprécis et ceux qui te font savoir qu'ils sont à un niveau bien supérieur à toi.
L'informatique est (au niveau développeur je parle) est un des rares loisir / métier / passion où il y a très peu d'entraide. Soi t'es bon, soit tu peux dégager. Mais je suppose que ça vient du temps (années 80) où celui qui savait utiliser Windows à fond et taper 3 commandes Unix se prenait pour un informaticien, ce qui avait le don d'agacer furieusement les vrais informaticiens. Je pense que c'est resté. Soit t'es un pro, soit t'es un imbécile.  ::P:

----------


## Froyok

Honnêtement la section Unrealscript est pas mauvaise sur le fofo officiel.  :tired: 
Faut juste présenter son topic correctement et bien chercher si notre demande n'est pas déjà passée.

----------


## Teto

Ça a bien changé alors. Je me rappelle des premières semaines où j'ai lu texto quelqu'un, licencié, demander à ce que le forum soit interdit aux non licenciés, ou a défaut qu'ils soient relégués sur une autre forum avec interdiction de venir poster sur celui des licenciés. -> Apartheid? Connais pas!

Et c'était guère mieux entre ceux qui moddaient depuis des années et les nouveaux. Les moddeurs passaient leur temps à tacler les noobs, genre "commence par apprendre les bases, après on verra". "Ah oui, et pourquoi crois-tu que je poste ici ? Pour parler du beau temps ?"

Bref.

----------


## Froyok

Il y a quand même pas mal de n00bs il faut dire, néanmoins de plus en plus d'utilisateurs peuvent répondre car ayant apprit le langage, plus après les deux vétérans Blade[UG] et ambershee.  :;): 
Par contre les modos faut pas y compter.

----------


## Møgluglu

> Bon. Peut-on éviter de confondre rigueur et rigidité quand on veut essayer d'expliquer quelque chose rapidement? Merci.


Ouais, bon, je développe.

Un tableau, c'est une zone mémoire contiguë d'éléments homogènes. Par exemple, les pages numérotées d'un livre forment un tableau. Si tu es à la page 42, tu sais que la page 52 est toujours 10 pages plus loin, et que si tu ouvres un livre de 256 pages pile au milieu tu tombera sur la page 128.
Donc il est très facile de trouver une page arbitraire, mais si tu veux insérer où enlever une page sans que ça ne se voit, alors il te faut éditer un nouveau livre, donc c'est dur. Et si tu veux ajouter une page A4 dans un livre de poche, tu es baysay.

Une liste, c'est une chaîne d'éléments disjoints liés par une relation de successeur. Par exemple, un dictionnaire dans une langue que tu ne connais pas. Tu l'ouvres à la première page, tu lis "Aardvark (n) : A nocturnal burrowing African mammal…", ensuite tu cherches "nocturnal", puis le premier mot de la définition de nocturnal, et ainsi de suite. (Oui l'exemple est foireux, le dictionnaire a en fait une structure de graphe orienté.)
Pour trouver le 128ième élément de la chaîne, amuses-toi bien. Par contre pour insérer ou supprimer un mot de la langue, tu as juste à modifier son prédecesseur dans la chaîne et pas tout le dico.

Edit: et désolé pour le HS

----------


## war-p

::lol::  Tu viens de compléter mon savoir sur les listes!

----------


## Froyok

> Tu viens de compléter mon savoir sur les listes!


La même !  ::lol:: 
(Faut dire j'en ai jamais utilisées)

----------


## rOut

Hey Teto, décrispe un peu, c'était pour rigoler. Mogluglu a donné l'explication que j'avais en tête.  ::):

----------


## Teto

Nan, mais désolé mais je commençais à retrouver le ton que j'ai subi sur certains forums et par quelques petit chefs, ça m'a agacé plus que de raison. Mea culpa.  ::):  Je saurai à présent qu'avec vous pas de souci.

Sinon pour préciser encore un peu plus les choses (puisqu'on y est, autant en profiter):
- Comme la dit Møgluglu un tableau a une longueur invariable une fois créée. On peut changer le contenu, mais pas en ajouter ou en retirer, ni même de changer de type. Un tableau de int reste un tableau de int, point barre.
- La liste a plus de possibilités, mais aussi possède un grand nombre de types différents et le choix du type dépend de ce qu'on veut en faire. Vector, List, HashList, etc. Il y a même des listes dont les valeurs sont taguées par une clef, et toutes les opérations (recherche, tri, etc) se font par cette clef et non par la valeur. C'est très puissant mais il faut faire attention lors des manipulations sinon on peut se retrouver vite à manipuler des références invalides et donc bug en puissance. Des listes seront spécialisées pour le tri, d'autres pour la recherche de données, d'autres encore...

Franchement, war-p et Froyok, puisque vous faites un jeu sous UDK, potassez un livre sur la programmation orientée objets, avec des exemples donnés en Java. Cela vous permettra de vous retrouver plus facilement dans Uscript.

----------


## rOut

En fait, Vector se situe du coté du tableau dans le sens ou les éléments du vecteur sont dans un tableau. Par contre la taille est variable, mais à un instant donné le vecteur a une capacité maximale. Si l'on souhaite dépasser cette capacité, le vecteur va recopier les éléments du tableau initial vers un nouveau tableau plus grand, ce qui prend forcément du temps.
La liste ne présente pas cet inconvénient puisque chaque insertion d'un élément va simplement mettre à jour le précédent (et le suivant éventuellement), les éléments n'étant pas nécessairement contigus.

----------


## war-p

> Nan, mais désolé mais je commençais à retrouver le ton que j'ai subi sur certains forums et par quelques petit chefs, ça m'a agacé plus que de raison. Mea culpa.  Je saurai à présent qu'avec vous pas de souci.
> 
> Sinon pour préciser encore un peu plus les choses (puisqu'on y est, autant en profiter):
> - Comme la dit Møgluglu un tableau a une longueur invariable une fois créée. On peut changer le contenu, mais pas en ajouter ou en retirer, ni même de changer de type. Un tableau de int reste un tableau de int, point barre.
> - La liste a plus de possibilités, mais aussi possède un grand nombre de types différents et le choix du type dépend de ce qu'on veut en faire. Vector, List, HashList, etc. Il y a même des listes dont les valeurs sont taguées par une clef, et toutes les opérations (recherche, tri, etc) se font par cette clef et non par la valeur. C'est très puissant mais il faut faire attention lors des manipulations sinon on peut se retrouver vite à manipuler des références invalides et donc bug en puissance. Des listes seront spécialisées pour le tri, d'autres pour la recherche de données, d'autres encore...
> 
> Franchement, war-p et Froyok, puisque vous faites un jeu sous UDK, potassez un livre sur la programmation orientée objets, avec des exemples donnés en Java. Cela vous permettra de vous retrouver plus facilement dans Uscript.


T'inquiètes, en faisant du c# pour mon taff, je commence à maitriser le langage objet, c'est juste que l'uscript est vraiment cryptique par moment...

---------- Post added at 18h49 ---------- Previous post was at 17h20 ----------

Oui, donc Froyok, j'ai ça comme warning :

[0029.61] ScriptWarning: Accessed array 'SP_Lotus_Content_0.Points' out of bounds (4/4)
	SP_Lotus_Content UEDPIESP-Tsukuba.TheWorld:PersistentLevel.SP_Lotus_Content_  0
	Function SPEEDGame.SP_Lotus:Tick:0B73

---------- Post added at 19h38 ---------- Previous post was at 18h49 ----------

Bon, je m'auto répond, le warning, on s'en tape, j'ai enfin trouvé comment faire!  ::lol:: 



Bon, 3 choses sont à voir dans cette image : la première l'interface UT3, c'est en fait de là que découle la solution, j'en parle après.
la deuxième, je vous présente la vue extérieur du véhicule, il existe aussi une rear view, mais il faut que je l'améliore un peu, histoire qu'on puisse simplement voir quelque chose à l'intérieur, et qu'à l'extérieur on voit le véhicule de face. Enfin merci Tegleg du forum UDK (Ce mec est puissant!)
La troisième chose à voir... C'est l'indicateur de vitesse en haut à gauche! Oui! Enfin! Il est né le divin enfant!

Bon, alors pour l'astuce, je m'explique, dans UTVehicule_Scorpion, il existe une fonction DisplayHud qui permet d'afficher l'interface spéciale du scorpion, je l'ai donc juste modifié pour afficher ce que je voulais, en l’occurrence une ligne de texte. Mantenant, l'interface UT3 stayle vient du fait que dans UTVehicle_Scorpion, displayHud renvoi à displayHud de UTVehicle qui lui fournit l'interface pour tout les type de véhicule, et qui lui même dérive de UTHUD, mais ça finalement on s'en fout. L'idée maintenant, pour avoir un interface vraiment perso, c'est qu'il faut que je réécrive UTVehicle (  :haha:  ) et que je fasse ma propre interface.  ::lol::

----------


## war-p

Nouvelle image du jour, cette fois-ci, j'ai enfin mis sur pied mon hud complètement personnalisé, et j'ai aussi modifié la caméra notamment  avec la vue reverse :

----------


## Froyok

On aurait le droit à une vidéo ? Pour un jeu de voiture ça serait cool de voir ta physique et la vitesse.  ::):

----------


## war-p

Yep, dès que j'ai le temps, je fais ça!

----------


## war-p

Voilà un petit aperçu, bon, je maitrise pas encore trop l'outil de capture de vidéo de l'UDK (d'ailleurs au passage, j'arrive plus à changer la map par défaut du jeu... Comment on fait???), bon je tiens à vous prévenir, la vidéo est en accéléré parce que la capture par défaut, se fait 60 images par secondes, alors que le jeu tourne à 30 images/secondes à cause de la capture...  ::wacko::

----------


## Teto

Sympa!  :;):  Heu ouais, j'ai pas mieux à dire.

----------


## Froyok

Ça à l'air d'être un bon début ouais, par contre qu'est ce qui provoque toutes ces secousses ?

----------


## Mephisto

Sa voiture a des pneus carrés.  ::ninja::

----------


## war-p

> Ça à l'air d'être un bon début ouais, par contre qu'est ce qui provoque toutes ces secousses ?


Les secousses, je crois que c'est due à un mélange de "le jeu tourne à 30fps" et de la gestion de la caméra à l'extérieur de la voiture, mais dans le jeu à vitesse normale (60fps) on les voit pas du tout. Et sinon, il y a aussi des secousses au moment où je passe les vitesses, ça c'est normal.

Enfin, @mephisto, essaie de faire des ronds avec des triangles, on verra après si tu fais toujours le malin, blague à part, la vidéo est dégueu, mais dans le jeu, ça se voit quasiment pas.

----------


## war-p

Hum, je viens de tomber sur ça http://udn.epicgames.com/Three/UsingSplineActors.html, je sens que ça va résoudre pas mal de problème pour mon IA!  ::):

----------


## Froyok

> Hum, je viens de tomber sur ça http://udn.epicgames.com/Three/UsingSplineActors.html, je sens que ça va résoudre pas mal de problème pour mon IA!





> There are a few useful features of SplineActors in code as well.


 :tired:  Ils ont pas plus simple encore ?

----------


## war-p

C'est vrai que niveau "bonjour, je t'aide à coder ton jeu de oufzor!", ils sont un peu avares... Mais, j'ai vu des projets qui tournaient bien avec les splines, donc je suppose que ça doit fonctionner, reste à savoir comment... (J'ai vu aussi un truc sympa : les splineloft, qui permettent de tordre des mesh, ça peut être sympa pour faire de la déco personnalisé avec peu de mesh)

----------


## Froyok

Non ce que je voulais dire c'est que la doc qui se résume à "oui, oui, c'est possible, démerdez-vous pour savoir comment" bah c'est typique de l'UDK.  ::P: 
Au moins sur certaines pages ont à un code d'exemple.

----------


## war-p

C'est bien ce que j'avais compris, et que je voulais mettre en relief, et apparemment, je me suis vautré  ::P: 

M'enfin, en même temps, les splines permettent de faire apparemment tout et n'importe quoi, donc, c'est difficile de vraiment faire un code spécifique... (Au passage, sur blender, j'ai utilisé un spline pour faire le circuit et les barrières, donc bon, les possibilités sont relativement multiples)

----------


## war-p

Petite vidéo d'un laptime, j'ai modifié deux trois trucs : J'ai ajouté des stands (il faut que je les termine d'ailleurs), des blocs de mousses devant les barrière sur les bas côtés, un petite forêt dans la ligne droite, et j'ai modifié un peu l'éclairage.




Ensuite, j'ai modifié un peu la voiture, j'ai fait en sorte que les freins deviennent rouges à force de chauffer dans les freinages (bon c'est pas encore tout à fait point, mais ça fonctionne).

----------


## Froyok

Hmmm, j'ai l’impression que tu vas être emmerdé avec la gestion du flou.

----------


## war-p

C'est à dire? (là il y a déjà de motion blur, mais j'ai pas trop forcé la dose)

----------


## Froyok

Je parlais du blur sur les bras du conducteur : c'est pas logique, il ne devrait pas être là et de cette manière.

----------


## war-p

Ah, oui, je pense que ça viens du motion blur (qui s'applique à tout ce qui bouge...) et ça merdoie un peu, parce que dans le PIE, c'est pas 100% fluide... Bon, après je pense que je peux tweaker l'ensemble.

----------


## Teto

Pour débuter, amha, ne te focalise pas sur les détails genre freins qui rougeoient quand ils sont trop chauds. Ce n'est que du détail (le joueur ne verra jamais ça, sauf peut-être sur les véhicules concurrents), mais focalise toi plutôt sur le changement de comportement du véhicule quand ses freins sont chauds, chose que tu as peut être déjà fait, auquel cas je m'excuse promptement  :;):  .

Et puis, quand je développe, je suis un peu comme ça, j'aime bien me focaliser sur des détails pour éviter de saturer et garder la foâ...

Tu as une feuille de route du gameplay que tu cherches, de tous les mouvements/comportements de la voiture ? Personnellement je commencerais pas ça. Mais en fait j'écris n'importe quoi, c'est surement le cas. Désolé il est tard. Bonne chance pour la suite en tout cas !  :;):

----------


## war-p

T'inquiètes, le comportement des freins en fonction de leur température sera prise en compte, en fait, le plus dur, ça a pas été de faire le rougeoiement des disque, mais d'implémenter la hausse de température et la baisse de température en fonction de la vitesse du véhicule. En effet, plus une voiture va vite, et plus les freins chauffe quand on freine, c'est un fait, mais les disques refroidissent aussi plus vite si la voiture va vite. En fait, le rougeoiement, ça tient en une ligne, l'appel de l'instanced matérial avec le nom du paramètre à modifier, et en valeur, la température, tout ça mis dans la partie temps réel du code, et voilà. Sinon, au passage, ce rougeoiement m'a permis de tester une petite technique d'optimisation : la consolidation des textures, ça marche pas mal du tout!

A part ça, il faudra que j'implémente le fait que si les disques sont trop froid, les freins se bloquent, si les freins sont trop chauds, ils se bloquent etc... Et après je ferais pareil pour la pression et la température des pneus avec évidemment tout ce que ça implique au niveau de la conduite. Je verrais, après ça, si je pousse le vice à permettre des réglages fin au niveau de la suspension, du différentiel toussatoussa, mais pas pour l'instant.

----------


## Teto

T'as raison, mais prévois quand même "la place" dans les classes que tu fais. J'avais pas fait ça sur un de mes premiers programmes (rien à voir avec les jeux) et quand j'ai voulu modifier un petit truc il a fallu que je me tape la modification de toutes les classes.

Bref, construis déjà des méthodes genre:
boolean isFreinsChauds() {...}
même si systématiquement tu renvoies au début:
{return false;}

Comme ça ça t'oblige à utiliser ce code dans le reste de ton programme, et le jour où effectivement tu coderas cette méthode, tu n'auras pas à penser où tu dois l'utiliser.

Mais je suppose que tu sais déjà tout ça  :;):  (je ne connais pas trop ton niveau en programmation, heu... wait, t'en as causé sur un autre topic).

----------


## war-p

T'inquiètes, tout ce qui est général de toute façon ,j'essaie au maximum de le faire dans des classes mère, genre SP_Vehicle qui dérive de UDKVehicle, et qui permet de définir toute les classes filles qui seront les différentes voitures du jeu. Comme, ça, même si il me manque des trucs, j'ai qu'a les mettre dans ma classe SP_Vehicle, et hop, toutes les voitures sont modifié!

(Et sinon, ouais, j'ai bossé comme développeur application C#, pendant les vacances là, donc je commence à maîtriser un peu l'objet... Certains trucs me paraissent un peu obscure, mais ça vient le plus souvent de l'uscript...)

----------


## Teto

> (Certains trucs me paraissent un peu obscurs, mais ça vient le plus souvent de l'uscript...)


Sans blague!  ::P:   :^_^:

----------


## war-p

C'est pas gentil de troller...

----------


## smooki

Dommage que tu es pas mis la Mazda 3 MPS, 270ch c'est la plus puissante
Tu peux pas faire (sans trop de boulot) de propulsion avec l'unreal engine ?

----------


## war-p

Alors, oui, la mazda, j'en parlais plus haut, je l'ai oublié, bon c'est pas non plus super grave, la liste proposé n'est pas non plus super restreinte, et puis j'ai oublié plein de caisse, la DS3 en premier... Sinon, pour la propulsion, c'est du même acabit que de faire une traction (mais un peu plus chiant que l'intégral), ça reste très simple à mettre en œuvre, et puis je te signalerai que pour l'instant la seule voiture complètement implémenté et une propulsion : la lotus elise...
Sinon, pour en revenir à la mazda, je pense que si j'ai le temps et le courage, je ferais un "japan pack" donc maybe one day...

----------


## Froyok

Tiens j'ai pensé à toi !  ::P:

----------


## war-p

C'est pas une vidéo à Tegleg? (Je lui piqué quelques idées pour le code  ::ninja:: )

----------


## Froyok

Alors là j'en sais rien, Tegleg faut dire que je l'ai bloqué sur le forum UDK.  ::ninja::

----------


## Teto

C'est-à-dire? Je ne comprends pas.  ::):

----------


## war-p

Ben Tegleg, c'est un mec qui fait deux trois trucs sympa au niveau du code.

----------


## Teto

Ok, mais c'est plutôt l'expression que je ne comprends pas : "je l'ai bloqué sur le forum UDK".  ::):

----------


## war-p

Bon, quelques nouvelles de l'avancement! 
Tout d'abord, j'ai choisis de présenter mon jeu comme l'un de mes projet de programmation de fin d'année (BTS IG inside), donc bonne nouvelle : j'ai une excuse pour passer mes week-end dessus (et même travailler dessus en cour  ::):  ).
Ensuite, j'ai pas mal travailler sur le système de morph target pour faire des déformations sur la carrosserie, et par la même occasion, j'en ai profité pour travailler sur les modification des textures en cas de dégâts (c'est possible de voir ces effets sur le scorpion par exemple).
Je travaille aussi le changement d'émission de particule et le changement de coefficient d'adhérence (oui, on dirait pas comme ça, mais les deux sont liés par le système de reconnaissance de la surface en contact avec le véhicule) en fonction de la surface. En gros sur l'asphalt sèche, ben il y a beaucoup de grip, sur la terre, ou sur l'herbe, c'est beaucoup plus glissant, de plus il faut savoir qu'une bonne partie du code vient de Tegleg, sauf que depuis la release de septembre, c'est cassé... Il cherche la solution, et je teste dans mon coins quelques petits trucs...
Enfin, un mot sur le contenu, le vote progresse, dès que j'ai fini de mettre au point le morph target et la modification de la texture en fonction des dégâts sur la lotus, j'arrête le vote pour la prochaine voiture, et je commence la mod.

----------


## Froyok

Attention pour les morph target : ça consomme vachement sur le GPU lors de la déformation (mais plus rien une fois déformé).

----------


## war-p

Ouep, je suis au courant, je l'utilise avec parcimonie...

----------


## war-p

Ca y est! J'ai réussis à faire en sorte de changer le coefficient d'adhérence en fonction de la surface  ::lol::  Je suis joie!

----------


## Froyok

Génial !  ::lol:: 
Tu t'y prends comment ? Tu récupères en permanence le material (et son physic material) en dessous de chaque roue et tu adaptes ensuite ?

----------


## war-p

En fait l'idée, c'est de faire un trace à la verticale du véhicule, et de chercher quel physical material il y a. Après, il suffit de faire un switch et de comparer les noms de physical material, et le tour est joué, mais si tu veux plus d'infos, tu devrais aller voir ça : http://forums.epicgames.com/threads/...le-Effects-Fix

EDIT : Ca y est les particules fonctionnent! MEGAJOIE!

----------


## war-p

Bon, comme prévu, je vais commencer la modélisation de la prochaine voiture qui sera... Ah, ben non, vous saurez pas, tout ça parce qu'il y a égalité... ALLEZ-Y VOTEZ!

----------


## war-p

Bon, après quelques mois d'attente, je clos le vote! La gagnante étant : 



A noter que même si j'ai pas trop donné de nouvelles ces derniers temps, j'ai fait quand même pas mal de chose sur le jeu, j'ai ajouté un nouveau circuit dont je mettrais des screens prochainement et j'ai ajouté quelques petites choses par-ci par là.

----------


## Teto

Cool !  ::):

----------


## war-p

Par contre, je sais pas comment faire pour arrêter les votes  ::ninja:: , si un modo passe par  ici, il a l’autorisation de le virer!

----------


## Froyok

Tu dois pourquoi éditer ton premier post et enlever els options du sondage, non ?

Sinon cool que ça avance !
Vivement la belle specular qui fait baver sur la carrosserie !  :Bave:

----------


## war-p

Ouais, j'avais fait deux trois test pour avoir ce rendu sur une matérial, mais c'est assez chaud, en fait les peintures de voiture, c'est super compliqué pour avoir un rendu réaliste...
Sinon,pour le forum, on peut pas éditer le sondage une fois qu'il est mis sur les rails...  ::sad::

----------


## Teto

Bof, 2-3 gros rondins sur les rails et le sondage, va vite s'arrêter, crois-moi... :sioux:

----------


## war-p

Oh Oh Oh...

----------


## smooki

C'est d'la daube ce moteur de forum  ::):

----------


## war-p

Pourquoi?

----------


## war-p

Bon, j'avais dit que j'allais poster de nouveau screens, cependant, en ce moment, je suis un peu overbooké, donc, ben le projet a beaucoup avancé (parce que je bosse dessus pour mes études  ::trollface::  mais j'ai pas trop le temps de publier dessus...

Bon je vais faire un peu de teasing de la première prochaine grosse nouveauté pour le moment :



Bon, voilà, ça c'est fait, maintenant la deuxième grosse nouveauté concernera un SGBD léger bien connu!

----------


## war-p

Bon, je continue mon teasing de la mort qui tue :



Faut pas s’inquiéter si la compression est un peu dégueu...

----------


## Froyok

"Carglass répare, Carglass remplace..." (sur un air de musique populaire)  ::P:

----------


## war-p

Oui aussi, m'enfin, là il n'y a pas encore beaucoup de pare brise...

----------


## war-p

Là, voilà, on y arrive :

----------


## Teto

Convaincant.  ::):

----------


## Jasoncarthes

Il te manque encore une voiture de mec, de macho, de vrais : Une stang!



Je l'ai conduit... à san francisco, los angeles et vegas  :Bave: 

Sinon j'adore le coté speed/arcade, peut être un poil trop de grip pour le moment  ::):  en tout cas ça peut donner vraiment bien.
Oui je viens de lire l'intro et donc tu veut tendre vers la simu, mais tu n'a pas peur d'être un peu limité par la gestion de périphérique d'ut ? genre y'aura pas moyen de géré le volant et le track ir non?

----------


## war-p

> Il te manque encore une voiture de mec, de macho, de vrais : Une stang!
> http://img2.netcarshow.com/Ford-Must...llpaper_01.jpg
> 
> http://www.madness-us-cars.com/actua...tt-2008-22.jpg
> Je l'ai conduit... à san francisco, los angeles et vegas 
> 
> Sinon j'adore le coté speed/arcade, peut être un poil trop de grip pour le moment  en tout cas ça peut donner vraiment bien.
> Oui je viens de lire l'intro et donc tu veut tendre vers la simu, mais tu n'a pas peur d'être un peu limité par la gestion de périphérique d'ut ? genre y'aura pas moyen de géré le volant et le track ir non?


Volant : check (normalement)
TIR: je sais pas trop, mais je sais qu'on peut faire du multi ecran (donc demi-check)
 Et là je donne pas trop de new, mais j'ai pas mal avancé, je suis en train de faire les roues, et pour la stang, c'est pas franchement le type de voiture que j'affectionne, c'est pas vraiment une sportive à l'européenne.

----------


## Jasoncarthes

C'est pas européen du tout en fait.
M'enfin vu le boulot que représente la modélisation , le texturing et l'intégration je vais pas te jeter la pierre  :;):

----------


## banago

salut, tu fait un jeux sur UDK de voiture est je serait intéresse pour t'aidé, je fait de la modélisation 3d sur blender depuis 3 ans notamment pas mal de voitures, j'ai aussi crée un jeux de voiture sur blender, est un launcher pour jeu UDK avec config de touche résolution est nom de joueurs online, aussi avec une plateforme social.

Répond moi si tu es intéresse.

merci

----------


## war-p

Bon désolé de pas avoir répondu, mais je suis un peu frileux avec les attachés de presse, ceci est un projet uniquement solo, le but étant de me faire la main avec un moteur pro.

Sinon, petite MAJ : Je suis en train de travailler sur les contrôles, et évidemment j'ai pas de quoi raccorder un pad xbox avec mon pc... (j'ai une xboite...), et de toute façon, pour un jeu de voiture, il vaut mieux utiliser un volant. Celui que j'ai n'étant pas compatible xbox, il a fallut trouver une méthode pour faire croire que le volant est bien une manette xbox. Pour cela, il existe un petit logiciel nommé x360ce qui permet de générer une dll xinput (c'est la méthode de transfert de données utilisé pour la communication entre le pad xbox et la console/ordinateur). Grâce à ce logiciel, on peut donc associer les pédales du volant aux axes des gâchettes du pad (ça permet par la suite grâce à une configuration judicieuse du fichier DefaultInput.ini de dissocier le frein de l'accélérateur), l'axe du volant à l'axe y du stick gauche, et d'associer les autres boutons.
Par la suite, un fichier dll et un fichier ini sont générés, il faut les placer dans ./UDK/Binairies/Win32 lancer le jeu/l'éditeur et, Oh miracle, ça marche. Il faut noter que cela ne fonctionne qu'avec la version 32bit du moteur, c'est un peu chiant, mais bon.
Maintenant, il reste deux trois problèmes, comme le fait que les gâchettes sont reconnues comme des boutons, et non comme des axes par l'udk, mais, c'est configurable il me semble.

Voilà, pour le moment!

----------


## Froyok

Pour l'axe Z (les gâchettes") je pense que tu peux faire un truc du genre :



> .Bindings=(Name="XboxTypeS_RightTrigger",Command="  Axis aTrigger Speed=-1.0 DeadZone=0.2")
> .Bindings=(Name="XboxTypeS_LeftTrigger",Command="A  xis aTrigger Speed=1.0 DeadZone=0.2")


Non ?
Je ne n'ai pas testé néanmoins...

----------


## war-p

Pour l'instant, je sais pas trop, j'ai pas mal trituré le DefaultInput.ini, mais c'est pas encore ça, il y a aussi un autre problème qui se pose, c'est que lorsque l'on freine, lorsque l'on atteint 0 uu/s, on se met à reculer, et ça, c'est pas cool, en fait j'en reviens à un vieux problème que j'avais eu il y a longtemps, et que j'avais résolu à la barbare, mais de manière non satisfaisante, j'appliquais une force contraire au sens de déplacement du véhicule lorsque l'on appuyait sur la touche de frein (grâce à un exec function) sauf qu'on perd ainsi pas mal de propriétés physique obtenues lors d'un freinage (sous virage, le nez de la voiture qui plonge, transfert de charge etc...).
Je pense qu'il faut que je bosse pas mal sur ma classe PlayerController perso, mais pour l'instant dès que j'essaie de faire un override des méthodes appelées lorsque l'on est dans un "state PlayerDriving", je perds les contrôles de la voitures, plus rien ne marche... Bref, il y a encore du boulot de ce côté-ci aussi (si tu as des idées pour le playercontroller, je suis preneur, j'ai un peu de mal avec)

----------


## Froyok

Je ne sais pas du tout comment tu as implémenté ton truc, mais quelque chose dans ce genre n'irais aps ?



```
if(VSize(Pawn.Velocity) < 5 && bRestraintPressed)
{
    if(RestraintTime <= 1)
        Pawn.Velocity = vect(0,0,0)
    else
        //marche arriere
}
```

En gros tu chekc si ton freine st enclenché, et si ta Vélocité est super basse.
Quand le frein est enclenché, tu mets à jour un compteur (RestraintTime) avec Deltatime. 
Tant que tu n'as pas accumulé 1 seconde de freinage, tu n’enclenches pas la marche arrière.

----------


## war-p

C'est ce que je pensais faire, j'ai juste pas commencé à l'implémenter, et je pensais plutôt faire un espèce de threshold, quand t’arrive à une vitesse proche de 0, paf, tu coupes le frein reçu de l'input, et tu actives le frein automatique de la voiture (oui il y a un frein pour arrêter la voiture automatiquement). Le seul soucis, est que le frein ne marche alors plus quand tu recules... (rhaaaa putain, mon cerveau va exploser...)
Bon, je regarderai ça ce soir, là c'est pas trop possible...

----------


## war-p

Bon petite mise à jour. Hier, j'ai pas mal avancé, j'ai trouvé comment faire un cockpit haute définition qui ne sera visible que par le joueur en vu cockpit, il suffisait de faire un static mesh avec les attributs bOnlyOwnerSee à true ce qui permet de faire en sorte que seule le possesseur peut voir le mesh, et  DepthPriorityGroup à SDPG_Foreground, ce qui permet d'afficher le mesh devant tout les autres, et enfin, de l'attacher à un socket du véhicule.

Ensuite, grosse nouveauté, j'ai remanié la gestion de la boite de vitesse, de l'embrayage et du moteur, maintenant, il y a une "véritable" gestion de l'embrayage, cela veut dire que pour l'instant, la voiture cale au démarrage...  ::|:  Mais, à terme, ça devrait permettre d'utiliser les volants avec embrayage  ::): , tiens d'ailleurs en parlant de volant, j'ai oublié d'en parler, mais ça marche super bien avec le wrapper pour manette xbox360, j'ai été agréablement surpris par la facilité de configurer la bête, ça m'a pris 5 minutes, pour après jouer avec pendant 1/2 heure tellement ça marchait bien! :^_^:  Bon maintenant, il manque encore le retour de force, mais, je pense pas que ça soit très compliqué, il y a déjà pas mal d'exemples dans les scripts.

Voilà, et sinon, il y a 3 jours, j'ai redécouvert ce jeu http://en.wikipedia.org/wiki/Need_fo...sche_Unleashed (J'y ai donc joué pour la première fois le week-end dernier, donc avec un peu de retard après sa sortie)
Et je pense que c'est un bon render target, tout du moins au niveau des sensations de conduite, quitte à avoir quelque chose de plus simulation quand même, mais rien qu'au niveau du retour de force ce jeu est pas mal du tout pour son époque, donc je pense que je vais me baser dessus, plutôt que sur un race07 dont la gestion du ffb est assez complexe.

Voilà, c'est à peu près tout, pour le moment, je suis en train d'ajouter petit à petit du contenu aussi, mais ça, ça va venir dans de prochains posts. Pour info, la ford focus possède un extérieur complet (il manque deux roues, l'aileron, et les phares) il manque le cockpit lowpoly et highpoly, mais ça devrait aller vite, je les ai déjà commencé, et concernant les circuit, voilà un petit teaser :

----------


## Froyok

Super cool cette progression !  ::o: 
(Jerry pour le démarrage qui cale  ::P: )

----------


## war-p

> Super cool cette progression ! 
> (Jerry pour le démarrage qui cale )


Ouais, c'est pas encore au point ce truc, d'ailleurs, à la base, c'était pour éviter de pouvoir reculer après s'être arrêté comme je le disais plus haut, mais pour l'instant, c'est un échec critique, puisque si j'arrive à démarrer (en trichant un peu) et à avancer, j'arrive à freiner, et à reculer comme avant... Donc, c'est pas encore au point, mais je crois que j'arrive à quelque chose de fonctionnel malgré tout, et le tout, plus optimisé qu'avant, donc, je suis assez content! (J'ai réduit le nombre d'instructions dans la boucle de jeu, et j'ai pu ainsi éliminer un espèce de stutturing qu'il y avait avant...

----------


## war-p

Petite MAJ avec la focus quasiment terminé, il manque le becquet à l'arrière, deux roues (hop un copier coller et c'est bon) et l'intérieur qu'il faut terminer (ah et aussi les poignées des portières), et comme on ne le voit pas sur cette image, les phares sont bel et bien modélisés.



Il restera ensuite qu'a faire l'UV map (ça ça va être drôle) et il sera prêt pour l'export.

PS : J'ai enfin résolu mon problème de je recule si je freine et que je suis à l'arrêt!

----------


## Teto

> PS : J'ai enfin résolu mon problème de je recule si je freine et que je suis à l'arrêt!


Good !  ::): 

PS : Même si je ne poste pas à chaque fois que tu donnes des nouvelles, je suis de près ce que tu fais !

----------


## war-p

Bon, en ce moment je suis productif, c'est bien! Aujourd'hui j'ai enfin réussis à mettre au point un odomètre (un truc pour mesurer les distances quoi, c'est plus pratique que la règle de l'ued, et en plus ça me sert aussi de compteur kilométrique  ::):  ) et donc ça c'est cool, je pourrais ainsi mesurer avec précisions mes pistes et peut être aussi pourquoi pas faire en sorte de sauvegarder les distances parcourue avec une voiture et dégrader les perfs au fur et à mesure.. Bref, cela implique 2 corolaires : j'ai été obligé de passer par la vitesse moyenne pour calculer les distances (logique quoi), ça aussi ça peut être assez sympa pour les statistiques du joueur ou alors avoir la télémétrie, bref, ça c'est le côté cool, le deuxième corolaire, l'est beaucoup moins, en mesurant le seul circuit que j'ai à peu près terminé (enfin qui est jouable pour l'instant), je me suis aperçu qu'il mesurait 3 km exactement, ok, bon je vais voir dans wikipedia, je tape tsukuba (le nom du circuit), et là je vois, longueur de la piste... 2 putain de kilomètres, mon modèle est 1/3 trop grand...  ::(:  Dans ma campagne toulousaine, dans ce genre de cas ont dit :LAWL:

PS : Sinon la ford avance bien, je suis en train de terminer l'UVmapping, et c'est d'un chiant...

----------


## Ashley TOUCRU

Alors, cet UV Mapping ?  ::rolleyes::  J'espère qu'il sera réussi. Sinon, on va en ch....er pour customiser les caisses !  :^_^:

----------


## war-p

Ouais, j'y ai pas trop bossé dernièrement, je travaille en ce moment sur un nouveau circuit... Mais ça devrait arriver bientôt.

----------


## war-p

Bon, je me suis mis à plein temps sur la partie technique de la conception de l'interface utilisateur... Et j'ai créé mes premiers widget  ::lol:: , la prochaine étape est de contrôler le post-process depuis l'uscript : ça va chier des bulles! Il me manquera plus que la charte graphique et ça sera bon pour cette partie!

----------


## war-p

Petite maj, voilà un petit rendu de mon générateur de menu, c'est assez rudimentaire, mais ça fonctionne : à gauche on a un widget pour afficher une liste d'item dans lequel on peut naviguer (par exemple choisir un item, ici une map automatiquement choisie en fonction de son préfixe, du genre DM ou VCTF pour les habitué d'unreal) au clavier et sélectionner un item grâce à une touche (entrée par exemple). Le menu est flexible, on peut ajouter autant d'éléments que l'on veut, il faudra juste que je fasse en sorte que si il y a trop d'item, la liste se déroule au fur et à mesure. Et en bas à droite, on a un widget tout con comprenant une image et du texte, à terme, ça sera remplacé directement par le logo du jeu. Évidemment toute les dimensions sont proportionnelles à la fenêtre, donc pas de soucis d'étirement, mon seul soucis viens du fait que les textures ne sont pas vectorielles, mais là je peux rien faire.



Bon évidemment, c'est encore en phase de test tout ça, rien n'est définitif, notamment la charte graphique qui reste à définir complètement. Mais bon, le menu est fonctionnel, c'est déjà ça. De plus le fond est une animation temps réel réalisé avec matinee (C'est vachement puissant ce truc en fait!  ::o: ) et je peux contrôler le flou en temps réel, ça pourra m'être utile plus tard!

----------


## Anonyme210226

A quand un circuit urbain dans Toulouse ?  :Bave:

----------


## war-p

J'y pense, j'y pense... Je vois bien un truc avec le périph, ou bien le capitole...  ::rolleyes::

----------


## Anonyme210226

Un mix des deux, mais sans les radars et les bouchons bordel ! Et de nuit, en évitant les mecs bourrés (ou pas  ::trollface:: ) place Saint-Pierre.

----------


## war-p

> Un mix des deux, mais sans les radars et les bouchons bordel ! Et de nuit, en évitant les mecs bourrés (ou pas ) place Saint-Pierre.


Oh oui!  :Bave:

----------


## war-p

C'est bon, vous pouvez baver maintenant...

----------


## znokiss

Un gravillon sur la route et tu peux refaire le parchoc. Mais ça a de la gueule, sinon.

----------


## Ashley TOUCRU

Je reviens un peu un siècle après la bataille, mais tu en es où de ton interface graphique ? J'y pense régulièrement, mais à chaque fois qu'on se retrouve "ingame" j'oublie de prendre des nouvelles. J'ai vu il y a peu que tu m'avais demandé le logo… Ça m'avait échappé, je vais donc t'envoyer ça rapidement.  :;):  Pense à me le rappeler si j'oublie.  ::unsure::  Si t'as besoin de graphisme pour les boutons, visuels etc., n'hésite pas. En créant le logo, j'avais déjà une petite idée de charte graphique.  :;): 

---------- Post added at 14h57 ---------- Previous post was at 14h42 ----------




> http://tof.canardpc.com/view/dfd1ca4...8ec529067f.jpg
> 
> C'est bon, vous pouvez baver maintenant...


Hoho ! Joli !  ::wub:: :crosstopic:

----------


## war-p

No problemo, en ce moment, j'ai pas vraiment le temps d'y toucher (tout du moins à la parti programmation) je suis en train de réaliser des circuit, et la radical est quasiment terminé, ainsi que la ford d'ailleurs, je suis en train de travailler aussi sur les intérieurs...

----------


## Ashley TOUCRU

> No problemo, en ce moment, j'ai pas vraiment le temps d'y toucher (tout du moins à la parti programmation) je suis en train de réaliser des circuit, et la radical est quasiment terminé, ainsi que la ford d'ailleurs, je suis en train de travailler aussi sur les intérieurs...


 :Bave:   ::lol::

----------


## war-p

UpUpUp, j'ai enfin résolu le bug de la voiture qui "cale" au démarrage, il suffisait de pousser un peu!  ::lol::

----------


## war-p

Bon, après quelques mois sans communication, je passe par là pour vous dire que le projet n'est pas mort, mais j'abandonne l'UDK, je suis en effet parti sous xna (après avoir fait un comparo avec ogre) et là j'ai même une nouveau moteur physique open source!  ::lol::  Donc, les projets à venir sont : la création d'une team de joyeux programmeurs (très bientôt) et l'ajout de contenu... Voilà voilà.

----------


## haik

Cool!
La démo, la démo!

----------


## war-p

Hmm faudrait que j'ai un truc jouable...  :tired:  Mais le bon côté c'est qu'il y a peut être moyen d'avoir un vrai support pour les volants (ce qu'il n'y a pas avec l'UDK)

----------


## Teto

Cool. Au fait, ce serait intéressant de dire ici pourquoi tu as laissé l'UDK.  ::):

----------


## Patate

Tu vas programmer un moteur 3D du coup ? XNA n'en propose pas il me semble si ?

----------


## war-p

@Teto Plus ça allait, plus je faisais des hack avec le moteur physique, donc bon, vu que l'aspect graphique est pas forcément une priorité, j'ai préféré passer sur un truc où je peux tout maîtriser. Je garde l'UDK pour d'autre projets. 

@Patate : ouais, j'ai déjà commencé...  ::P:

----------


## Patate

Gros boulot ! Je vais suivre tout ça ! Tu penses montrer l'avancement de ton moteur au fur et à mesure ?

----------


## war-p

Ouais normalement je vais faire des milestones. Mais de toute façon je vais utiliser les asset que j'ai déjà fait pour l'udk.

----------


## war-p

Allez, petit up :



La compression est dégueu, et j'ai pas encore fait d'anticrénelage, mais là, on a les bases de mon moteur (graphique pour la partie présenté pour le moment du coup). Pour le moment seul des fonctionnalité de bases sont implémenté, lumière ambiante, lumière diffuse, spécularité, et texture.
Je suis en même temps en train de travailler sur le moteur physique.
L'objectif à terme est de faire carrément un framework, avec tout d'intégré : moteur graphique, moteur physique, moteur de sons et plus si affinité.  ::):

----------


## haik

Bouh! C'est nul, on veut des GT!
Ben quoi, si tu fais une jeu, autant t'habituer de suite aux joueurs qui vont gueuler quoique tu fasses  ::ninja:: 

(mais sacré boulot!)

----------


## war-p

Ouais, la prochaine sur la liste sera certainement une GT, ou une bagnole de rallye (ou un truc qui peut faire les deux genre, heu, au hasard, une 911  ::rolleyes:: ), pour le moment je me suis pas encore décidé, mais comme d'hab, si vous avez des idées pour les bagnoles, hésitez pas, je suis open.

EDIT : Ah, au fait j'ai trouvé un super tuto sur le HLSL pour ceux que ça intéresse : http://rbwhitaker.wikidot.com/hlsl-tutorials
Je me suis basé dessus pour afficher la bagnole.

----------


## war-p

Ajout de lumières dynamiques :



Prochaine étape, le shadow mapping!

EDIT : On le voit pas là, mais tout les objets sont des objets physique IG...

EDIT2 : J'ai transformé la voiture qui était physiquement parlant un cube, en vrai véhicule, et j'y ai même mis des roues (bon celles-ci méritent encore pas mal de modifs, mais on tiens le bon bout)

----------


## war-p

Bon suite à une absence de course ce soir j'ai bien pu progresser, ça y est j'ai une bagnole qui roule!  ::lol:: 



Bon, il y a encore pas mal de truc à régler comme le fait que les roues on une adhérence de ouf en friction latérale...

Bon, là je reprend là ou j'en était sur les shader : les ombres!

----------


## smooki

War-p au final t'en est où ? Tu refais tous sous xna c'est bien ça ?

----------


## Ashley TOUCRU

> Bon suite à une absence de course ce soir j'ai bien pu progresser, ça y est j'ai une bagnole qui roule!


Ah. Tu vois qu'on a bien fait de pas venir !  ::P:  En tous cas, je suis content de voir que tu n'as pas abandonné ton projet. La démo ! La démo ! Avec des babes et des GT !  ::lol::  Cela dit, en termes de marketing, je ne suis pas sûr que développer des GT soit vraiment un créneau porteur, la concurrence risque d'être rude. En revanche, développer un jeu de rallye-cross réaliste…  :Bave:  Sinon, comme bagnole, je suggère l'Audi Quattro S1 de Michèle Mouton !  ::lol::  Pis l'avantage, c'est que t'es pas emm....dé par les courbes de la carrosserie !  ::P:

----------


## war-p

Bah, pour la démo, j'ai déjà un truc fait juste que j'arrive à le déployer sans environnement de dev (j'ai essayé de montrer le projet à mon taff et ça a été un epic fail...  ::P: ). 
Sinon oui, je suis d'accord pour les GT, il y a déjà pas mal de monde. Mais bon j'ai quelques idées derrière la tête  :;):  
Déjà je me concentre sur le moteur graphique, histoire d'avoir un truc bien solide. La suite est une surprise !

---------- Post added at 16h03 ---------- Previous post was at 16h00 ----------




> War-p au final t'en est où ? Tu refais tous sous xna c'est bien ça ?


Oups j'avais pas vu ton message... Oui, donc il se trouve que j'ai atteint les limites de l'udk. J'étais obligé de faire des gros hack bien dégueulasse pour faire ce que je voulais et c'était pas bien solide. Du coup je suis passé à xna parce que je maîtrise le langage et la techno et que j'ai trouvé un moteur physique écrit en c#.

----------


## war-p

Maj du soir :



Bon, là on le voit pas mais la caméra suit la voiture (là je suis en reverse), et sinon, je me casse les dents sur le shadow mapping...  ::(:  Du coup, je verrai ça plus tard...

----------


## smooki

Bah je m'y connais un peu également en xna, même si j'y touche plus depuis un moment.
Quel moteur physique à tu pris ?
tu as un tableau d'avancement des différentes features ou tu fais ça à la garagiste ?

----------


## war-p

J'utilise BEPU physics. Après, ouais j'ai une vraie roadmap  :;):  Là, je crée un framework, et ken suis au moteur graphique et plus précisément tout ce qui touche l'éclairage.

----------


## war-p

Salut la compagnie, je passe juste pour dire que le projet avance bien, j'ai plein de textures dans tout les sens, et Oh! magie, j'ai mis le projet sur un serveur de version, histoire de pouvoir faire des backups et pouvoir tester des trucs. Petit teasing, pour le moment j'ai deux méthodes de rendus de l'image, donc ça devrait commencer sérieusement à devenir sympa! 
Et sinon, si quelqu'un connait un moyen facile d'implémenter du fxaa ou du msaa (ou les deux) en hlsl, je suis preneur!  ::ninja::  

Spoiler Alert! 


Non parce que j'ai tenté une méthode d'antialising perso à base de détection de bords et de flou gaussien... Et ça a été un échec critique...  ::ninja:: ²

----------


## smooki

Un rapide google http://mtnphil.wordpress.com/2012/10/15/fxaa-in-xna/

----------


## war-p

Ouep, je suis déjà tombé sur cette page, mais c'est pas super simple à mettre en place  ::P: 
Mais de toute façon, j'en suis pas encore là, pour le moment, je suis en train de tester l'implémentation d'un defferred renderer, et c'est pas gagné... Je sais même pas si c'est une bonne idée en plus, étant donné qu'il y a pleins de drawbacks qui viennent avec, pour des avantages pas forcément évidents...

----------


## war-p

C'est pas encore ça, mais l'idée est là!

----------


## haik

Classe!

C'est basé sur une Radicale?

----------


## war-p

Ouais radical sr-4. Bon du coup j'ai augmenté la résolution de la projection de l'ombre, donc c'est un peu moins dégueulasse, mais j'ai encore plein d'artéfacts bien chiants.

----------


## war-p

Bon, mini teasing du début d'année : 



J'en profite aussi pour signaler que le jeu avance bien, je me bat toujours avec la gestion des ombres (d'ailleurs si il y en a qui s'y connaisse dans le domaine du cascaded shadows, je suis preneur  :;):  ) mais ça progresse bien, surtout que je vais commencer à avoir du monde sur le projet!

----------


## Froyok

> (d'ailleurs si il y en a qui s'y connaisse dans le domaine du cascaded shadows, je suis preneur  )


 C'est quoi ton soucis ?

----------


## war-p

Hey, salut Froyok, ça faisait longtemps  ::):  Ben en fait, j'essaie d'utiliser le cascade shadowing, j'arrive à découper le frustrum de la caméra en plusieurs zones, mais après, je sais pas comment faire pour "aligner" les différentes projections des shadow map avec les différents frustrum de ma caméra. Je sais pas si c'est super clair...  ::|: 

EDIT : Bon après de nouvelles recherches la tête froide ( ça fait genre 2 semaines que j'ai pas touché au code) j'ai trouvé un exemple pas trop complexe qui montre ce que je cherche à faire! J'expliquerai la technique, si j'arrive à la faire fonctionner  :;):

----------


## Froyok

Ha, je te croyais encore sous UDK. Je serais d'aucune aide du coup. Désolé.

----------


## Shingo San

Le projet est toujours d'actualité ? Si oui, je te déconseille XNA, tu risque de le regretter. Pas portable, lourd... Passe plutôt sur du C++ avec une bonne lib ! Par contre je voulais te demander si tu savais où choper un circuit et une voiture, car j'aimerais développer mon moteur mais je n'ai aucune ressources sous la main. Je dispose de très peu de connaissances en modélisation, et j'aimerais avoir quelques éléments pour travailler.

----------


## war-p

Heu pour le c++, j'en ai déjà parlé... Et puis bon, on a inventé les couches d'abstraction, c'est pas pour rien  :^_^: . Ensuite, au risque de te décevoir pour les assets, je fais tout à la main (oui je suis un fou).

----------

