Un projet en commun

J’ai une autre idée de jeu que je voulais faire tout seul, mais ceci dit j’ai tellement de mal à coder que…

Ca s’appelle « Bien essayé ! »

Vous êtes un savant fou / grand méchant et vous venez de capturer votre ennemi de toujours (par exemple James Bond) qui est attaché sur une chaise devant vous. Le but est simple, il faut le tuer, d’ailleurs vous avez un revolver dans votre main, et cette fois ci, pas de cage aux requins qui descend tout doucement ou un rayon laser qui coupe lentement en deux, ca va être vite fait, parce que faut pas déconner, ca fait trois bases secretes qu’il vous explose.

Le jeu commence comme ca, et vous avez plein de moyens pour le tuer (seringue a injection mortelle, revolver, petite cuillere…) mais à chaque fois ca rate (il a vidé le chargeur avant de se faire capturer, il est immunisé au poison…) et il vous dit : « Bien essayé, mais… » et il vous rembarre et vous explosez dans une fureur toute mégalomaniaque.

Evidemment à la fin il faut un moyen hyper complexe pour le tuer (du style faire écraser un 747 sur sa chaise)

Le jeu est trés humoristique surtout avec la némésis du héros qui est trés flegmatique et qui sort des phrases du style : « Alors mon bon, où sont vos cages à requins ? » ou alors « A propos, j’ai toujours voulu savoir : pourquoi mettez vous des boutons d’autodestruction dans toutes vos bases secretes ? »

JB

Excellente idée! Je pense que ça plairait bcp à la communauté anglophone.
Et ça doit être amusant de jouer avec tous ces clichés…

On pourrait même imaginer une façon de perdre le jeu… A chaque fois qu’une tentative de mise à mort échoue (ou tous les X tours à la limite), l’espion se moque du savant et ce dernier, pour retrouver un peu d’ego, se sent obligé de raconter une partie du GROS PLAN DE CONQUETE DU MONDE qui est en train de se dérouler en ce moment même comme sur des roulettes.
Si au bout d’un moment l’espion sait tout, il arrive à s’évader et fait tout sauter :slight_smile:

Ca obligerait le joueur à imaginer des trucs un peu complexes pour ne pas perdre de temps, mais d’un autre côté, un jeu où l’on est puni pour sa curiosité ça peut être vu comme du mauvais gameplay… je propose simplement.

Ca me fait un peu penser à cet excellent jeu d’Andrew Plotkin « Spider and Web » (enfin je crois que c’est celui-là où on se trouve sur un siège d’interrogatoire pour raconter des évènements passés), tout en étant très différent et bien pensé!

Par contre, je pense que tu devrais le développer seul… tu te débrouilles suffisamment bien en codage pour ça! On a déjà du mal à boucler nos jeux, et il nous faudra un certain temps pour s’occuper de celui des MCO… j’imagine mal notre petite équipe travailler sur tout ça à la fois :slight_smile:

Enfin, on pourra en reparler, mais pour l’instant, pas assez de temps, désolé!

Alors pour les MCO c’est décidé ?

Au lu des messages j’avais pas compris que la décision avait été prise…

JB

Eh bien tout dépend de la cible choisie.
Si on veut faire des émules parmi nos compatriotes, un jeu basé sur les MCO convient tout à fait. Moi, ça me va en tout cas.

alors des news ?

Constant Story « MYSTERIEUSES CITES D’OR EPISODE 1^^ »;
Constant MAX_CARRIED = 100;

Include « Parser »;
Include « VerbLib »;

! ---------------------------------------------------------------------------
! routines diverses
! ---------------------------------------------------------------------------

