Questo pezzo inaugura una serie di articoli dedicati alle software house che hanno creato delle pietre miliari nella storia dei videogiochi ma che hanno purtroppo dovuto arrendersi ai problemi economici, scivolando nell'oblio.
Iniziamo quindi parlando della francese Delphine Software.
Avventure mozzafiato su pianeti alieni, viaggi nel tempo per lottare contro gli alieni, intrighi spionistici internazionali, crociere con delitto e folli corse in moto. Per chi è stato un fortunato possessore di un PC, un Amiga, un Atari o una PlayStation negli anni '90 tutto ciò fa venire in mente un nome ben preciso: la Delphine Software International.
Quella che è stata una delle più importanti software house europee, nasce nel 1988 dal Delphine Group e l'anno dopo partorisce una delle più belle avventure punta e clicca mai realizzate. Ovviamente si sta parlando di Future Wars: il protagonista è un semplice lavavetri che sfortunatamente si ritrova a pulire la finestra sbagliata del grattacielo sbagliato al momento sbagliato e suo malgrado si ritrova intricato in una vicenda in cui la sua vita e quella dell'intero pianeta Terra sono appese ad un filo. Viaggiando tra le ere passate e future, bisognava fare del proprio meglio ma soprattutto spremersi le meningi per impedire ad una malvagia razza aliena di far saltare in aria il mondo con una potentissima bomba. Oltre a sfuggire a delle maledettissime zanzare assassine!
Il gioco, carico di suspence, era per la verità estremamente difficile e, a differenza di altre avventure, la morte era sempre dietro l'angolo: inoltre una dimenticanza in uno schema precedente poteva portare sicuramente ad una rapida e dolorosa fine. Morale? Mai dimenticarsi dell'insetticida, soprattutto quando ci sono delle zanzare assassine in attesa migliaia di anni prima. Nel bene o nel male, questa è stata la prima opera che ha lasciato il segno nella storia dell'azienda d'Oltralpe, firmata da Paul Cuisset, co-direttore della Delphine Software insieme a Paul de Senneville.
L'anno dopo esce un'altra avventura, sempre segnata dall'linconfondibile impronta di Cuisset, ma stavolta orientata a situazioni più realistiche: Operation Stealth si basa appunto sulle mosse dell'agente segreto John Glames, nome in codice MI6, atte a ritrovare un F-19, quello che realmente per molti anni è stato considerato un prototipo segreto di aereo invisibile ai radar. Il gioco è più semplice rispetto a Future Wars ma comprende un momento particolarmente ostico all'interno di una caverna sottomarina: la lotta contro il tempo e la difficoltà nel trovare i punti ed i tempi giusti avevano fatto arrendere tantissimi videogiocatori. Per tutti gli altri, la luce del sole dopo l'uscita in apnea da quel tunnel rappresentava un traguardo ancora più importante della fine del gioco. Una menzione particolare va però al Topolino sulla scrivania del direttore della CIA nel briefing della missione.
Nel 1991 la Delphine Software chiude il brevissimo ciclo delle avventure punta e clicca con Cruise For a Corpse, nel quale l'investigatore Raoul Dusentier deve risolvere il mistero di un omicidio commesso a bordo di un veliero in perfetto stile Agatha Christie, e sforna il pioneristico Another World, primo spettacolare platform cinematico interamente figlio del programmatore Eric Chahi. Grafica essenziale e poligonale, ritmo e fluidità nei movimenti incredibile per l'epoca, conditi da una storia piena di pathos e mistero: questi gli ingredienti che fecero del fisico Lester Knight Chaykin uno dei personaggi videoludici più famosi dell'epoca. Un temporale durante un esperimento con un acceleratore di particelle è sufficiente per teletrasportare il fortunato possessore di una Ferrari in un mondo alieno e selvaggio in cui per sopravvivere bisogna lottare fino alla fine, magari con l'aiuto di un insolito amico. E che paura che faceva il mega mostrone oscuro che ti inseguiva per chilometri per farti a fettine!
La Delphine Software si aggiudica però un posto nel Guinness dei Primati con Flashback, anche questo un platform cinematico diretto però da Paul Cuisset. Il gioco francese più venduto di tutti i tempi narra la storia di Conrad B. Hart, un agente dell'FBI del futuro (circa 130 anni in più dai giorni nostri ed oltre 150 dall'uscita del gioco) impegnato a salvare il pianeta Terra dalla minaccia aliena ma soprattutto a recuperare la sua memoria cancellata. Si risveglia infatti in mezzo ad una giungla senza sapere nemmeno il suo nome né tanto meno il perché della sua presenza in quel luogo e solo seguendo indizi disseminati precedentemente da lui stesso potrà scoprire il suo vero obiettivo. Insomma, una storia solo all'apparenza scontata e ripetitiva, visto che il giocatore rimaneva comunque coinvolto negli eventi.
Ma la casa francese non ha dato i natali solo a giochi di avventura o di azione: dalle menti dei suoi sviluppatori è anche nata la fortunata serie di Moto Racer, uscita per PC, Amiga e Playstation. Dare gas su una superbike o una motocross ed impennare di potenza tirando ogni curva al limite ha rappresentato per molti anni la massima goduria per i videogiocatori di ogni età. Le diverse visuali, la possibilità di personalizzare la moto e la giocabilità estrema hanno dato il via ad un sviluppo sempre più importante nel campo della simulazione di guida sulle due ruote ed ancora oggi tutta la potenza e la grafica particolareggiata dei titoli di questo genere non riescono a far dimenticare il divertimento provato all'epoca.
Sfortunatamente la Delphine Software non esiste più: nel 2004 è fallita per bancarotta ed i suoi sviluppatori, grafici e compositori hanno trovato altri lidi dove esprimersi. Cuisset nel 2005 ha fondato la VectorCell ed attualmente sta sviluppando il survival horror The 7th Seal per PlayStation 3 ed XBox 360 mentre nell'estate del 2011 uscirà su PSN, Xbox Live e Steam il videogioco di "simulazione divina" From Dust, creato da Chahi e distribuito da Ubisoft.
Il lavoro fatto dalla Delphine Software International è stato fonte di ispirazione per molti e passatempo graditissimo per ancor più giocatori: speriamo che tutto ciò non venga completamente dimenticato dalle nuove generazioni.
No post data.
| Query | Affected | Num. rows | Took (ms) | Actions |
|---|---|---|---|---|
| SELECT `Article`.`id`, `Article`.`title`, `Article`.`slug`, `Article`.`abstract`, `Article`.`body`, `Article`.`vote`, `Article`.`game_id`, `Article`.`type_id`, `Article`.`good`, `Article`.`bad`, `Article`.`expiration_date`, `Article`.`publish_date`, `Article`.`stub`, `Article`.`created`, `Article`.`modified`, `Article`.`thread_id`, `Article`.`author_id`, `Article`.`image_link`, `Author`.`id`, `Author`.`username`, `Author`.`password`, `Author`.`email`, `Author`.`birthdate`, `Author`.`role_id`, `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link`, `Type`.`id`, `Type`.`name` FROM `articles` AS `Article` LEFT JOIN `users` AS `Author` ON (`Article`.`author_id` = `Author`.`id`) LEFT JOIN `games` AS `Game` ON (`Article`.`game_id` = `Game`.`id`) LEFT JOIN `types` AS `Type` ON (`Article`.`type_id` = `Type`.`id`) WHERE `Article`.`slug` = 'c-era-una-volta-la-delphine-software' LIMIT 1 | 1 | 1 | 1 | |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified`, `ArticlesPlatform`.`id`, `ArticlesPlatform`.`article_id`, `ArticlesPlatform`.`platform_id` FROM `platforms` AS `Platform` JOIN `articles_platforms` AS `ArticlesPlatform` ON (`ArticlesPlatform`.`article_id` = 6 AND `ArticlesPlatform`.`platform_id` = `Platform`.`id`) | 0 | 0 | 1 | maybe slow |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified` FROM `platforms` AS `Platform` WHERE 1 = 1 | 7 | 7 | 0 | |
| SELECT `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link`, `GamesPlatform`.`id`, `GamesPlatform`.`game_id`, `GamesPlatform`.`platform_id` FROM `games` AS `Game` JOIN `games_platforms` AS `GamesPlatform` ON (`GamesPlatform`.`platform_id` IN (1, 2, 4, 5, 6, 7, 8) AND `GamesPlatform`.`game_id` = `Game`.`id`) | 229 | 229 | 3 | |
| SELECT `Article`.`id`, `Article`.`title`, `Article`.`slug`, `Article`.`abstract`, `Article`.`body`, `Article`.`vote`, `Article`.`game_id`, `Article`.`type_id`, `Article`.`good`, `Article`.`bad`, `Article`.`expiration_date`, `Article`.`publish_date`, `Article`.`stub`, `Article`.`created`, `Article`.`modified`, `Article`.`thread_id`, `Article`.`author_id`, `Article`.`image_link`, `ArticlesPlatform`.`id`, `ArticlesPlatform`.`article_id`, `ArticlesPlatform`.`platform_id` FROM `articles` AS `Article` JOIN `articles_platforms` AS `ArticlesPlatform` ON (`ArticlesPlatform`.`platform_id` IN (1, 2, 4, 5, 6, 7, 8) AND `ArticlesPlatform`.`article_id` = `Article`.`id`) | 7 | 7 | 1 | maybe slow |
| SELECT `News`.`id`, `News`.`title`, `News`.`slug`, `News`.`body`, `News`.`abstract`, `News`.`expiration_date`, `News`.`publish_date`, `News`.`game_id`, `News`.`author_id`, `News`.`source`, `News`.`source_link`, `News`.`news_thumb`, `News`.`stub`, `News`.`created`, `News`.`modified`, `News`.`thread_id`, `NewsPlatform`.`id`, `NewsPlatform`.`news_id`, `NewsPlatform`.`platform_id` FROM `news` AS `News` JOIN `news_platforms` AS `NewsPlatform` ON (`NewsPlatform`.`platform_id` IN (1, 2, 4, 5, 6, 7, 8) AND `NewsPlatform`.`news_id` = `News`.`id`) | 334 | 334 | 13 | |
| SELECT `Article`.`id`, `Article`.`title`, `Article`.`slug`, `Article`.`abstract`, `Article`.`body`, `Article`.`vote`, `Article`.`game_id`, `Article`.`type_id`, `Article`.`good`, `Article`.`bad`, `Article`.`expiration_date`, `Article`.`publish_date`, `Article`.`stub`, `Article`.`created`, `Article`.`modified`, `Article`.`thread_id`, `Article`.`author_id`, `Article`.`image_link`, `Author`.`id`, `Author`.`username`, `Author`.`password`, `Author`.`email`, `Author`.`birthdate`, `Author`.`role_id`, `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link`, `Type`.`id`, `Type`.`name` FROM `articles` AS `Article` LEFT JOIN `users` AS `Author` ON (`Article`.`author_id` = `Author`.`id`) LEFT JOIN `games` AS `Game` ON (`Article`.`game_id` = `Game`.`id`) LEFT JOIN `types` AS `Type` ON (`Article`.`type_id` = `Type`.`id`) WHERE `type_id` = 1 AND `Article`.`publish_date` < '2013-05-21 09:47:29' AND ((`Article`.`expiration_date` > '2013-05-21') OR (`Article`.`expiration_date` IS NULL)) AND NOT (`Article`.`stub` = '1') ORDER BY `Article`.`vote` DESC LIMIT 10 | 1 | 1 | 1 | |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified`, `ArticlesPlatform`.`id`, `ArticlesPlatform`.`article_id`, `ArticlesPlatform`.`platform_id` FROM `platforms` AS `Platform` JOIN `articles_platforms` AS `ArticlesPlatform` ON (`ArticlesPlatform`.`article_id` = 7 AND `ArticlesPlatform`.`platform_id` = `Platform`.`id`) | 2 | 2 | 0 | |
| SELECT `Banner`.`id`, `Banner`.`caption`, `Banner`.`img_banner`, `Banner`.`article_id`, `Banner`.`news_id`, `Banner`.`link`, `Banner`.`visible`, `Banner`.`publish_date`, `Banner`.`expiration_date`, `Banner`.`modified`, `Banner`.`created`, `Article`.`id`, `Article`.`title`, `Article`.`slug`, `Article`.`abstract`, `Article`.`body`, `Article`.`vote`, `Article`.`game_id`, `Article`.`type_id`, `Article`.`good`, `Article`.`bad`, `Article`.`expiration_date`, `Article`.`publish_date`, `Article`.`stub`, `Article`.`created`, `Article`.`modified`, `Article`.`thread_id`, `Article`.`author_id`, `Article`.`image_link`, `News`.`id`, `News`.`title`, `News`.`slug`, `News`.`body`, `News`.`abstract`, `News`.`expiration_date`, `News`.`publish_date`, `News`.`game_id`, `News`.`author_id`, `News`.`source`, `News`.`source_link`, `News`.`news_thumb`, `News`.`stub`, `News`.`created`, `News`.`modified`, `News`.`thread_id` FROM `banners` AS `Banner` LEFT JOIN `articles` AS `Article` ON (`Banner`.`article_id` = `Article`.`id`) LEFT JOIN `news` AS `News` ON (`Banner`.`news_id` = `News`.`id`) WHERE `visible` = '1' ORDER BY `Banner`.`publish_date` DESC, `Banner`.`id` DESC | 4 | 4 | 1 | maybe slow |
| SELECT `Article`.`id`, `Article`.`title`, `Article`.`slug`, `Article`.`abstract`, `Article`.`body`, `Article`.`vote`, `Article`.`game_id`, `Article`.`type_id`, `Article`.`good`, `Article`.`bad`, `Article`.`expiration_date`, `Article`.`publish_date`, `Article`.`stub`, `Article`.`created`, `Article`.`modified`, `Article`.`thread_id`, `Article`.`author_id`, `Article`.`image_link`, `Author`.`id`, `Author`.`username`, `Author`.`password`, `Author`.`email`, `Author`.`birthdate`, `Author`.`role_id`, `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link`, `Type`.`id`, `Type`.`name` FROM `articles` AS `Article` LEFT JOIN `users` AS `Author` ON (`Article`.`author_id` = `Author`.`id`) LEFT JOIN `games` AS `Game` ON (`Article`.`game_id` = `Game`.`id`) LEFT JOIN `types` AS `Type` ON (`Article`.`type_id` = `Type`.`id`) WHERE `Article`.`id` = 6 LIMIT 1 | 1 | 1 | 1 | |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified`, `ArticlesPlatform`.`id`, `ArticlesPlatform`.`article_id`, `ArticlesPlatform`.`platform_id` FROM `platforms` AS `Platform` JOIN `articles_platforms` AS `ArticlesPlatform` ON (`ArticlesPlatform`.`article_id` = 6 AND `ArticlesPlatform`.`platform_id` = `Platform`.`id`) | 0 | 0 | 1 | maybe slow |
| SELECT `News`.`id`, `News`.`title`, `News`.`slug`, `News`.`body`, `News`.`abstract`, `News`.`expiration_date`, `News`.`publish_date`, `News`.`game_id`, `News`.`author_id`, `News`.`source`, `News`.`source_link`, `News`.`news_thumb`, `News`.`stub`, `News`.`created`, `News`.`modified`, `News`.`thread_id`, `Author`.`id`, `Author`.`username`, `Author`.`password`, `Author`.`email`, `Author`.`birthdate`, `Author`.`role_id`, `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link` FROM `news` AS `News` LEFT JOIN `users` AS `Author` ON (`News`.`author_id` = `Author`.`id`) LEFT JOIN `games` AS `Game` ON (`News`.`game_id` = `Game`.`id`) WHERE `News`.`id` = 52 LIMIT 1 | 1 | 1 | 1 | |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified`, `NewsPlatform`.`id`, `NewsPlatform`.`news_id`, `NewsPlatform`.`platform_id` FROM `platforms` AS `Platform` JOIN `news_platforms` AS `NewsPlatform` ON (`NewsPlatform`.`news_id` = 52 AND `NewsPlatform`.`platform_id` = `Platform`.`id`) | 1 | 1 | 1 | |
| SELECT `News`.`id`, `News`.`title`, `News`.`slug`, `News`.`body`, `News`.`abstract`, `News`.`expiration_date`, `News`.`publish_date`, `News`.`game_id`, `News`.`author_id`, `News`.`source`, `News`.`source_link`, `News`.`news_thumb`, `News`.`stub`, `News`.`created`, `News`.`modified`, `News`.`thread_id`, `Author`.`id`, `Author`.`username`, `Author`.`password`, `Author`.`email`, `Author`.`birthdate`, `Author`.`role_id`, `Game`.`id`, `Game`.`title`, `Game`.`slug`, `Game`.`description`, `Game`.`release_date`, `Game`.`developer_id`, `Game`.`publisher_id`, `Game`.`esrb_id`, `Game`.`website`, `Game`.`img_cover`, `Game`.`image_link`, `Game`.`created`, `Game`.`modified`, `Game`.`affiliate_link` FROM `news` AS `News` LEFT JOIN `users` AS `Author` ON (`News`.`author_id` = `Author`.`id`) LEFT JOIN `games` AS `Game` ON (`News`.`game_id` = `Game`.`id`) WHERE `News`.`id` = 33 LIMIT 1 | 1 | 1 | 1 | |
| SELECT `Platform`.`id`, `Platform`.`name`, `Platform`.`alias`, `Platform`.`description`, `Platform`.`website`, `Platform`.`created`, `Platform`.`modified`, `NewsPlatform`.`id`, `NewsPlatform`.`news_id`, `NewsPlatform`.`platform_id` FROM `platforms` AS `Platform` JOIN `news_platforms` AS `NewsPlatform` ON (`NewsPlatform`.`news_id` = 33 AND `NewsPlatform`.`platform_id` = `Platform`.`id`) | 1 | 1 | 0 |
| Query | Affected | Num. rows | Took (ms) | Actions |
|---|---|---|---|---|
| SELECT `SmfMember`.`member_name`, `SmfMessage`.* FROM `smf_messages` AS `SmfMessage` LEFT JOIN `smf_members` AS `SmfMember` ON (`SmfMessage`.`id_member` = `SmfMember`.`id_member`) LEFT JOIN `smf_boards` AS `SmfBoard` ON (`SmfMessage`.`id_board` = `SmfBoard`.`id_board`) LEFT JOIN `smf_topics` AS `SmfTopic` ON (`SmfMessage`.`id_topic` = `SmfTopic`.`id_topic`) WHERE `SmfMessage`.`id_topic` = 224 ORDER BY `poster_time` DESC | 1 | 1 | 1 |
Peak Memory Use 21.88 MB
| Message | Memory use |
|---|---|
| Component initialization | 4.39 MB |
| Controller action start | 6.01 MB |
| Controller render start | 12.97 MB |
| View render complete | 15.25 MB |
Total Request Time: 3571 (ms)
| Message | Time in ms | Graph |
|---|---|---|
| Core Processing (Derived from $_SERVER["REQUEST_TIME"]) | 80.46 | |
| Component initialization and startup | 12.46 | |
| Controller action | 174.77 | |
| Render Controller Action | 135.47 | |
| » Rendering View | 132.73 | |
| » » Rendering APP/View/Articles/content.ctp | 84.96 | |
| » » Rendering APP/View/Layouts/content.ctp #2 | 5.66 | |
| » » » Rendering APP/View/Elements/framescreen.ctp | 0.33 | |
| » » » Rendering APP/View/Elements/vociscreen.ctp | 0.61 | |
| » » » Rendering APP/View/Elements/adsense_top.ctp | 0.16 | |
| » » » Rendering APP/View/Elements/adsense_topmenu.ctp | 0.13 | |
| » » » Rendering APP/View/Elements/searchbox.ctp | 0.13 | |
| » » » Rendering APP/View/Elements/menu_platforms.ctp | 0.47 | |
| » » » Rendering APP/View/Elements/related_news.ctp | 0.51 | |
| » » » » Rendering APP/View/Elements/adsense_sidebar_sx.ctp | 0.19 | |
| » » » Rendering APP/View/Elements/top10.ctp | 0.17 | |
| » » » Rendering APP/View/Elements/share.ctp | 0.43 | |
| » » » » Rendering APP/View/Elements/adsense_sidebar_dx.ctp | 0.14 | |
| » » » Rendering APP/View/Elements/footer.ctp | 0.15 | |
| » » » Rendering APP/View/Elements/link_sites.ctp | 0.13 |