Faits : A. A.A._ et B.A._, ainsi que leurs enfants C.A._ et D.A._, avaient l'intention de faire construire un chalet à Villars-sur-Ollon. X._ SA (ci-après: X._), dont T._ est administrateur, a procédé à l'étude du projet de construction du chalet "...". Le permis de construire a été délivré en 2000. En janvier 2001, X._ a établi une note d'honoraires pour les prestations effectuées d'octobre 1999 à décembre 2000 et demandé un acompte de 100'000 fr., qui a été versé. Entre janvier et août 2001, X._ a effectué deux estimations du coût des travaux, qui devait s'élever en dernier lieu à 4'600'000 fr. A l'époque, T._ et A.A._ ont eu quelques difficultés à se comprendre pour des raisons de langue. La famille A._ a alors désigné comme représentante U._, architecte et décoratrice d'intérieur. Le 17 septembre 2001, les parties ont signé un document, intitulé "mission de l'architecte", en relation avec les prestations à fournir par X._. Ce contrat se réfère à deux courriers de U._ du 11 septembre 2001, contre-signés par T._ le 17 septembre 2001. Selon le premier (annexe n° 1), la mission de X._ est définie ainsi: " (...) - vous êtes chargé de procéder à la mise à jour des plans et devis en fonction du dossier plans validés le 04,08,2001 - à partir de la reprise des travaux et jusqu'à la réception des ouvrages (env 31,12,2002) vous êtes chargé du contrôle des travaux, du contrôle du budget, de la direction des ouvrages et du contrôle de leur parfaite qualité - vous êtes chargé de la mise à jour du dossier PC et annexe selon le respect des lois et règlements de la Commune de Villars - vous êtes l'interlocuteur du Maître de l'Ouvrage vis-à-vis des intervenants et sous-traitants - vous serez rémunéré en fonction des étapes du travail à venir - proposition ferme : 400000 Fr.Ch (...) " Dans le second courrier (annexe n° 2), U._ confirme que les honoraires de X._ pour les étapes à venir s'élèvent à 400'000 fr. Le contrat du 17 septembre 2001 se réfère à la norme SIA 102 en cas de divergence entre les parties. Par lettre du 27 février 2002, les membres de la famille A._ se sont adressés à X._ dans les termes suivants: (...) Nous faisons référence au projet de base de notre chalet, pour lequel vous avez obtenu un permis de construire en date du 24.10.2000. Depuis, nous avons réexaminé en famille un nouveau mode d'occupation de notre chalet afin que son utilisation en commun nous convienne au mieux. Ainsi, après nos réflexions, nous sommes amenés à vous demander de procéder à un certain nombre de changements et aménagements, à partir du rez-de-chaussée, conformément à nos discussions antérieures. A partir de ces indications et instructions, nous vous laissons le soin d'effectuer les modifications envisagées, pour permettre la continuation des travaux dès ce printemps. D'autre part, vous voudrez bien faire en sorte que du point de vue «permis de construire», les adaptations prévues soient en ordre avec la Commune d'Ollon. (...) " Le 15 mai 2003, X._ a établi une note d'honoraires "selon forfait du 13.09.01 - Fr. 500'000". Une annotation manuscrite indique que ce montant correspond à l'acompte de 100'000 fr. et aux honoraires de 400'000 fr. prévus dans la "mission de l'architecte"; il est mentionné par ailleurs que 490'000 fr. ont été encaissés. Le 28 novembre 2003, X._ a informé U._ que le coût total de la construction s'élevait alors à 6'276'223 fr.35 et que ce coût ne comprenait pas "l'adaptation à établir des honoraires d'architecte en fonction de l'évolution du coût et des prestations complémentaires fournies." Le 15 avril 2004, X._ a établi une note d'honoraires finale d'un montant de 680'000 fr. Compte tenu de l'acompte versé de 490'000 fr, le solde réclamé aux membres de la famille A._ se monte à 190'000 fr. La facture réactualise les honoraires en fonction de l'évolution du coût des travaux depuis le 17 septembre 2001 et comporte plusieurs postes en relation avec des prestations qui ne seraient pas couvertes par la "mission de l'architecte". Le montant de 190'000 fr. n'a pas été réglé. Au contraire, les membres de la famille A._ considéraient avoir payé 90'000 fr. en trop, puisqu'un montant de 400'000 fr. avait été convenu dans le contrat du 17 septembre 2001. B. Par demande du 20 juillet 2009, X._ a ouvert action contre A.A._ et B.A._ et leurs enfants en paiement du montant de 190'000 fr. plus intérêts à 5% dès le 15 avril 2004. Les défendeurs ont conclu au rejet de la demande et, reconventionnellement, à la condamnation de X._ au paiement de la somme de 90'000 fr. notamment. Le 21 juin 2011, le Juge instructeur de la Cour civile du Tribunal cantonal vaudois a ordonné une expertise, dont les frais estimés à 12'000 fr. devaient être avancés à raison de trois quarts par X._ et un quart par A.A._ et consorts. L'expert V._, architecte ETS, s'est adjoint les services de son associé, W._, architecte SIA et expert en matière d'honoraires. Le 17 février 2012, il a déposé son rapport portant sur 27 allégués des parties. A.A._ et consorts ont émis de nombreuses critiques à l'encontre de ce rapport. Ils ont requis la mise en oeuvre d'une seconde expertise. X._ s'est opposée à cette mesure; elle a admis toutefois que plusieurs questions méritaient un développement plus complet et demandé un complément d'expertise. A.A._ et consorts estimaient pour leur part qu'il était inutile de poursuivre avec l'expert V._, dont le travail avait totalement ruiné la confiance qu'ils avaient en lui. Par décision du 9 novembre 2012, le Juge instructeur a considéré qu'une seconde expertise était inévitable; il a déclaré sans objet la requête de complément d'expertise. A propos de l'expertise V._, il observait ce qui suit: " (...) l'expert répond plus ou moins aux allégués 24 et 28, mais ne répond pas réellement aux allégués 31 et 48. Les réponses données aux allégués 35, 42, 46, 123 et 178 sont peu claires. En ce qui concerne en particulier l'allégué 123, la fin de la réponse semble contredire ce qui précède, et l'expert ne formule aucun montant en rapport avec les postes qu'il invoque. L'expert répond aux allégués 40, 113, 114 et 121, mais procède par des affirmations. (...) " Par ordonnance sur preuves complémentaire du 6 février 2013, le Juge instructeur a nommé un nouvel expert architecte, chargé de répondre aux mêmes allégués; il était précisé que les frais d'expertise présumés, à fixer ultérieurement, seraient avancés à raison de trois quarts par X._ et d'un quart par A.A._ et consorts. X._ a fait savoir au Juge instructeur qu'elle n'entendait pas avancer les frais pour une seconde expertise qu'elle n'avait pas sollicitée. Le Juge instructeur a pris acte de la position de X._ et constaté que cette partie serait dès lors déchue du droit à l'administration de la preuve par expertise sur ses allégués mentionnés dans l'ordonnance du 6 février 2013. A.A._ et consorts ont finalement renoncé à la seconde expertise. Par avis du 11 mars 2013, le Juge instructeur a constaté qu'il n'y avait plus matière à mettre en oeuvre la seconde expertise. Par jugement du 11 juillet 2014, la Cour civile a condamné A.A._ et consorts, solidairement entre eux, à payer à X._ la somme de 10'000 fr. avec intérêts à 5% dès le 1 er août 2005; elle a rejeté toutes autres ou plus amples conclusions. Elle a retenu que les honoraires de l'architecte s'élevaient à 500'000 fr., montant qui comprenait les 100'000 fr. versés pour les prestations exécutées jusqu'au 31 décembre 2000 et le forfait de 400'000 fr. convenu dans le contrat du 17 septembre 2001. Comme ils avaient déjà versé un montant de 490'000 fr., les défendeurs étaient encore débiteurs du montant de 10'000 fr. X._ a interjeté appel de ce jugement. Par arrêt du 28 avril 2015 dont les considérants ont été notifiés le 12 juin 2015, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a confirmé le jugement attaqué. C. X._ forme un recours en matière civile. Elle conclut principalement à la réforme de l'arrêt cantonal en ce sens que les défendeurs sont condamnés solidairement à lui verser un montant de 190'000 fr., plus intérêts à 5% dès le 15 avril 2004. A titre subsidiaire, elle demande la mise en oeuvre d'un complément de l'expertise V._. A.A._, B.A._, C.A._ et D.A._ proposent le rejet du recours dans la mesure de sa recevabilité. Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.