[ ChooseObjects obj code;
if (code<2) { if (obj has scenery) return 2; rfalse; }
if (action_to_be==##Eat && obj has edible) return 3;
if (obj hasnt scenery) return 2;
return 1;
];

[ attend notNeeded;
@read_char 1 notNeeded;
rtrue;
];
! ----------------------------------------------------------------------------
! Nos Heros
! ----------------------------------------------------------------------------

Object esteban « Esteban »
with short_name
[; return L__M(##Miscellany, 18);
],
description
[k;print « Esteban.^ »;],
before NULL, after NULL, life NULL, each_turn NULL,
time_out NULL, describe NULL,
capacity 100, parse_name 0,
orders 0, number 0,
has concealed animate proper transparent;
! ----------------------------------------------------------------------------
! Les Pieces & Objets
! ----------------------------------------------------------------------------

! ----------------------------------------------------------------------------
! Scenes Cinematiques
! ----------------------------------------------------------------------------

[ Initialise;
lookmode=2;
ChangePlayer(esteban);
location=impasse;
pagetitre();
give player light;
introduction();
debut();
];

[ pagetitre i;
@erase_window -1; print « ^^^^^^^^^^^^^^^^^^^^^^^^ »;
i=0->33; if (i>30) i=(i-30)/2;
font off;spaces(i);
PrintWidth(« Les Myst@'erieuses Cit@'es d’Or »,i,39);
new_line;new_line;
print « ^^^^^^^ par JB, ifiction.free.fr/phpBB2/ »;
style underline;font on;
box " Le 15@eme Si@ecle,"
" Des Quatre Coins de l’Europe"
" De Gigantesques Voiliers Partent @a la conqu@ete du Nouveau Monde"
" "
" A bord de ces navires, des hommes avides de r@^eves, d’aventure et d’espace,"
" A la recherche de Fortune."
" Qui n’a jamais r@'ev@'e de ces mondes souterrains ?"
" De ces mers lointaines peupl@'ees de L@'egendes ?"
« Ou d’une richesse qui se conquerrait au d@'etour d’un chemin de la cordilli@`ere des Andes ? »
" Qui n’a jamais r@'ev@'e de voir le soleil souverain guider ses pas, "
" Au coeur du pays Inca, "
" Vers la richesse et l’histoire des myst@'erieuses Cit@'es d’or ? ";
@read_char 1 → i;
@erase_window -1;
];

[ PrintWidth s w l t;
t=(w/2)-(l/2);
spaces t; print (string) s, « ^ »;
];

[ introduction i;
@erase_window -1;
style underline;
print « ^^^^ …1597…^ »;
print " …@`a Barcelone…^";
attend();
print « ^^^^^ »;
font off;style roman;font on;
print " ";
@read_char 1 → i;
@erase_window -1;
];

[ debut;
];

[XyzzySub;
print « ^~Xyzzy~ murmurez vous de d@'epit, songeant aux cit@'es d’or. ^ »;
];

[LicenseSub;
];

! ----------------------------------------------------------------------------
! Grammaire & Verbes
! ----------------------------------------------------------------------------

Include « FrenchG »;

Verb ‹ xyzzy ›

  •   		->Xyzzy;
    

Verb ‹ aide ›

  •   		->Aide;
    

Verb ‹ licence ›

  •   		->License;
    

! ----------------------------------------------------------------------------

Excusez moi il ne faut pas lire par "JB " bien sûr mais par notre groupe, je l’ai oublié parce que j’ai repris de mon code de filaments

Oui, commençons…

Ca compile ? Le .inf ou le .z5 ou 8 est-il téléchargeable ? (on dirait que du code s’est transformé en smiley).

Sinon, juste une remarque, pourquoi n’utilises-tu pas les caractères accentués ? C’est plus simple et ça marche.

– JL

je n’ai pas essayé mais normalement ca doit compiler pour peu que tu rajoutes l’objet « impasse » qui est le point de départ du jeu.

J’avais prévu :
Aprés une petite phrase d’introduction, Esteban se retrouve dans une impasse derriere la taverne;
il y a un tonneau qu’il faut pousser puis monter dessus pour ouvrir la fenetre hors de portée sinon et rentrer dans la taverne ;
Scéne cinématique : Sancho et PEdro parlent des cités d’or, des gens viennent pour chercher esteban et promettent une récompense.
Esteban sort de sa cachette; un homme est accoudé au comptoir : si esteban vient lui parler, le player devient Mendoza…

JB

ps : franchement c’est trop fastoche à faire mais j’ai du mal avec les trucs où il faut monter dessus donc je vous laisse faire LOL :slight_smile:

Pourquoi s’embêter? Si c’est pour obliger le joueur à taper « grimper sur tonneau », je ne sais pas si ça vaut le coup. Autant utiliser le flag « general » pour décider si le tonneau est à la bonne place ou pas?

Enfin, de toutes façons, je suis au boulot, je n’ai pas le temps de faire plus :slight_smile:
J’en ai profité pour corriger une ou deux erreurs de compilation, et pour mettre les accents (ça sera plus simple pour l’instant, on peut tjrs faire un remplacement juste avant la compilation finale si ça risque de poser pb), mais par contre je n’ai pas rédigé de textes définitifs. A ce propos, vous préférez faire le gros du jeu puis repasser derriere pour écrire les textes, ou tout finaliser au fur et à mesure qu’on avance?

Il va aussi falloir trouver un moyen de coder à plusieurs sans se marcher dessus.

Constant Story "MYSTERIEUSES CITES D'OR EPISODE 1^^"; 
Constant MAX_CARRIED = 100; 


Include "Parser"; 
Include "VerbLib"; 

! --------------------------------------------------------------------------- 
! routines diverses 
! --------------------------------------------------------------------------- 

[ ChooseObjects obj code; 
if (code<2) { if (obj has scenery) return 2; rfalse; } 
if (action_to_be==##Eat && obj has edible) return 3; 
if (obj hasnt scenery) return 2; 
return 1; 
]; 

[ attend notNeeded; 
@read_char 1 notNeeded; 
rtrue; 
]; 
! ---------------------------------------------------------------------------- 
! Nos Heros 
! ---------------------------------------------------------------------------- 

Object esteban "Esteban" 
with short_name 
[; return L__M(##Miscellany, 1); 
], 
description 
[k;print "Esteban.^";], 
before NULL, after NULL, life NULL, each_turn NULL, 
time_out NULL, describe NULL, 
capacity 100, parse_name 0, 
orders 0, number 0, 
has concealed animate proper transparent; 
! ---------------------------------------------------------------------------- 
! Les Pieces & Objets 
! ---------------------------------------------------------------------------- 

Object impasse "Une petite impasse derrière la taverne (nom?)"
  with description
    "une impasse",
  has light;
    
Object tonneau "tonneau" impasse
  with name 'tonneau' 'baril' 'barrique' 'barique' 'toneau',
  description [;
    if (self has general) {
      print "Le tonneau se trouve sous la fenêtre de la taverne.^";
      return true;
    } else {
      print "Un tonneau.^";
      return true;
    }
  ],
  before [;
    Take:
      print "Bien trop lourd!^";
      return true;
    Push:
      if (self has general) {
        print "Il est bien où il est!^";
        return true;
      } else {
        print "Poussant le tonneau, Esteban parvient à le placer juste sous la fenêtre.^";
        give self general;
        return true;
      }
  ],
  has supporter;

Object fenetre "fenêtre" impasse
  with name 'fenetre' 'lucarne' 'ouverture',
  description "Il semble y avoir beaucoup d'animation à l'intérieur!^",
  before [;
    Open:
    if (tonneau has general) {
      print "Esteban grimpe sur le tonneau et ouvre la fenêtre sans bruit...^";
      return true;
    } else {
      print "C'est bien trop haut!^";
      return true;
    }
  ],
  has scenery door female;
  
    


! ---------------------------------------------------------------------------- 
! Scenes Cinematiques 
! ---------------------------------------------------------------------------- 

[Initialise; 
lookmode=2; 
ChangePlayer(esteban); 
location=impasse; 
pagetitre(); 
give player light; 
introduction(); 
debut(); 
]; 

[pagetitre i; 
@erase_window -1; print "^^^^^^^^^^^^^^^^^^^^^^^^"; 
i=0->33; if (i>30) i=(i-30)/2; 
font off;spaces(i); 
PrintWidth("Les Mystérieuses Cités d'Or",i,39); 
new_line;new_line; 
print "^^^^^^^ par (nom du groupe?), http://ifiction.free.fr/phpBB2/"; 
style underline;font on; 
box " Le 15ème Siècle," 
" Des Quatre Coins de l'Europe" 
" De Gigantesques Voiliers Partent à la conquète du Nouveau Monde" 
" " 
" A bord de ces navires, des hommes avides de rêves, d'aventure et d'espace," 
" A la recherche de Fortune." 
" Qui n'a jamais rêvé de ces mondes souterrains ?" 
" De ces mers lointaines peuplées de Légendes ?" 
"Ou d'une richesse qui se conquerrait au détour d'un chemin de la cordillière des Andes ?" 
" Qui n'a jamais rêvé de voir le soleil souverain guider ses pas, " 
" Au coeur du pays Inca, " 
" Vers la richesse et l'histoire des mystérieuses Cités d'or ? "; 
@read_char 1 -> i; 
@erase_window -1; 
]; 

[ PrintWidth s w l t; 
t=(w/2)-(l/2); 
spaces t; print (string) s, "^"; 
]; 

[ introduction i; 
@erase_window -1; 
style underline; 
print "^^^^ ...1597...^"; 
print " ...à Barcelone...^"; 
attend(); 
print "^^^^^"; 
font off;style roman;font on; 
print "<Texte technique> "; 
@read_char 1 -> i; 
@erase_window -1; 
]; 

[ debut; 
]; 


[XyzzySub; 
print "^~Xyzzy~ murmurez vous de dépit, songeant aux cités d'or. ^"; 
]; 

[AideSub; 
]; 

[LicenseSub; 
]; 

! ---------------------------------------------------------------------------- 
! Grammaire & Verbes 
! ---------------------------------------------------------------------------- 

Include "FrenchG"; 


Verb 'xyzzy' 
* ->Xyzzy; 

Verb 'aide' 
* ->Aide; 

Verb 'licence' 
* ->License; 

! ----------------------------------------------------------------------------

Bon, c’est vraiment la façon la plus simple de gérer ça, mais si on veut faire plus compliqué, alors autant rajouter un élément qui empêche de pousser le tonneau dès le départ. Il pourrait y avoir un chat dessus en train de dévorer un poisson par exemple (essayez de déranger un chat de gouttière qui mange, tiens :slight_smile:).
Ou simplement un objet à tirer avant de pousser le tonneau…
Ou encore obliger le joueur à fouiller dans les ordures pour trouver qque chose permettant de forcer la fenêtre (je vois mal esteban en éboueur-cambrioleur mais bon :wink:).

Plutôt qu’un chat, un chien, celui que l’on retrouve quand il s’enfuit de la taverne…ca montrerait la cohérence de l’univers off par rapport à la série.
Il pourrait avoir un baton dans sa gueule et si le héros le prend et le lance, le chien va le chercher pendant 2 turns puis revient sur le tonneau. De quoi avoir le temps de monter…

Pour l’organisation, je propose qu’on travaille tous en se marchant sur les pieds : parce que de toute façon vu qu’on est tous au boulot, et ben on travaillera pas souvent et il y a peu de chance pour qu’on se marche vraiment sur les pieds de toutes façons :wink:

JB

lol, ça va être une belle pagaille :slight_smile:

Ca serait un peu navrant de poster à qques secondes d’intervalles un code pour la même enigme tout de même… ou de mettre un code en cours à la poubelle parce qu’on s’apercoit que quelqu’un a déjà posté mieux un quart d’heure avant…

Enfin en attendant on peut bosser comme ça.

Pour le chien s’il y en a un dans la série c’est encore mieux oui, ceci dit là tu m’as un peu pris au dépourvu, j’ai pas encore revu un seul épisode, hehe
Ce soir je regarde les 2 premiers!

Il y a moyen de bosser à plusieurs sans risque en coupant le projet en plusieurs petits fichiers. Je fais déjà comme ça pour mes jeux (plus pratique d’avoir un fichier PNJ, un fichier Pièces, etc…), mais ça s’impose d’autant plus pour un tel projet.

Et là, au lieu de faire par type d’objets (persos, pièces…), on aura plutôt interêt à faire par scène. Enfin ça on peut en discuter.
Avec qques pages PHP je devrais pouvoir faire un petit module de gestion de version. On sera vraiment gagnants à moyen terme, et c’est indispensable à long terme :stuck_out_tongue:

(ça nous évitera aussi de poster plein de code avec chaque message :wink:).

Juste une idée :

Ce serait quand même sympa de poster le code à chaque fois (enfin, juste le bout qu’on rajoute !), et que toutes nos idées soient consignées dans un même thread.

Ca serait comme un journal de création, mais brut de décoffrage.

Ca serait utile pour la post-évangélisation :wink:

JB

Oui, poster juste les morceaux modifiés ou rajoutés, c’est interessant. Mais ne pas avoir à remettre des morceaux récurrents, c’est surtout ça qu’il faudrait éviter.

En fait je ne suis peut être pas tres clair…

L’interêt d’un module de gestion de version, serait qu’un fichier X serait en un instant T « bloqué » par un développeur et qu’il serait le seul à pouvoir y toucher. Il fait donc ses modifs dessus, puis ré-uploade le fichier, et le libère. Un autre créateur peut alors venir chercher ce même fichier, rajouter un bout de code, ré-uploader, etc…

L’interêt majeur est donc d’empêcher les collisions entre participants.

Ou alors, en attendant la gestion de version, quand quelqu’un s’apprête à coder quelque chose :

  • il vérifie que personne n’a déjà posté de message d’avertissement (voir ci-dessous) ;
  • il poste un message d’avertissement du style : « je suis en train de coder ‹ grimper sur tonneau › ; ça va prendre une heure (ou un jour, ou une semaine…) »
  • il code
  • il publie le résultat ou dit « je laisse tomber »

– JL

Intéressant le journal de création. Déjà, cette histoire de tonneau, de chien et de chat…

Il y aurait donc, suite à (ou au cours de) cette première scène, un changement de point de vue ?

Ben oui, parce que finalement c’est un peu chiant ce qu’il se passe du point de vue d’esteban dans le reste de l’épisode.

Donc au moment où ils se rencontrent, le player devient Mendoza.
Grosso modo il lui arrive cela :

  • il rencontre esteban et remarque son medaillon
  • il part dans les rues de Barcelone
  • il retrouve Esteban qui est nargue ses poursuivants du haut d’un mur et l’en fait tomber
  • suivant la procession qui améne esteban sur la place de Barcelone, il est abordé par Gomez qui lui demande de capturer Zia que l’on voit au balcon
  • il assiste au retour du soleil par esteban et se dit « tiens tiens voilà qq qui me serait utile pour le voyage »
  • il s’infiltre dans le monastère d’esteban et espionne la mort du père
  • il se souvient de son voyage avec Magellan et son sauvetage d’esteban de la jonque en perdition (d’ailleurs ca pourrait etre un flashback jouable, et s’il fait une erreur, le message d’erreur deviendrait « Mais non, ca n’a pas pu se passer comme ca, sinon je me serai noyé ! »)
  • il rattrape esteban qui s’enfuit en haut de la tour
  • il le convainc de venir avec lui
  • il s’infiltre dans le palais de la reine
  • il capture zia
  • il retrouve esteban sur le quai…

Aprés ca pourra passer en player Esteban pendant la traversée.

JB

Ca compile, en effet. La mise en page fonctionne bien avec Windows Frotz, mais pas avec Frotz. Enfin, inutile de se stresser avec ça pour l’instant.

Je vais relire le script de l’épisode 1 : pcsione.free.fr/mco/scripts/script01.htm

La première partie (Esteban) correspond à l’original, et la partie suivante (Mendoza) interpole de nombreuses ellipses, c’est bien ça ? Ces deux parties semblent constituer déjà un épisode non négligeable.

– JL

A propos des dates, l’épisode 1 commence en 1532 et non en 1597.
Et puis dans les 2 cas on est au 16e siècle, pas au 15ème :slight_smile:

J’ai revu les 2 premiers épisodes donc… et je dois avouer qu’entendre à nouveau ces musiques m’a donné la chair de poule!!!

Du grand art :slight_smile: