Forum Liberty Basic France : Voir tous les messages du membre

Nouvelle maj qui clôture son lot de correctif et d'amélioration pour le moment ^^.
J'ai refait le fichier license pour que le jeu soit entièrement en OPEN SOURCE. Les bidouilleurs peuvent donc s'amuser. Pour le reste, je vous laisse lire le log de la maj ;).

Version 2.93 alpha :
- correction des crash en rapport avec la quête du voleur
- Second nettoyage du code avec le passage de 7800 ligne a 7500 lignes
- passage des sprites "personnage" de 3 frames à 4 frames par cycle
- correction du bug qui ne prenait pas en compte les coordonnées des sprites lorsque l'on sortait des sous menus
- les sprites de combat (griffe et explosion) n'apparaissent plus sur les anciennes zones de combat lorsque celui-ci est terminé
- mise en place d'une nouvelle ia pour les monstres (30% moins de lignes, bien plus performante)
- augmentation du temps de régénération des monstres sur la carte de 20 à 30 secondes
- Correction du bug des murs invisibles laissé par les combats avec les ennemis
- correction du bug d'affichage qui laissé les sprites des monstres en place une fois tué
- Mise a jour des infos sur la page de présentation
- Le personnage s'arrête correctement lorsqu'il rencontre un obstacle (le personnage ne continue pas de marcher sur place)
- Correction du bug qui lorsque l'on allait dans le menu de sauvegarde, prenait les coordonnées des fichiers de sauvegarde comme coordonnées actuelles
- Correction du crash qui fermé le jeu lorsque l'on ouvrait une fenêtre d'un objet puis qu'on ouvrait un second sans fermé la première
- ajout d'une fermeture automatique des fenêtres des objets lorsque l'on clique sur l'inventaire
- correction de bugs divers

Concernant l'hébergement je dois t'avouer que ca ne me tente pas trop... Ce forum compte énormément a mes yeux (il m'a fait découvrir JB/LB et j'y ai tout appris) mais je gère pamal de choses en ce moment alors en rajouter une de plus n'est pas ma priorité. Il faudrait voir qui vient encore ici (membres) et qui aurait le temps pour s'en occuper sérieusement. Régler déjà le problème des inscriptions pck l'astuce trouvé ne remplace pas l'inscription "normale".
Si après tu ne te sens pas de garder ce forum ont comprendra tkt pas ont se retrouvera sur le forum officiel des anglo ^^. Dans tous les cas ce fût une belle aventure (elle m'a même orienté vers ma carrière actuelle =) ).
Ben je voulais bien le mettre ici mais l'espace de stokage est trop limité.
Tu as quoi comme navigateur pour que mega te dise ca ? XD
Salut aux survivants ^^

Finalement, après une journée détente, je me suis penché sur mes anciens projets et j'ai retrouvé mon premier gros projet, Eternal Quest.
après une relecture assez difficile du code, je me suis dit que redonner un coup de jeune à celui-ci ne serait pas de trop ^^. J'ai donc réduit le code de prêt de 3000 lignes sur les 10600 initiales. Ca fait un beau coup de balai :). Surtout que de nombreux bugs ont été corrigés et que l'interface est plus fluide. Bref, pas déçu de ces quelques heures utilisées.

Voici le log de la maj et le lien juste en dessous. A titre d'information, cela fait 11 ans que j'ai commencé ce sujet ^^. Ca rajeuni pas ...

Version 2.92 alpha :
- Refonte complète du code source passant de 10 600 lignes a 7 800.
- Correction du bug affectant l'égalité des variables "emplacement" sur la carte du personnage
- Amélioration importante du déplacement du personnage, la version clavier est aussi rapide que la version souris et le cycle des sprites est corrigé
- Correction du bug d'affichage qui fesait clignoter les données de l'interface
- réduction du temps de transition entre les cartes
- correction de bugs divers
   Le 07/09/2022 à 11h44 Jeux » JEU 3D
Salut salut !

Voici un exemple de code qui fait un jeu en 3D, assez simple a comprendre.

Une idée pour améliorer la boucle ? augmenter les perf ? Il est possible d'améliorer considérablement la qualité de l'image en augmentant fortement le nombre d'angles mais il faut ensuite mettre le déplacement en 1 par 1 ce qui fait un déplacement très très lent ^^. J'ai donc opté pour un équilibre entre la qualité et la "liberté de déplacement".

je précise que les case rouge font perdre la partie ^^

Voici le code pour les curieux :)

Code VB :
 
 
NOMAINWIN
 
DIM sintable(360)
DIM costable(360)
DIM map$(20)
DIM color$(10)
 
color$(1)="lightgray"
color$(2)="brown"
color$(3)="cyan"
color$(4)="darkred"
color$(5)="darkgray"
color$(6)="darkpink"
color$(7)="blue"
color$(8)="darkblue"
color$(9)="RED"
color$(10)="white"
 
map$(1)  = "111111111111111111111111111111111111"
map$(2)  = "100000000000000050000000000000000001"
map$(3)  = "100000011001100010005111100000000001"
map$(4)  = "101501550000510015000000100000900001"
map$(5)  = "105005000000000000000000100000000001"
map$(6)  = "101015000900511500000511500111510001"
map$(7)  = "100001500000005000000000000100000001"
map$(8)  = "155005100151005100000000005500050001"
map$(9)  = "155000000000000000000000001005550001"
map$(10) = "111511115111511115150000001001000001"
map$(11) = "111111111111111110055510010005005111"
map$(12) = "100000000000000000000000055100000001"
map$(13) = "100000050000000000009000005155005001"
map$(14) = "105505550000500000000000000000500001"
map$(15) = "105005000000000000005550000005550001"
map$(16) = "105055000900005000005000000000500001"
map$(17) = "100005500000005000005000000090000001"
map$(18) = "155005500050105000000000000000000001"
map$(19) = "155000000000100000000000000000000001"
map$(20) = "111111111111111111111111111111111111"
 
FOR i = 0 TO 360
    sintable(i) = (sin(i * 0.0174)) * 100
    NEXT i
FOR i = 0 TO 360
    costable(i) = (cos(i * 0.0174)) * 100
    NEXT i
 
WindowHeight = 500 : WindowWidth = 635 : UpperLeftX=int((DisplayWidth-WindowWidth)/2) : UpperLeftY=int((DisplayHeight-WindowHeight)/2)
global dy,dx
STATICTEXT #win.1, "use ZQSD/WASD or arrows for moove AND use ''escape'' for exit",150,465,500,30
GRAPHICBOX #win.g 5, 5, 624, 445
OPEN "fps" FOR window_popup AS #win
PRINT #win, "trapclose [quit]"
PRINT #win.g, "setfocus;fill blue"
print #win.1, "!font Times New Roman 9"
posx=32 : posy=32 : angle=0
 
[raycast]
dy = 0 : dx = 0
call readJStick 1
select case dx
    case 1
        angle = angle + 4
    case -1
        angle = (angle + 356) mod 360
    case 2
        goto [quit]
end select
select case dy
    case 1
        if (t-62)>0 then
        bx = posx - (sintable(((t-62) mod 360)) / 100)  ' la division augmente ou diminue la vitesse de marche
        by = posy - (costable(((t-62) mod 360)) / 100)
        k = ASC(MID$(map$(int(by/10)),int(bx/10),1))-48
        if k = 9 then notice "GAME OVER"
        IF k = 0 THEN
            posx = posx - (sintable(((t-62) mod 360)) / 100)
            posy = posy - (costable(((t-62) mod 360)) / 100)
        END IF
        end if
    case -1
        if (t-62)>0 then
        bx = posx + (sintable(((t-62) mod 360)) / 100)
        by = posy + (costable(((t-62) mod 360)) / 100)
        k = ASC(MID$(map$(int(by/10)),int(bx/10),1))-48
        if k = 9 then notice "GAME OVER"
        IF k = 0 THEN
            posx = posx + (sintable(((t-62) mod 360)) / 100)
            posy = posy + (costable(((t-62) mod 360)) / 100)
        END IF
        end if
end select
 
[raycast2]
FOR t = angle TO (angle + 124) step 1
    xb = sintable(t mod 360) / 360   'nombre angle (augmente résolution avec profondeur + hauteur)
    yb = costable(t mod 360) / 360
    bx = posx
    by = posy
    l = 0
 
    do
        bx = bx + xb
        by = by + yb
        l = l + 0.3    ' profondeur
        k = ASC(MID$(map$(int(by/10)),int(bx/10),1))-48
 
LOOP UNTIL (k > 0)
    x = (t - angle) * 5 : dd = (1000 / l)
    PRINT #win.g, "down"
    PRINT #win.g, "place ";x;" ";(100-dd)
    PRINT #win.g, "color ";color$(k);"; backcolor ";color$(k)
    PRINT #win.g, "boxfilled ";(x+5);" ";(100+dd)
 
    PRINT #win.g, "color ";color$(10);"; backcolor ";color$(10)
    PRINT #win.g, "boxfilled ";(x+5);" 0"
    PRINT #win.g, "place ";x;" ";(100+dd)
    PRINT #win.g, "boxfilled ";(x+5);" 445"
    PRINT #win.g, "place ";x;" ";(100-dd)
 
    PRINT #win.g, "color black"
    PRINT #win.g, "goto ";(x+5);" ";(100-dd)
    PRINT #win.g, "place ";x;" ";(100+dd)
    PRINT #win.g, "goto ";(x+5);" ";(100+dd)
    PRINT #win.g, "up"
NEXT t
 
goto [raycast]
 
    function GetAsyncKeyState(key)
        calldll #user32, "GetAsyncKeyState",key as long,GetAsyncKeyState as long
        if GetAsyncKeyState<>0 then GetAsyncKeyState=1
    end function
 
    sub readJStick n
        if GetAsyncKeyState(_VK_ESCAPE) then dx = 2
        if (GetAsyncKeyState(asc("Z")) or GetAsyncKeyState(_VK_UP)) AND (GetAsyncKeyState(asc("Q")) or GetAsyncKeyState(_VK_LEFT)) then dy = -1 : dx = -1 : goto [endPOINT]
        if (GetAsyncKeyState(asc("Z")) or GetAsyncKeyState(_VK_UP)) AND (GetAsyncKeyState(asc("D")) or GetAsyncKeyState(_VK_RIGHT)) then dy = -1 : dx = 1 : goto [endPOINT]
        if (GetAsyncKeyState(asc("S")) or GetAsyncKeyState(_VK_DOWN)) AND (GetAsyncKeyState(asc("Q")) or GetAsyncKeyState(_VK_LEFT)) then dy = 1 : dx = 1 : goto [endPOINT]
        if (GetAsyncKeyState(asc("S")) or GetAsyncKeyState(_VK_DOWN)) AND (GetAsyncKeyState(asc("D")) or GetAsyncKeyState(_VK_RIGHT)) then dy = 1 : dx = -1 : goto [endPOINT]
        if GetAsyncKeyState(asc("Z")) or GetAsyncKeyState(_VK_UP)     then dy = -1
        if GetAsyncKeyState(asc("W")) or GetAsyncKeyState(_VK_UP)     then dy = -1
        if GetAsyncKeyState(asc("S")) or GetAsyncKeyState(_VK_DOWN)   then dy =  1
        if GetAsyncKeyState(asc("Q")) or GetAsyncKeyState(_VK_LEFT)   then dx = -1
        if GetAsyncKeyState(asc("A")) or GetAsyncKeyState(_VK_LEFT)   then dx = -1
        if GetAsyncKeyState(asc("D")) or GetAsyncKeyState(_VK_RIGHT)  then dx =  1
        [endPOINT]
    end sub
 
[quit]
CONFIRM "Do you really want to quit?"; answer$
IF answer$="no" THEN GOTO [raycast]
CLOSE #win : END
 
   Le 11/07/2022 à 15h48 Général » Nombre de Jours
sympa !
   Le 01/07/2022 à 17h33 Général » Tierce quinte
je ne parle pas forcement de jeu mais d'un logiciel par exemple.
un genre de wolrd, excel et pp en 1 seule fenêtre avec un style de paint et une calculatrice intégré ^^. Bien évidement pas poussé comme les logiciel actuel mais qui permettent de faire pamal de chose :)
   Le 26/06/2022 à 14h57 Général » Tierce quinte
:hi salut salut ! tu fais plein de petit projet tu veux pas te lancer dans un "gros" projet ? t'en as les compétences ^^
   Le 09/05/2022 à 23h14 Débutant » Lien de téléchargement direct
surtout casse neurone au possible...

j'ai réussi a faire intégrer sur mon launcher du jeu un système qui scan un serveur, vérifie la version du jeu et celle présente sur le serveur et s'il y a une maj dispo met celle-ci a disposition pour la télécharger et l'installer tout seul ^^ (en gros ca fait tout ta juste a confirmer que tu veux mettre a jour le jeu). Ca ma déjà bouffer pamal de temps pour faire ca....

Je taf sur le réseau local mtn et après je veux m'attaquer au multijoueur.

Ca donne énormément de possibilités pour mes futurs projets et puis je pense en toute modestie que je serais le premier en LB a le faire XD


PS : pk pas judicieux ? ^^
   Le 08/05/2022 à 11h14 Débutant » Lien de téléchargement direct
si on peut éditer dans l'hébergeur = faire un jeu multijoueur :)
   Le 07/05/2022 à 18h28 Débutant » Lien de téléchargement direct
oui mais ce n'est pas ce que je cherche.
Je me suis tourné vers http://www.rejetto.com/hfs/?f=dl.

J'arrive a faire lire des fichiers mais pas a les faire éditer encore.... je cherche XD
Personne ne sait éditer un fichier sur un serveur via une commande ? j'ai vu httpget mais il semblerait que ca fonctionne pas (ou alors je sais pas l'utiliser)

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté