AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal

 

 [Purebasic] Présentation et tutoriaux

Aller en bas 
+5
Sekigo Le Magnifique
onilink_
DarkYoshi
ombre
blendman
9 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 22 Fév 2011 - 17:42

yop les amis des animaux.

Récemment, je me suis mis au Purebasic, grâce à Ombre Wink.
Ainsi, jai pu découvrir un langage assez simple et plutôt complet, performant et agréable à utiliser.
En quelques mots, je pourrais dire ce langage est presque une pure ... merveille Smile.

J'ai vu le sujet de Sekigo sur python, et je me suis dit que ce serait préférable de ré-écrire ce sujet, pour tous ceux que ça intéresse, afin de mieux présenter le purebasic et les possibilités qu'il offre.

Note :
Bien entendu, tout comme Sekigo, ce thread sera uniquement subjectif, et ce n'est là que mon avis personnel.
Il est par contre possible de comparer le langage Purebasic (comprendre le code) avec d'autres langages pour aider à la compréhension


Tout d'abord, c'est quoi ce purebasic ?
Spoiler:

Que peut-on faire avec le Purebasic ?
Spoiler:

Avec quel outil code-t-on ?
Spoiler:

Il est comment cet éditeur purebasic ?
Spoiler:
Spoiler:

Et le code dans tout ça ?
Spoiler:

Un exemple (vraiment très simple) de code pour ceux que ça intéresse :
Spoiler:

Niveau performance, ça donne quoi ?
Spoiler:

On peut voir des exemples d'applications ou de jeux réalisés avec purebasic ?
Spoiler:

Bon, tu m'as convaincu, je peux le télécharger où cet éditeur ?
Spoiler:

Maintenant quelques tutoriaux :
Spoiler:


Si vous avez des remarques ou que vous voulez partager du code, n'hésitez pas à poster Wink.

Revenir en haut Aller en bas
http://blendman.blogspot.com/
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 1 Mar 2011 - 14:59

Je me permets un petit up, car après avoir lu le superbe sujet sur Python de Sekigo, je me suis permis de m'en inspirer pour présenter le langage purebasic Wink

Revenir en haut Aller en bas
http://blendman.blogspot.com/
ombre
Utilisateur confirmé: Rang ***
ombre


Messages : 689
Localisation : Dans sa batcave.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyDim 6 Mar 2011 - 22:26

Si quelqu'un est intéressé pour faire un programme codé en C visant à tester le langage en effectuant des calculs afin de le comparer à purebasic (en faisant des calculs côtés purebasic aussi). Après le but serait de comparer la rapidité d’exécution du programme et la taille du .exe final. Je n'ai pas d'idée de programme à réaliser, mais un calcul mathématique bien long ferait l'affaire je penses.
Revenir en haut Aller en bas
http://www.3arks.com
DarkYoshi
Utilisateur confirmé: Rang **
DarkYoshi


Messages : 348
Localisation : Dans un caniveau
Projet Actuel : pou pou pou dipou pwet <3

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyDim 6 Mar 2011 - 22:48

Perso je pourrai pas trop aider car je connais pas le purebasic, mais les mecs de chez linuxmint s'eclatent a tester leurs OS avec des suites de fibonnacci. Aprés des calculs de pi, de racines carré ou du nombre d'or me semblent etre de bon points de departs, simple et rapide... happy1
Revenir en haut Aller en bas
http://anthony-nougarede.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyDim 6 Mar 2011 - 23:28

Ah ben j'avais justement fait un algo pour calculer des termes énormes de la suite de fibbonacci. J'essaye de retrouver ça :p

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyDim 6 Mar 2011 - 23:50

Mmmmmh. Je serais aussi intéressé, pour faire un petit benchmark python.
Après, faudrait aussi un benchmark pour "calculer" les performances en affichage 2D. Ça pourrait être intéressant.

Sinon, concernant le PureBasic. Je connaissais de nom, mais entre les PureBasic, les DarkBasic, les BlitzBasic, etc... je suis un peu paumé.
Le truc qui me gène un peu avec ce genre de langage, c'est qu'ils soient à code propriétaire. Après, j'ai bien utilisé pendant des années GM, mais si j'utilise un langage plus avancé, j'aime bien l'idée qu'il soit pérenne dans le temps, qu'il progresse constamment et que ce soit une communauté qui le fasse avancé plutôt qu'une entreprise (ou une personne).
Bien sûr, je ne diabolise pas les codes proprio, hein. C'est juste un choix personnel. Avec une entreprise à la tête d'un projet, ça assure une certaine pérennité financière, j'en suis conscient.

Ceci dit, j'ai regardé sur Wikipedia, et apparemment, il est possible de le coupler avec du C pour faire des sortes d'extensions. De plus, je trouve la syntaxe sympathique, avec l'utilisation de mots (mais là, c'est sûrement parce que je suis une formation à l'université un peu plus "littéraire" que l'informatique), et le langage est haut niveau avec tout plein de fonctionnalité intégré pour éviter de devoir réinventer la roue.
Et en plus, il est multi-platefome.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 0:52

Le purebasic est un langage sympa certes, mais a chacun ses gouts et moi perso je reste au C/C++.
Je viens de telecharger PureBasic 4.51. Déjà j'ai l'impression de me retrouver avec un GM Lite bridé vu qu'on peut pas faire plus d'un certain nombre de lignes et que certaines fonctions sont non autorisées. Bon après j'ai pas testé longtemps, juste le temps de faire un algo de test.
J'ai fait un algo en C et en purebasic, normalement les mêmes.
Les résultats sont satisfaisants pour le purebasic mais il n'arrive pas a la hauteur du C.

Appli C : ~15sec
Appli Purebasic : ~1min30

Bon j'ai fait les calculs a une seconde de marge d'erreur, mais on vois bien que le C l'emporte sur les perfs. (donc a peu près six fois plus rapide)

Bon n'aillez pas peur j'ai fait exprès de faire un code qui est tout le contraire d'optimisé :p

Voila le code purebasic :
Code:
Procedure test(x)
  res.f = x
  For i=0 To 1000
    res = 0.5 * (res + x/res)
  Next
 
  ProcedureReturn x
EndProcedure
 

OpenConsole()
ConsoleTitle ("PureBasic - Console Example:")                                             
EnableGraphicalConsole(1)
   
For i=0 To $FFFFF
  test(x)
Next

CloseConsole()
End

