Pagina 1 din 2

BGT este gratuit ()free)

Scris: 01 Iun 2014, 14:37
de Manu
Iata ca a ajuns ca BGT sa fie un program gratuit, de acum oricine poate crea fisiere .EXE, poate utiliza functii valabile de la versiunea Lite in sus, precum: utilizarea mouse-ului, implementarea joystick-ului, crearea pachetelor de sunete si multe altele.

A hotarat Philip astfel pentru ca nu vrea sa se mai ocupe in mod constant de dezvoltarea BGT, si astfel poate incurajeaza lumea sa utilizeze mai mult unealta. Va face mici actualizari necesare din cand in cand.

Acum a aparut asadar versiunea 1.3 (revision 2), care are cateva noutati pe langa cea ca este free si nu mai trebuie introdusa vreo cheie.

Dupa link-ul de descarcare, pun si What's new in 1.3 (revision 2):
Descarcare bgt_english_installer.exe
Version 1.3 (revision 2):
* Re-released the engine as freeware. All features that used to be exclusive to the paid versions of the engine are now available for free. Enjoy!
* Removed the "check for updates" feature. New releases will be announced on the Blastbay website as well as in the forum, which has an rss feed.
* Added the ability to specify a custom port number as part of an http request (sponsored by Valiant Galaxy Associates and Alter Aeon).
* Fixed a very serious problem in the audio subsystem that would cause random crashes and hangs.
* Set an upper bound of 10000 by 10000 for the size of a pathfinder map.
* Made the calendar object verify that the parameters given to the set method are in range, as wildly incorrect arguments could actually result in crashes.
* Fixed a crash that would occur in the tone synth due to incorrectly calculated sample offsets when calling rewind or rewind_ms (thanks Corey).
* The max_distance property in the sound_pool include class is now sound specific, which means that different sounds can have different max distances rather than just one global setting (thanks Aaron).
* Fixed a runtime error that would sometimes occur in the audio_form include class when using multiline input fields (thanks Aaron).
* Updated the language tutorial with some information about uninitialized variable usage (thanks Aaron).
* Fixed some ambiguities in the documentation for the call method of the library class.
Cine vrea, de acum poate sa faca un joculet fara probleme, fara sa arate sursa, beneficiind de toate avantajele, inclusiv utilizarea DLL-urilor.

Scris: 03 Iun 2014, 20:53
de BosGrigore
Buna informatie. Manu, am vrut sa iau legatura cu tine sa cumperi pentru mine un BGT dar uite ca a dat norocul peste mine. Multumesc pentru informatie. Am invatat cursul de BGT atat cat este postat pe site. Ar fi bine daca ai posta si ultimele inregistrari audio daca exista.

Scris: 03 Iun 2014, 21:08
de Manu
vad ca unii mai doneaza cate 20 de euro, cica sa il incurajeze sa implementeze una alta si in viitor.

Acum lucreaza la Elias Software, o solutie pentru redarea sunetului in jocurile video. Este ceva destul de mare ca proiect, se pot face tot felul de lucruri pentru a reda fundaluri, tot felul de scene audio in jocuri mari. El spune acolo ca ajungi sa redai partea sonora a unui joc ca si cum ar fi coloana sonora a unui film.

Lumea vrea ca acesta sa fie implementat si pentru BGT, el cica acum sta pe ganduri daca are sufficient timp si nervi pentru asta.

Cine e curios de proiectul Elias, Elastic Lightweight Integrated Audio System, poate merge la www.eliassoftware.com.

Cica a fost utilizat intr-un joc numit Gauntlet, creat de Arrowhead si distribuit de Warner Bros.

Alte inregistrari din Cursul de BGT nu cred ca mai sunt, probabil te referi la eventualele de dupa a paisprezecea, cele care continua dezvoltarea jocului Pontes Escape... ca pana acolo sunt toate.

Scris: 04 Iun 2014, 12:39
de BosGrigore
Da, ma refer la inregistrarile de dupa a paisprezecea inregistrare daca exista.

Scris: 06 Iun 2014, 01:52
de Manu
Eu nu am alte inregistrari, nu mai stiu daca a inregistrat cumva Cornel. Adevarul e ca nu m-as fi gandit ca cineva va urmari chiar pana acolo, mai ales partea in care lucram la joc, o parte destul de alambicata si greu de inteles, cu modificari si rasmodificari destul de aleatorii.
Ati reusit sa intelegeti toti pasii care au dus la Pontes Escape?

Scris: 06 Iun 2014, 18:34
de Vlad_Ciotescu
Si eu fac programare cu unchiul meusi mi-a spus ca bgt e free dar am o problema. nu stiu cum sa transform dintr-un folder cu sunete intr-un pachet. Explicati-mi putin sintaxa va rog.

Scris: 07 Iun 2014, 00:43
de Manu
Pun mai jos un cod care face ca toate fisierele .ogg dintr-un folder, cel in care se va afla scriptuletul, sa fie adaugate intr-un pachet numit "sounds.dat". Fiecare fisier va avea in pachet extensia .dat.
Asadar, in final va fi "sounds.dat" un singur fisier care va contine toate fisierele de sunet cu extensia .dat, nu .ogg.
Fisierele vor fi encriptate cu cheia "abcdef".

Pentru a reda apoi in joc fisierele din pachet, trebuie sa utilizezi functia set_sound_storage(), la parametru punand numele fisierului pachet de sunete, deci set_sound_storage("sounds.dat"), asta daca e in acelasi folder cu exe-ul final, altfel pui si calea pana la el.

mai trebuie sa utilizezi si functia care sa considere din start ca toate fisierele trebuie decriptate:
set_sound_decryption_key("abcdef", false);
Primul parametru la functia de mai sus este cheia cu care au fost encriptate fisierele, al doilea este false pentru a nu considera ca toate fisierele sunt encriptate, ci sa accepte si ca unele pot fi neencriptate, utilizate prin joc din alta parte decat din pachetul tau de sunete.

Asadar, codul:

Cod: SelectaĊ£i tot

void main() {
// Instantiem un obiect din clasa pack_file, il denumim "jocul_meu":
pack_file jocul_meu;
// Cream fisierul care va include fisierele, gol deocamdata:
jocul_meu.create("sounds.dat");
// Cautam toate fisierele .ogg, vor fi intr-un array de tip string:
string[] each=find_files("*.ogg");

// Mergem prin tot array-ul creat anterior pentru a ne ocupa de fiecare .ogg in parte:
for(uint x=0; x<each.length(); x++) {
// Preluam intr-un string cate un nume de fisier .ogg:
string one=each[x];
// Il cream pe al doilea cu extensia schimbata din .ogg in .dat:
string two=string_trim_right(one, 4)+".dat";
// Encriptam fisierul .dat cu cheia "abcdef":
file_encrypt(one, two, "abcdef");
// Adaugam fisierul .dat encriptat in pachet:
jocul_meu.add_file(two, two);
} // sfarsit for.
jocul_meu.close();
exit();
}
In final, avand toate aceste premise, vei putea reda un sunet numit initial "pocnet.ogg" in felul urmator undeva in joc:

Cod: SelectaĊ£i tot

sound s;
s.load("pocnet.dat");
s.play();
Desigur ca nu e necesara schimbarea extensiei, nici encriptarea fisierelor, eu am facut asa la table, cu alte extensii si alta cheie de encriptare, am schimbat doar cu find and replace denumirile pentru a putea pune codul aici.

Scris: 07 Iun 2014, 08:16
de Vlad_Ciotescu
va multumesc. pacat ca le-ati encriptat pe cele de la duel ca vroiam sa fur sunetele de la revolvers

Scris: 07 Iun 2014, 15:36
de BosGrigore
Pina la Pontes Escape am inteles tot. Am urmarit partea audio si pas cu pas am reusit sa inteleg toate codurile sursa si am incercat fiecare cod in parte.

Scris: 07 Iun 2014, 15:51
de Manu
Ma bucur ca totusi a utilizat cineva cu adevarat inregistrarile. Tot timpul sunt de parere sa fie cat mai multe lucruri, chiar daca la prima vedere nu prea ar fi utilizate. Niciodata nu se stie cand apare cineva care chiar se poate bucura de ele.

De exemplu la table spuneau unii ca ce rost au atatea amanunte la statistici. Saptamana trecuta a cumparat cineva din Arabia Saudita jocul, iar in mesajul in care imi cerea cheia spunea ca primul lucru care l-a determinat sa il ia au fost statisticile amanuntite, ca lui ii pare rau ca nu fac si altii la fel, sa vezi exact cat si cum ai jucat, sa se poata face comparatii etc.

