ENIGMA/it

From ENIGMA
Jump to navigation Jump to search

ENIGMA, the Extensible Non-Interpreted Game Maker Augmentation, e un ambiente di sviluppo open source multi-piattaforma derivato da un famoso software Game Maker. L'intenzione è di fornirti un sistema di creazione di giochi che ha capacita di interfacciare un linguaggio ad alto e basso livello in coesistenza. A tale scopo abbiamo integrato una IDE, nominata, suo progetto sorella, LateralGM, o abbiamo una interfaccia da riga di comando. Come Game Maker , ENIGMA comprende una scelta tra l'uso di un sistema Drag & Drop e un sistema basato sul linguaggio di programmazione. Questo linguaggio chiamato EDL, e un mix tra C++ e il linguaggio appartenente a Game Maker GML. Una parte degli obbiettivi di ENIGMA è avere una buona compatibilità con Game Maker, ciò puo' essere utile per compilare progetti in Game Maker, ad ogni modo, EDL offre molto potenti caratteristiche non presenti nell'alternativa. Alcune features includono l'abilità di compilare DLL e altri script in C/C++ e accedere alle funzioni , tipi e modelli in C++. EDL adotta il GML tradotto poi correttamente in C++ per la compilazione.La quale e' in grado di ottimizare grandezza e performance del linguaggio incredibilmente, mantenendo una semplicità d'uso impressionante.

Perchè usare Enigma al posto di Game Maker

ENIGMA è elaborato per essere il più compatibile possibile con Game Maker. Dunque puoi caricare e salvare file come GM con LateralGM per poi compilarli con ENIGMA. Quando ENIGMA avrà un set di funzioni completo si potrà raggiungere piena compatibilità con Game Maker, beneficiando anche dei vantaggi di ENIGMA:

  • Maggiore velocità proveniente dal linguaggio interpretato a quello compilato. (Per un conteggio basico di cicli si può notare una velocità intorno alle 150volte in più)
  • Portabilità abbiamo disponibili molte piattaforme e opzioni di sistema.
  • Sicurezza accresciuta nel processo di compilazione. E' molto difficile decompilare allo stato di C++ del codice sorgente, i commenti della sorgente vengono oscurati come anche le variabili modificate, quindi è difficile avere un codice integro se decompilato.
  • Una riduzione del tempo di inizio (tra 40 e 93 per cento, dipende dalla piattaforma)
  • L'abilità a creare e accedere alle funzioni , tipi e modelli in C++.
  • L'abilità di compilare DLL e altri script C/C++ giusto nel programma.
  • Aumentate potenzialità di debugging
    • Acesso a ub numero di teccniche classiche di debugging di C/C++ (scritte nella console)
    • Abilità di usare debuggers (gdb)
    • Accesso al codice risultante C++
    • Costruttore di ENIGMA Design Mode
  • Non creato dalla YoyoGames, inoltre:
    • completamente gratuito
    • Sorgente aperta (Open source)
    • Con correzione regolare di bug
    • E attualmente gli sviluppatori ti ascoltano
  • Molti altri migliaoramenti , aggiunte , con flessibilità aumentata.

Perchè usare ENIGMA invece che C++

ENIGMA offre maggiori benefici dall'usare il solo linguaggio C:

  • Un engine precostruito e una semplice interfaccia che accetta anche codice C/C++.
  • Funzioni ad alto livello , e variabili con varianti datatypes. Arrays con nessun rischio di sovraccarico.
  • Resources are included for you in the engine, no additional work is required to load them.
  • Sintassi permissiva e un sistema di tabulatura amichevole (con autocompletamento). Semicolonne non sono richieste, i modelli (templates) non richiedono parametri e var (la variabile) puo' essere rappresentata da testo o numeri.
  • Piu' grande facilità d'uso, specialmente per quelli che hanno poca dimestichezza nel programmare, viene consentito l'apprendimento della logica della programmazione sotto un pratico ambiente di sviluppo.

In ogni caso , si comprende, che ENIGMA per queste ragioni può presentare più lentezza nella gestione di istanze e risorse rispetto al C++. Molta cura è stata posta per ogni sistema al fine di garantire una differenza insignificante. In ogni caso la riduzione di velocità rispetto al C++ puro è giustificata dal linguaggio permissivo. Possiamo avere opzioni per l'ottimizzazione nella gestione del codice.

I Data types sono dinamici se non dichiarati, ma diversamente da GameMaker, abbiamo la possibilità di dichiararli. Si può cambiare tra i Data types anche se non dichiarati specificamente, ovviamente se dichiarati manualmente viene consumata meno memoria.

Prove

Volete prove delle potenzialità di ENIGMA? Date un occhiata ai nostri giochi: http://enigma-dev.org/edc/games.php?action=list

Notate molti di questi giochi sono creati con Game Maker, ENIGMA può farli girare molto più velocemente di Game Maker se compilati con esso. Molti di questi giochi possono andare più veloci grazie al vantaggio delle funzioni extra di ENIGMA.

Gli sviluppatori di ENIGMA

ENIGMA è sviluppato e mantenuto da un consistente numero di individuali.

Controllo missione

Josh Ventura Iniziatore del progetto ENIGMA. Sviluppatore primario; Ha scritto codice inclusi i parser.
IsmAvatar Iniziatore del progetto LateralGM. Ha scritto il codice Xlib che consente ad ENIGMA di lavorare anche sotto Linux, un sistema basato su BBox per la gestione delle collisioni, un sistema di gestione reti basato su socket. Ha sponsorizzato gran parte dei server del progetto ENIGMA.
Goombert Lavora al cuore del compilatore per il motore di gioco , è il designer di questo wiki favoremdo molta documentazione, inoltre è lo sviluppatore di testa di wxENIGMA ,un'interfaccia alternativa a LateralGM, multipiattaforma.

Gli architetti

TGMG Ha scritto un largo numero di portali per ENIGMA a altri systemi operativi, inclusi Android e Iphone. Ha aiutato con alcune risorse come gli sfondi.
Harijs Grīnbergs Ha completato il set delle funzioni relative alle sprites, agli sfondi , alle path, alle surfaces e al testo (draw_text_*).
Polygone Amministratore del forum e del wiki principale. Ha contribuito alle strutture di dati relative a GM , molte funzioni di Windows, molte funzioni d3d relative a GM e altri bits di codice qua e là ,come ad esempio in relazione a bug testing e debug.
Forthevin Implemented pixel perfect collisions and has sorted out various issues that were in enigma.

Web Developers/Graphics Artists

a2h Site creator, manager and designer. He claims to be able to dream in code (although it's highly doubted).
Gary "MahFreenAmeh" Warman sysadmin, web dev, music connoisseur, hacker d-luxe; ready for work at any time. Designed several components of the site that "just needed to work".
Zane "Obelisk" The god of the original ENIGMA logo (A PNG version of the current vector).
Mitch Works on the ENIGMA Community (the one with the blogs and games). He also made the original version of the bugtracker.
"fede-lasse" Designed an ENIGMA resource pack for free use.
Owen "Zekian" Delahoy The blogs and games side of the ENIGMA Community is also improved on by Owen, who lovingly(?) squeezes more goodness out of it.
Noodle Redesigned the third iteration of the ENIGMA site design. This design, the fourth one, retains only one thing from his redesign. The text color.
Sir Xemic/C-Ator9 Designed the original ENIGMA ambigram
Juju Potential author of the help file.

Desperados

Dazappa Contributed a Java-written e-YAML parser so IsmAvatar could read ENIGMA's ey files. Also fixed a few LateralGM tasks/bugs.
RetroX Contributed a few movement functions and designed Linux install packages.
Datzach Went through a phrase of adding a load of remaining GM functions, mainly Winapi related functions for Windows.
r9k Author of ENIGMA's soon-to-exist polygon-based collision system.
Dave Contributed the skeleton of the surface system, as well as a dysfunctional font system he wrote without compiling it even once. Quite impressive.
Serprex A brilliant coder, knowing all there is to know about optimization. His sense of motivation is screwy, and he has screwed some functions up (which Josh will remember always), but he's redone several key functions.
Rusky The poor guy who got datastacks pushed onto him. (Pun) Though he did finish stacks, the rest are yet to be done (So they'll probably be redone by someone else). Rusky strives to keep everyone else in line.
Sir Xemic/C-Ator9 Drafted several mathy functions in GML, including draw_ellipse, draw_roundrect, and make_color_hsv.
"fede-lasse" Contributed small strings of functions here and there.
Cheeseboy cheeseboy (noun): One fat cheeseball that relentlessly tortures unwilling victims (josh) into submission until they get what they want. Often ideal for parser testing due to their horrendous coding habits.
Everyone else Thank you for all the help!