Les fonctions pour calculer le temps m'avaient l'air juste pour les pro user donc j'ai pas pu les utiliser.

Et pour le C :
(commande pour compiler : gcc main.c -s -Os -o test_perf.exe)
Code:
#include <stdlib.h>
#include <time.h>

float bad_sqrt(float x)
{
    float res = x;
    int i;

    for(i=0; i<1000; i++)
    {
        res = 0.5 * (res + x/res);
    }
    return res;
}

int main()
{
    clock_t start = clock();

    long int i=0;
    for(; i<0xFFFFF; i++)
    bad_sqrt(i);

    printf("Time elapsed: %f\n", ((float)clock() - start) / CLOCKS_PER_SEC);
    system("pause");

    return 0;
}


Bon faut pas ce leurrer. Un langage haut niveau seras toujours plus lent qu'un bas niveau. Après tout a des avantages et inconvénients, faut juste faire le choix.

Perso je peut pas saquer la syntaxe de pureBasic, puis j'adore ce qui est proche de la machine (et rapide noel), donc mon choix est fait.
Après chacun son truc.

Bon si y a qqn qui est chaud pour faire des tests plus précis, moi j'ai fait ça a la va vite.
(C'est surtout que ce qu'a dit ombre m'a un peu choqué, j'aurais mal imaginé que les différences de perfs entre C et purebasic soient bénignes.)
Et oui, jusqu'où irait on pour protéger son langage préféré :p

Edit : A et pour le gml ce code met 1080 sec, soit ~80x plus lent que le C (et moins précis en plus... De plus j'ai fait le test qu'avec FFFF iter et j'ai multiplié le temps par dix, mais normalement avec de gros nombre les calculs devraient être plus longs)

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 9:02

ombre a écrit:
Si quelqu'un est intéressé pour faire un programme codé en C visant à tester le langage en effectuant des calculs afin de le comparer à purebasic (en faisant des calculs côtés purebasic aussi). Après le but serait de comparer la rapidité d’exécution du programme et la taille du .exe final. Je n'ai pas d'idée de programme à réaliser, mais un calcul mathématique bien long ferait l'affaire je penses.

Je pense que ce qui serait sympa, ce sont des comparaisons qui soient aussi graphiques, comme :
- un scrolling avec le même nombre de sprite (et les mêmes sprites) et affichage d'un background tiled
- un calcul de pathfinding (là, ça risque d'être délicat peut être)

Autre chose qu'il faut prendre en compte, car les performances de l'éxecutable sont une chose, mais le temps de développement est aussi à prendre en compte.
C'est la raison pour laquelle je trouve le purebasic assez intéressant.
Personnellement, je le vois comme un très bon compromis entre game maker (et le GML), avec de meilleures performances, et le c/c++.
Je le situerai au milieu, quoique beaucoup plus proche du c/c++ niveau performance et plus proche du gml niveau apprentissage Smile.

Sekigo Le Magnifique a écrit:
Après, faudrait aussi un benchmark pour "calculer" les performances en affichage 2D. Ça pourrait être intéressant.
Oui.
Niveau performance, par exemple, en c/c++ avec la SDL, j'avais créé une scène 2D, avec juste un sol qui se répète et un scrolling et l'affichage de quelques sprites, et bien je serai très intéressé de voir un exemple réalisé avec la SDL (pas open GL), car tous les exemples que j'ai pus tester ou voir étaient largement en dessous de ce que j'ai réalisé avec pb en quelques jours.

Citation :
Sinon, concernant le PureBasic. Je connaissais de nom, mais entre les PureBasic, les DarkBasic, les BlitzBasic, etc... je suis un peu paumé.
c'est vrai que tous ces langages basé sur le basic, c'est assez difficile de s'y retrouver (sans oublier Visual basic Smile.

Je regardé un peu hier soir blitzbasic et les quelques exemples que j'ai vu ne m'ont pas du tout convaincu. J'ai l'impression que niveau performances c'est assez limité, mais je ne suis pas aller très loin.
Pour Dark Basic, par contre, les quelques démos que j'ai pu testées étaient assez intéressantes, même si on est évidemment loin d'un jeu avec un moteur comme Unreal.
Mais si on compare ça à la SDL, une fois de plus, la SDL ne fait pas le poids.


Citation :
Le truc qui me gène un peu avec ce genre de langage, c'est qu'ils soient à code propriétaire. Après, j'ai bien utilisé pendant des années GM, mais si j'utilise un langage plus avancé, j'aime bien l'idée qu'il soit pérenne dans le temps, qu'il progresse constamment et que ce soit une communauté qui le fasse avancé plutôt qu'une entreprise (ou une personne).
Je suis assez d'accord avec toi en général, même si pour purebasic, je pense que c'est plus nuancé.
Par exemple, une fois que l'on acheté la licence, on a le droit d'avoir les mises gratuitement, à vie.
Et ça c'est quand même assez peu commun, il faut bien l'avouer.

Sinon, ce n'est que le compilateur/'Ide" de purebasic qui est payant, pas le langage.
Il existe d'autres éditeurs (ide) comme japbe (pas testé). Concernant les compilateurs, je ne sais pas s'il en existe.

Citation :
Avec une entreprise à la tête d'un projet, ça assure une certaine pérennité financière, j'en suis conscient.
tout à fait. En plus, personnellement, cela ne me dérange pas de payer lorsque j'utilise un outil. Même pour Blender qui est gratuit/open-source, j'achète les DVD pour les soutenir.
Bon, d'une manière générale, j'achète toujours mes jeux ou mes DVD de toutes façons.

Citation :
Ceci dit, j'ai regardé sur Wikipedia, et apparemment, il est possible de le coupler avec du C pour faire des sortes d'extensions. De plus, je trouve la syntaxe sympathique, avec l'utilisation de mots, et le langage est haut niveau avec tout plein de fonctionnalité intégré pour éviter de devoir réinventer la roue.
Et en plus, il est multi-platefome.
Tout à fait, il a certaines qualités Wink.
En plus, il est facile à apprendre, abordable, plutôt performant, il évolue assez rapidement.

Cela dit, je comprends que quelqu'un qui développe en c/c++ n'ait pas envie d'apprendre un langage comme celui-ci. Déjà, il est vrai que la synthaxe peut être déroutante quand on est habitué à parler une langue extra-terrestre (c++) Very Happy.
En plus, on peut avoir un à priori sur les langage "basic", concernant leur performances.

Mais un des principal avantage est que le développement d'un jeu en purebasic pourrait mettre au minimum moitié moins de temps que si on devait le faire en c/c++. Ce n'est pas moi qui le dit, ce sont des développeurs qui ont longtemps bossé en c++, qui ont fait cette remarque, après avoir utilisé pb Wink.
Enfin, pas en ce qui me concerne, car si je devais utiliser le c/c++, je ne finirai jamais mon jeu Smile.

C'est la raison pour laquelle je suis très intéressé par ce langage : je suis quasiment certain qu'avec Ombre on va aller au bout et terminer le jeu "3arks" Wink.


onilink_ a écrit:
Le purebasic est un langage sympa certes, mais a chacun ses gouts et moi perso je reste au C/C++.
Je viens de telecharger PureBasic 4.51. Déjà j'ai l'impression de me retrouver avec un GM Lite bridé vu qu'on peut pas faire plus d'un certain nombre de lignes
Cette limitation n'en est pas vraiment une avec les includes Wink.


Citation :
et que certaines fonctions sont non autorisées. Bon après j'ai pas testé longtemps, juste le temps de faire un algo de test.
C'est vrai que pour, ça fait penser à GM Smile. Mais bon, on peut tout de même réaliser déjà un jeu complet, même sans ces fonctions.


Citation :
J'ai fait un algo en C et en purebasic, normalement les mêmes. Les résultats sont satisfaisants pour le purebasic mais il n'arrive pas a la hauteur du C.
Appli C : ~15sec
Appli Purebasic : ~1min30
ton résultat est faussé, car tu n'as pas désactivé le debugger (l'espèce d'icone "insecte vert"). Essaye de lancer ton code sans le débugger, tu auras le vrai résultat Wink . En plus, tu as fait une petite erreur dans le code purebasic, ce qui fait que ça ne marchait pas (tu as voulu tricher, hein lol).

Chez moi, j'ai eu ça comme résultat :

Appli C : ~13 secondes (via codeblock)
Appli purebasic : ~15 secondes



Citation :
Voila le code purebasic :
il y a une petite erreur dans ton code Wink.
voici le code corrigé :
Code:
Procedure test(x)
  res.f = x
  For i=0 To 1000
    res = 0.5 * (res + x/res)
  Next
 
  ProcedureReturn x
EndProcedure
 

OpenConsole()
ConsoleTitle ("PureBasic - Console Example:")                                             
EnableGraphicalConsole(1)
   
For i=0 To $FFFFF
  test(i) ; <------------- correction ici
Next

CloseConsole()
End


Citation :
Bon faut pas ce leurrer. Un langage haut niveau seras toujours plus lent qu'un bas niveau. Après tout a des avantages et inconvénients, faut juste faire le choix.
Même si je pense que le c/c++ doit être d'une manière générale peut être plus rapide que le pb, il ne faut pas juste se baser sur un seul benchmark.

Un exemple de test que j'ai réalisé (si tu as l'équivalent en c/c++ avec la SDL, ça m'intéresse pour comparer) :
affichage d'un certain nombre de sprites sur une surface

avec GM : j'affiche 1 000 000 de sprites en 4 secondes.
avec pB : en 4 secondes, j'en affiche 10000 !

On pourrait dire que pb est 100 fois plus lent que GM avec ce benchmark, non ? Smile

Pourtant, je suis sûr que d'autres essais montreront le contraire.



Citation :
Perso je peut pas saquer la syntaxe de pureBasic, puis j'adore ce qui est proche de la machine (et rapide noel), donc mon choix est fait.
Après chacun son truc.
exactement Wink.
Moi, personnellement, j'aimerai beaucoup maitriser le c++, mais pour le moment, je n'ai pas le temps de m'y consacrer et le temps d'apprentissage est vraiment beaucoup trop long pour moi (pour le moment).
J'y reviendrai sans doute plus tard, lorsqu'on aura terminé 3 arks Smile.

/quote]Bon si y a qqn qui est chaud pour faire des tests plus précis, moi j'ai fait ça a la va vite.
(C'est surtout que ce qu'a dit ombre m'a un peu choqué, j'aurais mal imaginé que les différences de perfs entre C et purebasic soient bénignes.) Et oui, jusqu'où irait on pour protéger son langage préféré :p[/quote]Je suis d'accord pour d'autres tests, ne serait-ce que pour savoir jusqu'où on va pouvoir aller avec Ombre sur notre jeu Smile.
Cela dit, pour le moment, le test que tu as fait montre que le C est un petit peu plus rapide que pb, mais surtout qu'ils sont tous les deux bien loin devant GM.

Citation :
Edit : A et pour le gml ce code met 1080 sec, soit ~80x plus lent que le C (et moins précis en plus... De plus j'ai fait le test qu'avec FFFF iter et j'ai multiplié le temps par dix, mais normalement avec de gros nombre les calculs devraient être plus longs)
pauvre GM.
Essaye de faire un test d'afficher sur une surface avec la SDL pour voir combien elle peut afficher de sprites sur une surface en 4 secondes pour que l'on compare.
Revenir en haut Aller en bas
http://blendman.blogspot.com/
Oculus
Utilisateur confirmé: Rang *****



Messages : 1688

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 9:28

Le langage en lui même m'intéresse mais la syntaxe je la trouve vraiment horrible.
De toute façon j'ai commencé à apprendre le C++.
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 9:33

jbg77 a écrit:
Le langage en lui même m'intéresse mais la syntaxe je la trouve vraiment horrible.
Je reconnais que la synthaxe des basic comporte des trucs un peu bizarre (for i= to 25 step 1, if enfif, with withend, etc...).

Je préfère aussi les if{}, les for (i=1;i<25;i+=1)
Mais, on s'y habitue progressivement Wink.
C'est comme l'interface de Blender lol.
Revenir en haut Aller en bas
http://blendman.blogspot.com/
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 11:07

Bon, je viens d'essayer le truc de Onilink sous Python.

Voilà le code :
Spoiler:

Et le résultat sur un dual-core E2220 à 2.4Ghz:
Code:

Python
Time Elapsed : 234.04
C
Time elapsed: 20.280000

Soit une augmentation de 12x de temps de calcul.
Conclusion :
Le C, tu peux pas test niveau perf "brut".

Pour python, il doit y avoir une méthode pour travailler plus près de la machine (par exemple, pour les boucles, j'itère sur une liste, et je ne sait pas très bien utilisé les types de variables), mais dans une utilisation courante et non prise de tête, c'est comme cela que l'on écrit.

===========================================================
Edit : En modifiant légèrement le code python ci-dessus, et en utilisant le module psyco.
Spoiler:

En gros, j'ai juste rajouté une ligne de code (hors inclusion) pour utiliser psyco pour les opérations arithmétique.
Et là, le temps chute :
Code:

Python + psyco
Time Elapsed : 105.38

Ce qui ne fait plus qu'un rapport de 5x.
C'est à moitié de la triche, vu qu'il utilise le C mais sans avoir besoin de modifier son code originel.
Si j'aurais fait le noyau de calcul en C, et fait un binding ensuite entre ce noyau et le code python, ça aurait été non-pythonnesque.
D'ailleurs, avec psyco, je me demande si ce n'est pas le parcours de boucles qui prend le plus temps que le calcul lui-même. Non. Ça prend 1s pour parcourir les deux boucles.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 11:46

Ça reste quand même performant pour un langage interprété, et bien plus rapide que GM.

Bon après blendman y a un truc qui faut que tu oublie lol, c'est la SDL , la SDL c'est le mal, c'est mauvais pour faire un jeu, c'est lent pour l'affichage.
Si y en a pleins qui l'utilisent c'est juste a cause de M@téo21 qui la présente pour l'apprentissage du C. (bien qu'intéressante pour le fenêtrage, le temps, les events...)
Après y a SFML qui est beaucoup mieux, c'est un peu comme le purebasic on va dire, c'est exprès pour faire des jeux. T'as tout
plein de fonctions déjà prêtes.
Mais après tu peut toujours utiliser opengl ou directX, et la t'auras des performances d'affichage comme GM.
Bon il s'avère que purebasic et rapide finalement (en même temps je me serais douté que mes tests pb seraient pas terribles, vu que j'ai touché au log que 15min...).

Bon après c'est quoi qu'il y a de bien dans pb ?
A ce que j'ai compris :
-performant
-pleins de fonctions prédéfinies (le plus gros atouts je dirais)
-simple a prendre en main

Mais moi je te répondrais que n'importe quel langage aussi compliqué soit-il peut avoir ces qualité.
Ce qu'il faut déjà : un langage de base, performant. Ensuite un environnement de développement (celui de GM pourrais très bien faire l'affaire, si on l'améliore)
, après une grosse bibliothèque remplie de fonctions prédéfinies (et éventuellement simples a utiliser) + un parseur pour changer la syntaxe du code (afin qu'il soit plus haut niveau a écrire).
Aussi un débugger a la GM ça peut être sympa.

Voila pour moi c'est ces critères qui définissent un langage intéressant pour faire du JV.
Et n'importe quel langage bas niveau peut les supporter (suffit de programmer ce que j'ai cité plus haut)
Après je sais pas toi, mais moi le jour ou y GM qui compile en C++, j'aurais pas besoin d'aller chercher midi a 14h Very Happy

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 12:46

onilink_ a écrit:
Après je sais pas toi, mais moi le jour ou y GM qui compile en C++, j'aurais pas besoin d'aller chercher midi a 14h Very Happy
Tiens, ça me fait penser à une remarque trollesque.

Depuis que GM est passé sous la direction de Yoyogames, j'ai l'impression qu'ils ne se sortent pas bcps les doigts du cu1 pour faire avancer GM.
Franchement, les optimisations de la version 8 en C++ ou jsaisplusquoi, je ne les ais pas trop senti au quotidien. De même, l'éditeur de code ou le nouvel éditeur graphique, ils sont certainement très pratique, mais n'empêche que ça reste en deça de ce que j’espérais.

Après, les killer-feature type "ça marche sous PSP ou Android", on en attend toujours la couleur. C'est bien gentil de faire des "proof of concept" et de se faire du fric sur l'android market ou l'iphone market, mais bon, pour les utilisateurs de GM au quotidien, c'est assez ******.

Ça aurait été Mark Overmars tout seul, j'aurais compris. Mais ils nous ont tellement bassiné avec YoyoGames Corp. et ses 2000 employés recrutés que franchement, je suis déçu.

Et c'est aussi pour cela que j'ai arrêté d'utiliser GM.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 13:01

Pareil Sad

Toute façon qui dit reprogrammer GM en C++ ne veux pas dire que GM compilera en C++.
C'est juste pour la portabilité de l'interpréteur sous d'autres plateformes... (enfin c'est déjà bien)

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
ombre
Utilisateur confirmé: Rang ***
ombre


Messages : 689
Localisation : Dans sa batcave.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 19:52

onilink_ a écrit:
Ça reste quand même performant pour un langage interprété, et bien plus rapide que GM.
C'est un langage compilé ! Very Happy

Citation :
Bon après c'est quoi qu'il y a de bien dans pb ?
A ce que j'ai compris :
-performant
-pleins de fonctions prédéfinies (le plus gros atouts je dirais)
-simple a prendre en main
-Multiplateforme ! (Linux, mac, window,... AmigaOS <= connait pas mais il est cité sur le site de PB).
-On peut faire appel à des lib/dll codé pour des langages en POO malgré que ce soit un langage procédural.
-La simplicité de gestion des thread ! (je trouve)...
-L'impression d'être 'proche' des développeurs, on peut faire des suggestions, certaines sont prise en compte, ect...
Revenir en haut Aller en bas
http://www.3arks.com
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 7 Mar 2011 - 19:57

ombre a écrit:
onilink_ a écrit:
Ça reste quand même performant pour un langage interprété, et bien plus rapide que GM.
C'est un langage compilé ! Very Happy
Je parlais de python :p

En tout cas ce sont tous deux des langages forts intéressants (dommage que j'ai si peu de temps ._.)

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 8 Mar 2011 - 17:20

onilink_ a écrit:
Bon après blendman y a un truc qui faut que tu oublie lol, c'est la SDL , c'est mauvais pour faire un jeu, c'est lent pour l'affichage.
oui, j'ai remarqué lol


Citation :
Après y a SFML qui est beaucoup mieux, c'est un peu comme le purebasic on va dire, c'est exprès pour faire des jeux. T'as tout plein de fonctions déjà prêtes
yep, je voulais la tester la SFML, mais j'ai jamais réussi ne serait -ce qu'à compiler les exemples Sad

Citation :
Bon il s'avère que purebasic et rapide finalement (en même temps je me serais douté que mes tests pb seraient pas terribles, vu que j'ai touché au log que 15min...).
ah c'est cool quand même, ça veut dire que pb est pas mal du tout niveau performance Smile ça nous rassure un peu Wink.