Scris: 30 Sep 2014, 14:02
de BosGrigore
Am realizat un joc in bgt si dupa compilare cu bgt 1.3 free fisierul executabil este detectat de catre antivirusul AVAST ca fiind un virus si fisierul este sters automat din calculator.
Sa fie o problema din bgt?
Daca opresc antivirusul jocul functioneaza bine.
Manu, posteaza un joc simplu compilat cu bgt free sa vad daca este detectat ca virus de catre AVAST.
Multumesc!

Scris: 01 Oct 2014, 00:34
de Manu
La repezeala am gasit un cronometru pe care il incepusem acum cativa ani, pe la inceputurile BGT.
L-am pus cu tot cu fisiere audio cu numere, inregistrate cu Wintalker.
Stiu ca utilizasem clasa number_speaker care combina fisiere audio astfel incat sa iasa toate numerele posibile.
Daca tot il pun, mentionez ca cu F5 se intreaba cat sa ruleze, F2 spune cat timp a trecut si spatiul pune pe pauza. Cam pe acolo m-am oprit.
Descarcare Cronometru in BGT (7,07 MB)

Unele programe Antivirus sunt mai dure, sterg se pare cam tot ce vad cu .EXE si nu e cat de cat clar de unde provin.

AVG nu se baga chiar atat de tare.

Scris: 01 Oct 2014, 09:03
de BosGrigore
Se intampla aceleasi fenomene si cu cronometru. La descarcare este detectat ca virus si se poate descarca doar cu antivirusul oprit sau disable o perioada de timp. Dupa dezarhivare executabilul este sters automat de catre antivirus, daca acesta este pornit.
Poate fi o problema din compilatorul bgt?
De exemplu, executabilele realizate in c++ sunt ok.

Scris: 01 Oct 2014, 09:44
de IonPop
S-ar putea ca BGT sa nu fie un limbaj in care programele sunt compilate in cod nativ, ci unul cu care se creaza scripturi care pot fi rulate si programe necompilate, iar pentru a crea un executabil din script, se creaza un pachet care include atat programul executabil care ruleaza scriptul cat si scriptul propriu zis.

De asta poti sa iti dai seama dupa marimea programelor create. Daca creezi un program simplu care nu face altceva decat ca afiseaza un mesaj, iar programul executabil va avea in jur de un megabyte sau chiar mai mult, atunci nu este un cod nativ. Daca are doar 3 - 5 kb sau mai putin, atunci ori este cod nativ, ori foloseste o masina virtuala de genul celei folosite de DotNet.

Problema scripturilor impachetate in fisiere executabile este aceea ca antivirusii mai putin capabili ii pot considera virusi datorita modului de lucru, fiindca in momentul primei executari a lor, ei dezarhiveaza in directorul temp niste fisiere incluse si apoi le ruleaza, ceea ce poate parea suspect din punctul de vedere al antivirusului.
Antivirusii mai buni stiu ca exista programe care creaza astfel de fisiere executabile si cunosc semnaturile lor asa ca nu considera acele programe ca fiind virusi.
In concluzie, daca dupa testul cu marimea fisierelor executabile rezulta ca BGT creaza scripturi impachetate, atunci ori trebuie sa schimbi antivirusul, ori limbajul, ori sa le scri producatorilor antivirusului despre aceasta problema si sa astepti pana cand o vor rezolva si vor lansa o noua versiune.

Daca BGT creaza executabile reale, ca cele create de C++ sau C, de dimensiuni mici, iar antivirusul le vede ca pe niste virusuri, atunci antivirusul e chiar prost si ar fi bine sa fie schimbat.

Vezi totusi daca nu are antivirusul o optiune de a ignora anumite fisiere.

Scris: 02 Oct 2014, 03:54
de Manu
Da, BGT este cod interpretat, interpretorul fiind inclus in acel EXE.
Este la fel ca AutoIt, si in acel caz li se parea unor programe Antivirus ca e vorba de ceva periculos.
Eu zic ca AVG e destul de bun, nu am auzit sa fie probleme, e tot gratuit si nu mi-a spus niciodata de vreun BGT ca e virus.
Dar daca instalezi unul dintre pachetele .EXE cu vreun joc facut de mine, se intampla la fel? Adica il sterge sau nu permite deloc instalarea?