Bon après c'est quoi qu'il y a de bien dans pb ?
A ce que j'ai compris :
-performant
-pleins de fonctions prédéfinies (le plus gros atouts je dirais)
-simple a prendre en main

Citation :
Ce qu'il faut déjà : un langage de base, performant. Ensuite un environnement de développement (celui de GM pourrais très bien faire l'affaire, si on l'améliore)
tout à fux.
Ce qui est aussi pas mal avec pb, c'est qu'on retrouve certaines fonctions bien pratique de 'léditeur (auto-completion, explication en bas des fonctions, etc..)

Citation :
après une grosse bibliothèque remplie de fonctions prédéfinies (et éventuellement simples a utiliser)
niveau fonction, il y en a quelques unes, mais je suppose qu'on doit pouvoir en rajouter :p.

Citation :
+ un parseur pour changer la syntaxe du code (afin qu'il soit plus haut niveau a écrire).
Je ne sais pas trop ce que c'est qu'un parseur Smile.

Citation :
Aussi un débugger a la GM ça peut être sympa.
le debugger de pb a l'air pas mal, non ?

Citation :
Après je sais pas toi, mais moi le jour ou y GM qui compile en C++, j'aurais pas besoin d'aller chercher midi a 14h Very Happy
ah ben ça, moi non plus, c'est sur, si ça signifie que du coup, ça devient sécurisé et beaucoup plus performant Wink

De mon coté, je continue mon apprentissage, j'ai enfin compris et utiliser les pointeurs (ça a l'air simple avec pb, mais je pense que c'est pareil en c++).
par contre, niveau collision au pixel, pour le moment, je tâtonne un peu :p.
Revenir en haut Aller en bas
http://blendman.blogspot.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 8 Mar 2011 - 17:26

Pour les collision y a un tuto sur "la théorie des collisions" sur sdz.
Y a un chapitre qui parle des collisions pixel perfect.

Après je sais pas mais peut être que tu devrais voir si des collisions par AABB (boites) seraient pas mieux pour ton jeu, étant donné
que c'est énormément plus rapide comme algo, et super simple a mettre en place Wink

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 8 Mar 2011 - 17:57

onilink_ a écrit:
Pour les collision y a un tuto sur "la théorie des collisions" sur sdz.
Y a un chapitre qui parle des collisions pixel perfect.
je vais aller voir ça Smile

Citation :
Après je sais pas mais peut être que tu devrais voir si des collisions par AABB (boites) seraient pas mieux pour ton jeu, étant donné que c'est énormément plus rapide comme algo, et super simple a mettre en place Wink
en fait, il y a deux fonctions d'intégrer dans purebasic pour les collisions :
SpriteCollision()
SpritePixelCollision()

La 1 : gère les collision de type box, je suppose que c'est la même chose que le système AABB
la 2 : devrait gérer normalement les collisions au pixel, mais avec mon exemple, ça n'a l'air d'être fonctionnel. Je continue à chercher Smile
Revenir en haut Aller en bas
http://blendman.blogspot.com/
Crystal Noir
Très bonne participation



Messages : 117

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyJeu 5 Mai 2011 - 16:54

Purebasic est un excellent langage de prog pour les jeux.

Par contre quand on veut toucher un peu à l'accélération matériel tout en s'amusant à vouloir changer les couleurs, le blend etc... faut s'amuser à coder des fonctions particulières qui font appel aux vecteurs notamment.

Il y a pas mal d'exemple à ce sujet. Dans les liens donnés en première page, il y a les petits tutos que j'avais fait à l'époque, notamment le jeu des trois cartes ou le tutos sur les listes chainées.

Je ne sais pas si ils sont bien d'actualité aujourd'hui car Purebasic a évolué depuis.

Il est excellent pour ce qui est de la programmation de logiciels également et, très extensible.

J'avais essentiellement créé des moteurs avec (feu d'artifice, boulder, et un patcher).
Revenir en haut Aller en bas
Super-Mouton
*Excellent utilisateur*
Super-Mouton


Messages : 4916
Localisation : Cyberworld
Projet Actuel : Sad

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyDim 8 Mai 2011 - 16:15

Mouaip sérieux j'ai pas tout lu et je ne me considère pas "programmeur" (jamais vraiment touché au C/C++ pour de vrai même si si je m'y mettais je pense bien que je comprendrais, par contre je fais de l'actionscript, javascript et du php~~) mais sérieux la syntaxe me fait vomir mes trippes lol :\ chacun son style j'imagine et peut-être que si on a jamais appris à programmer avec un langage avec une syntaxe classique ça peut paraître plus accessible mais moi je trouve juste ça trop loadé pour rien, et puis c'est quoi l'intérêt de remplacer une accolade par un mot clé genre end et des points virgules par des mots clés plus difficiles à retenir et longs à écrire? enfin bref...

Sinon c'est sûr, j'imagine que le langage en tant que tel avec ses fonctions intégrées et tout doit être pas mal mais j'arrive pas à capter le but de la syntaxe basic et pourquoi/comment quelqu'un qui connaît et utilise une syntaxe classique passerait vers une syntaxe de style basic.

_________________
Hey là tabarnak lâche ma sig sacha >=|
[Purebasic] Présentation et tutoriaux Balrogko6
[Purebasic] Présentation et tutoriaux Supermouton
Revenir en haut Aller en bas
ombre
Utilisateur confirmé: Rang ***
ombre


Messages : 689
Localisation : Dans sa batcave.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 9 Mai 2011 - 13:42

Je me suis jamais posé la question, la syntaxe basique est pas impossible à apprendre, (je te ferais noté quand même qu'il n'y a pas de mot clé pour les ;, ils sont juste supprimé), c'est un langage plutôt simple, qui a des possibilité très avancé vis à vis de GM rien que pas rapport au fait qu'on puisse utiliser les pointeurs ! C'est 10 fois plus simple à apprendre que le C/C++, il y a une bonne cinquantaine de lib pré-installé, c'est un langage compilé, compatible linux/mac/window (enfin faut recompiler sur chaque OS, mais si tu as un gros projet, c'est pas la mort). Moi personnellement, pour une syntaxe qui est loin d'être dur à apprendre, je trouve sa énorme !

Et bon, les mots clés :
Code:

if(mavar==0)
{
mavar=10;
}

remplacé par :

if mavar=0
mavar=10
endif

Et surtout que je vois pas pourquoi quelqu'un qui connaîtrait la syntaxe 'classique' ne passerait pas vers la syntaxe basique ? Parce que c'est très similaire !
Revenir en haut Aller en bas
http://www.3arks.com
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 9 Mai 2011 - 15:00

Personne ne dit le contraire, pb est un très bon langage.

Mais bon perso le endif je peut pas saquer, et ensuite qu'il n'y ai pas de différence entre une comparaison et assigner une variable je trouve ça moche :p

M'enfin après je suis d'accord que pour une personne qui a pas envie de se prendre la tête c'est une bonne alternative.
Par contre une personne qui n'as aucun problème avec le C et le C++ n'a aucune raison valable de se tourner vers pb, enfin c'est ce que je pense.

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
ombre
Utilisateur confirmé: Rang ***
ombre


Messages : 689
Localisation : Dans sa batcave.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 9 Mai 2011 - 19:00

Pour la diffèrence entre assignation et comparaison je suis d'accord Razz
Après endif and co c'est une question d'habitude.

Et après je connais le C et le C++ Razz Mais j'ai une préférence pour PB, parce que chaque lib en C/C++, je passes des heures à les installer et sa me gave.
Revenir en haut Aller en bas
http://www.3arks.com
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyLun 9 Mai 2011 - 19:09

C'est vrai qu'au début installer des lib c'est la misère Razz
En fait c'est surtout les IDE qui font galérer. Perso depuis que je fait tout en ligne de commande j'ai plus de soucis :p

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 10 Mai 2011 - 14:27

Personnellement, je suis d'accord avec Ombre (bon c'est normal on va me dire, j'aime beaucoup le purebasic Smile).

Déjà, le pb est un langage proche du basic, alors si on n'aime pas les basics, on n'aimera pas le pb Smile. Chacun son truc. Je trouve que les réponses de gue-guerre entre langages n'ont pas un grand intérêt. critiquer un langage juste parce qu'on n'aime pas endif, ce n'est pas très intéressant. Comparer des langages en termes de rapidité de développement, ou de performances, c'est plus constructif.

En ce qui me concerne, ce que j'aime dans le pb, c'est sa simplicité d'apprentissage, sa puissance et la rapidité de développement grâce à ce langage (ce n'est pas moi qui le dit, mais un développeur pro qui fait aussi du c/c++/c", etc.. et du pb).

Bien sur comme tous les basic, c'est un peu verbeux (if -endif, with-endwith, etc..), mais c'est juste une question d'habitude. Sa syntaxe, on s'y fait.
Une fois qu'on est dans un projet en PB, on ne peut que constater la rapidité avec laquelle on avance sur le projet, comme le GML, mais en beaucoup plus modulable et puissant.

Mais c'est sûr que ce langage ne s'adresse pas vraiment à ceux qui utilisent le c++ ou java. Mais plutôt à ceux pour qui l'outil n'est pas important, alors que la simplicité, la puissance et la rapidité sont des facteurs primordiaux (c'est mon cas Wink).



Revenir en haut Aller en bas
http://blendman.blogspot.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 10 Mai 2011 - 16:13

J'ai une question (vu que je suis pas un pro du pb :p) , c'est quoi qui fait de ce langage qu'il est si cool, parce que bon tu dit
-simple : ok mais en quoi ? La syntaxe mis a part les endif est tout ressemble a celle de n'importe quel langage. Perso je trouve chaque langage aussi 'simple' une fois qu'on a compris la logique qui se cache derrière.
-puissance : bon ça ok j'ai capté, compilé et casi aussi puissant que le C, rien a redire.
-rapide pour dev : pour le peut que j'ai touché a pb je le trouve pas plus rapide que n'importe quelle langage pour faire une appli, mis a part que toutes les libs sont déjà intégré. Je me trompe ?

En gros d'après ce que j'ai compris l'intérêt d'utiliser pb c'est juste parce qu'il y a une multitude de libs avec, non ?
(parce que bon la syntaxe c'est plus une histoire de gouts après)

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 10 Mai 2011 - 18:24

onilink_ a écrit:
J'ai une question (vu que je suis pas un pro du pb :p) , c'est quoi qui fait de ce langage qu'il est si cool, parce que bon tu dit
-simple : ok mais en quoi ? La syntaxe mis a part les endif est tout ressemble a celle de n'importe quel langage. Perso je trouve chaque langage aussi 'simple' une fois qu'on a compris la logique qui se cache derrière.
en fait, pour moi, simplicité ne veut pas forcément dire dire que c'est intéressant. Ce qui est intéressant c'est d'avoir le choix.

ex : GM est simple, mais on n'a pas trop le choix. On a des fonctions pré-définies (draw_sprite(), draw_text(), etc.. Mais par contre, difficile de passer outre si on veut faire autre chose. Par exemple, Gm c'est directX 7. SI on veut utiliser open GL, ça doit être possible, mais ce n'est plus aussi facile que le directX natif.

Néanmoins, on conviendra que le GML est quand même plus "simple" (ou plus facilement compréhensible dirons nous) que du c/c++. Peut être que pour toi, les 2 sont aussi simple car tu maitrises bien le c++, mais je peux t'assurer que ce n'est pas le cas, sinon je ferai du c++ depuis longtemps Very Happy.

Pour moi, on pourrait situer PB entre le GML et le c++ : il allie la simplicité de la compréhension du GML (fonction simple à utiliser, avec une bonne doc en plus et un IDe très pratique), et le coté "modulaire/extensible" du c++ : possibilité d'organiser son travail, de faire des include, de gérer des libs externes, d'organiser son code parfaitement, de l'optimiser comme on souhaite, etc..
Sans parler du fait que ce soit du compilé (comparé à GM).
Donc pb est cool parce qu'il allie la simplicité du GML à la puissance du C++.

Avec PB, on a le choix entre des choses simples car avec des fonctions prédéfinies (openwindow(), displaysprite(), drawtext()...), mais on peut aussi utiliser ses propres lib graphiques (directX9, open GL, sfml, etc..)
Bon, ça c'est pareil pour tous les langages Wink.
Mais un exemple d'utilisation simple en pb : l'utilisation du moteur 3D ogre (pas simple en c++ je pense) ou de directX9 ou openGL.
L'utilisation est quasi immédiate :
- Pour ogre, on fait simplement : initengine3D() et hop, on peut utiliser ogre.
- Pour directX ou openGL, on fait : initsprite(), initsprite3D() et on utilise directX ou open GL

Si je dois utiliser directX en c++, j'aurai le droit à ce genre de chose :
Code:

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
My3DScene * sc;
WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_CLASSDC, WinProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
"LABY", NULL};
RegisterClassEx(&wc);
HWND hWnd = CreateWindow("LABY", "LE JEU DU LABYRINTHE",
WS_OVERLAPPEDWINDOW, 50, 50, 800, 600,
GetDesktopWindow(), NULL, wc.hInstance, NULL);
sc=new My3DScene(hWnd);
sc->init();
delete sc;
UnregisterClass("LABY", wc.hInstance);
return 0;
}
Et bien, n'y connaissant rien, je peux dire que tout n'est pas clair pour moi, alors que initsprite() ou drawtext() (pb) c'est plus simple Wink.

Alors qu'un code en pb, (sans parler du fait d'aimer ou non la syntaxe) est plus simple à comprendre pour quelqu'un qui n'y connait rien :
Code:

Enumeration
  #window
  #fire
EndEnumeration
;}

;{ ************************ initialisation ******************
InitKeyboard ()
InitSprite()
InitSprite3D()
UsePNGImageDecoder()
;}


;{ ************************ open window *********************
OpenWindow(#window, 0, 0,800, 600, "Fx et blendmode" , #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered )
OpenWindowedScreen( WindowID (#window),0,0, 800,600, 1, 0,0)
;}

;{ ************************ sprite et loading ***************
LoadSprite(#fire,"fx.png",#PB_Sprite_AlphaBlending|#PB_Sprite_Texture)
CreateSprite3D(#fire,#fire)
;}

;{ ************************ boucle principale ***************
Repeat

FlipBuffers ()
ClearScreen ( RGB (125,125,125))
Event= WindowEvent ()
ExamineKeyboard ()

Start3D()
Sprite3DBlendingMode(7,2)
DisplaySprite3D(#fire, 100,200)
Sprite3DBlendingMode(5,6)
stop3D()


Until Event= #PB_Event_CloseWindow Or KeyboardPushed ( #PB_Key_Escape )
;}


Autre chose, avec pb : pas besoin d'appeler la lib ou de l'installer , c'est par défaut, en natif.
Après, cela n'empêche pas celui qui s'y connait de faire appel à des fonctions très précises de directX ou openGl, comme le couleurs vertex d'un sprite3D par exemple. Ou d'utiliser une autre lib que dx ou opengl : sdl, sfml, etc...


Citation :
-rapide pour dev : pour le peut que j'ai touché a pb je le trouve pas plus rapide que n'importe quelle langage pour faire une appli, mis a part que toutes les libs sont déjà intégré. Je me trompe ?
je pense que pour toi, ça doit être équivalent au dev c++ car tu connais visiblement déjà très bien le c++. Mais pour moi qui ne connait pas bien le c++, en quelques jours, d'apprentissage de pb, je suis allé beaucoup plus et plus vite qu'en plusieurs semaines en c++.
Cela dit, je ne désespère pas de mettre un jour au c++, mais pour le moment, je trouve le pb vraiment très intéressant.

Citation :
En gros d'après ce que j'ai compris l'intérêt d'utiliser pb c'est juste parce qu'il y a une multitude de libs avec, non ?
si par lib cela signifie qu'on peut exploiter les fonctions internes facilement (comme drawtext(), displaysprite(), etc..), alors oui, c'est sans doute le principal avantage Wink.
En plus du fait que les moteurs natifs soit directx9 (2D), openGL(2D/3D) ou ogre3D (3D).


Citation :
(parce que bon la syntaxe c'est plus une histoire de gouts après)
je te rassure, je ne suis pas fan de la syntaxe des basics, je préfère le GML :
Code:
if var ==0 {var -1}
à ça :
Code:
if var =0
var - 1
endif
Pour conclure, je dirais qu'en pb j'aime la puissance du c++ et la simplicité du GML Very Happy.

désolé pour le long texte.
Revenir en haut Aller en bas
http://blendman.blogspot.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 10 Mai 2011 - 18:44

Sacré pavé x)

D'après ce que je lis, ce que tu aime dans le PB c'est juste les libs qui sont avec (et la puissance j'en conviens).
Le c++ est un langage casi équivalent au gml si on utilise pas tout ce qui est poo et tout.
Y a des variables, conditions, boucles, rien d'extraordinaire. D'ailleurs le projet énigma a réussi a créer un parseur gml->c++ qui fonctionne très bien (le seul problème c'est que c'est quand même assez lourd).

J'avoue que la difficulté du C++ c'est l'utilisation des lib. Mais il est possible de faire des libs a la gml like très faciles d'utilisation. D'ailleurs je sais pas si t'as déja fait du Qt, mais c'est au moins aussi simple que le pb, étant donné que c'est tout un framework (méga ensemble de libs) et que tout est dispo, reste juste a utiliser :p

Enfin nombreux ce font des idées préconçu sur le C++, mais son seul défaut c'est qu'il n'existe pas assez le lib faciles a utiliser.
Enfin je te prouverais qu'utiliser du C++ est extrêmement simple et agréable quand j'aurais réussi a coder mon gm :p

_________________
[Purebasic] Présentation et tutoriaux Runningpotato1[Purebasic] Présentation et tutoriaux TvF6GED [Purebasic] Présentation et tutoriaux MdetltS
Revenir en haut Aller en bas
ombre
Utilisateur confirmé: Rang ***
ombre


Messages : 689
Localisation : Dans sa batcave.

[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux EmptyMar 10 Mai 2011 - 19:24

Pour les curieux, les libs pré-installé en Purebasic sont :
Code:
2D Drawing : Dessin 2D sur l'écran, sur une image, sur une fenêtre, sur une imprimante, sur un sprite.
Array : manipulation de tableau
AudioCD : manipulation de CD audio
Cipher : Cryptage/Decryptage (sha1, md5, CRC32, base64...)
Clipboard : presse papier (image, text).
Console : explicite.
Database : base de donnée (ODBC, SSQLi, PostgreSQL)
Date : manipulation de date
Debugger : Permet de paramétré le débug de ses applications (afficher une zone mémoire, afficher des variables, profileur...).
Desktop : Fréquence, taille, position du pointeur de la souris.
Drag & Drop : explicite.
File : Créer/ouvrir un fichier, écrire/lire des données brutes (byte, long, float...) ou du texte.
FileSystem : Créer/ouvrir/parcourir un répertoire, lien du dossier temporaire, lien du répertoire courant...
Ftp : explicite, facilité l'accès aux commandes FTP (néanmoins on peut s'en passer en passant par la lib network).
Font : Charger/Manipulation de font (texte).
Gadget : Element de fenêtre (Zone de texte, Image...)
Help : Permet d'ouvrir un fichier .chm (fichier d'aide, html 'compilé').
Http : Pareille que Ftp + quelques fonctions pour manipuler des URL.
Image : Créer/Charger/Enregistrer/Manipuler une image.
ImagePlugin : Permet d'activer l'utilisation de certains types d'image (jpeg, png, tiff), BMP est directement utilisable, et gif n'existe pas (néanmoins des techniques pour contourner existe ! :D)
Library : Utilisation de lib, dll... Permet d'utiliser une procédure à distance via un pointeur qui pointe dessus.
Linked List : Structure de donnée : Liste ! Manipuler une liste, Ajouter un élément, supprimer un élément...
Mail : De même que FTP et HTTP permet d'envoyer/créer un mail facilement même si on peut s'en passer via l'utilisation de la lib network.
Map : Structure de donnée 'Map', ressemble à la structure des fichiers ini (une clé = une variable).
Math : Explicite.
Memory : Manipulation de la ram (écrire/lire via un pointeur), allouer de la mémoire...
Menu : Création de 'menu' (Sa correspond au menu 'Fichier','Edition'... d'une appli classique), + équivalent de la fonction 'show_menu' sur game maker
Misc : Plusieurs fonctions utiles, RGB/RGBA pour générer des valeurs de couleurs, delay pour passer un certains temps avant de continuer le programme, pouvoir connaître le temps en millisecondes depuis l'ouverture du programme, fonction random...
Movie : Lire/mettre en pause/changer volume d'un média (AVI, MPG, DivX, Mp3 etc..).
Network : Lib pour les réseaux envoie/recevoir des données/fichiers.
OnError : Permet de créer des rapports d'erreur personnalisé pour son application ou s'envoyer directement un rapport d'erreur.
Packer : Permet d'archiver des fichiers / Charger des fichiers contenu dans une archive / Désarchiver (algorithme JCalG1).
Preference : Correspond au fichier .ini sur window (manipulation de tel fichier).
Printer : Manipulation d'imprimante.
Process : Ouvrir/Fermer/Communiquer avec un programme, changer une variable d'environnement, lire une variable d'environnement, lit les paramètres de lancement du programme...
Regular Expression : Expression régulière permet de remplacer/chercher/confirmer la présence d'une chaine de caractère particulière.
Requester : Pop up pour ouvrir/enregistrer un fichier, choisir une couleur, demander un texte, montrer un message...
Scintilla : Pour ceux qui ne connaisse pas c'est un gadget editeur de texte permettant la coloration syntaxique
Serial Port : Alias Port Serie, Port COM ou encore Port RS232 permet de lire/écrire des données sur un port de ce type.
Sort : Permet de trier une liste ou un tableau.
StatusBar : Barre de statut (correspond à la barre tout en bas de certaine application affichant des informations sur l'application).
String : Transformer une string en valeur, ou une valeur en string, manipulation de chaine de caractère.
SysTray : Zone situé en bas à droite sur window (à côté de l'heure) permet d'ajouter des icones à cet endroit, et d’interagir avec ceux si.
Thread : Créer/Arrêter un thread.
Toolbar : Barre d'outils (barre situé sous les menus dans certaines applications)
Window : Ouvrir/Redimensionner/Déplacer une fenêtre, recevoir des informations de celle si.
XML : Créer/Ouvrir/Enregistrer/Manipuler un fichier xml.

Bibliothèques pour les jeux 2D

Joystick : Explicite
Keyboard : Clavier (explicite)
Module : fichier son .mod.
Mouse : Souris explicite.
Palette : Jamais utilisé (sûrement une des seuls libs de purebasic que j'ai jamais utilisé) : Permet de changer une couleur par une autre (pratique pour des effets graphique).
Sprite & Screen : Ouvrir un écran, afficher un sprite, créer/enregistrer un sprite, effets graphiques sur les sprites.
Sprite3D : Lib pour utiliser les prouesses 3D sur les sprites (redimensionner, faire pivoter un sprite), permet de créer un sprite3D (à partir d'un sprite) et de les afficher.
Sound : Charger/Jouer un son. Direction/Intensité/Volume du son (.wav + formats de SoundPlugin).
SoundPlugin : Permet de charger plus de fichiers sons (ogg, flac)

Bibliothèques pour les jeux 3D (Le moteur 3D et les libs qui en dérivent, sont basé sur Ogre).

Engine3D : Moteur 3D... En gros toutes les fonctions 3D qui n'entre pas dans les catégories si dessous.
Billboard : Surface plane orienté toujours vers la caméra, permet de les gérer.
Camera : Déplacer/Créer une caméra (vue du joueur) sur la scène 3D.
Entity : Créer/Déplacer/Charger/Faire pivoter une entité (mesh + Texture).
Gadget 3D : Comme les gadgets mais utilisable sur la fenêtre 3D.
Light : Gérer les lumières.
Material : Gérer les textures
Mesh : Gérer les mesh.
Node : Permet de déplacer/Créer/Pivoter un noeuds. Les noeuds sont des ensembles de Son 3D/Entity/Caméra/système de particule lié ensemble.
Particle : Système de particule.
Sound 3D : Sons 3D (son joué dans l'espace, intensité et direction modifié selon la place de la caméra.
Terrain : Permet de créer/gérer un terrain.
Texture : Permet de Créer/Charger une texture
Window 3D : Permet de créer/gérer une fenêtre contenant le moteur 3D.

Sa fait beaucoup (message créer en plus de 45 minutes Razz).
Revenir en haut Aller en bas
http://www.3arks.com
Contenu sponsorisé





[Purebasic] Présentation et tutoriaux Empty
MessageSujet: Re: [Purebasic] Présentation et tutoriaux   [Purebasic] Présentation et tutoriaux Empty

Revenir en haut Aller en bas
 
[Purebasic] Présentation et tutoriaux
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» tutoriaux
» [PureBasic]Topic Aide
» [purebasic]Tutoriel - Fx et blendmode
» dll en PureBasic
» créer une dll en purebasic ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: