This game is a independent MMORPG

Logiciel payant, gratuit, demo

0

Bonjour,

Vous êtes déjà vous demandé comment gagner de l’argent avec un logiciel? Il y a le modéle google/facebook qui gange sur votre vie privée et les données que vous leur confiez.

Mais je parle d’application. Il y as une partie de l’application qui est gratuite, pour faire voir ce qu’est votre logiciel, et une partie pour le rentabiliser. Tout est dans le ratio de ces 2 parties. Une demo c’est en général 20% du logiciel complet, soit c’est une demo. Le probléme c’est quand c’est pas clairement affiché, il arrive souvent que le contenu téléchargé (DLC) représente 80% du logiciel, donc logiciel fourni est une demo qu’on vous donne sans vous le dise.

Avec Ultracopier/Supercopier c’est 99% du logiciel qui est gratuit, et quand vous payer c’est 1% de plus (le titre), sans compter le support prioritaire, l’optimisation cpu. Pour CatchChallenger, je vais plutôt faire 80% gratuit. Et la version payante, c’est 20% de plus. Avec aussi support prioritaire, correction de bug plus rapide, plus de poids pour le choix dans les fonctionnalités. Et le tout étant en GPL3, même les versions payantes.

Mais comme tout logiciel communautaire et libre, je être à l’écoute de ma commuté pour que je gagne ma vie mais que la communauté à le logiciel qu’elle veut et qui lui plait.

La version CatchChallenger vas bien sortir en fin d’année, et la prochaine version incluant pas mal d’avancé prendra 2ans pour  être faite. Je posterai la roadmap quand elle sera fini et les temps sur chaque fonctions que j’ai estimé. La version 1 aura pris au total un peu plus de 3ans, 5Mo de code, 1500 commits, 5Mo de contenu. Et ceux sans aucun revenu. Les technologies sont très avancé malgré l’apparence assez veille du jeu.

J’ai ouvert les comptes nextcoin pour qu’il soit publique et visible pour les dons comme pour les revenus commercial d’argent. Cela je pense, réponds au droit de regards qu’as la communauté sur l’argent. Sachant que je bosse 120h par semaine et que je fait le travail d’une équipe de dev complète et pro.

Bye

nextoin

Nextcoin market place

0

Bonjour,

La version 1.3.4 est plus accessible que jamais au commun des mortels. Ce qui confirme que cet ebay décentralisé est l’avenir pour moi des ecommerces. Au revoir prestashop, magento… Et vous y voyez, CatchChallenger en version Ultimate.

Les prix sont trés bas car il n’y as plus de tiers de confiance, plus d’intermédiaire, et le système est performant et optimisé.

Les captures d’écran parle d’elle même:

nextcoin market place 1.3.4

nextcoin market place 1.3.4

nextcoin-market-place

This game is a independent MMORPG

Nextcoin market, i2p et CatchChallenger

0

Salut,

Je viens vous donner quelques nouvelles. J’ai mit en place un système de vente de software sur le nextcoin market. Le nextcoin market est un système de vente en ligne parfait pour l’ecommerce mais décentralisé et peu chére. J’y ai donc mit CatchChallenger, et j’y mettrai Ultracopier 2. Le tout via l’envoie de clef. J’ai aussi mit en ligne d’autre moyen de paiments.

CatchChallenger avance bien, il rentre en RC. Il marche super bien au travers d’une connexion lente et d’i2p. Il deviens de plus en plus stable et as une meilleure base chaque jour. Version 0.7 en ligne, version final pour la fin de l’année.

Le site CatchChallenger et Ultracopier à été réécrit rapidement en responsive design pour marcher sur téléphone et tablette.

Bye,

IA, science neuronales

 

Bonjour,
Je voudrais vous exposer mon opinion sur certain sujet important pour moi. Mais dons certains points n’ont été que éfleuré. Je vais essayer de parler uniquement d’un point de vue scientifique.
Attention cependant, mes connaisses dans certains sujets sont trop légéres pour avoir un avis éclairé.
Les sciences neuronales. Un certain nombre de points importants sont traités dans les films, comme matrix, i robot, IA.
Si l’on comprend et maitrise un organe comme le cerveau, alors nous sommes capables de modifier ce qui nous donne du plaisir et dans quelle proportion. (Adiction virtuelle, …)
- Cela réformera complètement les psychologues/phsyciatres, en les remplaçant par une machine efficace, pour par exemple re-formater les tueurs compulsifs. Vous pouvez le voir ainsi: vous tuez partiellement la personne, car vous mettez partiellement/totalement une autre personne dans son corps. Attention au dérive totalitaire qui peuvent re-formater les personnes pour correspondre au pouvoir/norme social en place. Cela implique 2 méthodes:
– Par écrasement. Les zones mémoires non correcte seront remplacés sans souci de cohérances avec le reste du cerveau. Cela doit être le dernier recourt. La personne se mettra juste à penser autrement, sans vraiment savoir pourquoi. C’est assez proche d’une lobotomie, ou d’un conditionnement forcé.
– Par évolution. L’analyse de la psyché permettra de déterminer le meilleur moyen de faire changer le patient vers le nouvel état d’esprit. Le patient prendra conscience des problèmes et du changement (et de la raison). Ce serait une sorte de psychotérapie améliorée ou le psychothérapeute serait dans la tête du patiens. A cause de cette dernière implication, il est utile que cela soit fait par un algorithme par respect de la vie privée du patient, mais aussi pour que le psychothérapeute ne soit pas influencé. Ou est le libre arbitre de la vie à cause du manque de plusieurs point de vue et d’une pensée guider? (Un peu comme les normes de beauté dans les scocitées actuelles)
- La justice pourra être réformer. Plusieurs possibilités peuvent être formulées. Je pense qu’un algorithme pouvant virtualiser les psychés des personnes impliquées peu être utilisé: fusionner les faits et que tout le monde juge sans savoir qui il est (défenseur, attaquant, pour ne pas être parti prit), et ensuite sortir un résultat final (comme l’ont fait quand on a des éléments pour et contre un choix, avec donc une fusion temporaire de multiple personne).
- Cela va rapprocher les machines des humains, il va devenir possible de programmer par la pensée. Cela va engendrer une nouvelle génération de langages, qui va mêler ce que l’on veut faire à comment le faire.
- Comme on peut voir dans sliders, il serait possible d’avoir enfin une pensée partagée (épisote 5, saison 5). Attention cependant à respecter zone privé et public.
- Recevoir des signaux du cerveau peut être dangereux pour la vie privé. A cause de l’interprétation (ont as tous des fantasmes/désir que notre étique/moral nous empécherai de faire quoi qu’il arrive), des erreurs de contextualisation, …
- Envoyer des signaux vers le cerveau, c’est le seul moyen d’avoir une interaction (et très efficace). C’est la différence entre la télé (être passif) et un ordinateur (actif et acteur avec l’information). Mais c’est aussi très dangereux. Un certain nombre de stimulus actuel peu avoir des effets dangereux (hypnose), alors qu’il passe par des zones adaptés qui ont évolulé pour trainter au niveau ces derniers (les firewalls ne notre cerveaux). Imaginez donc, que l’ont soit connecté avec d’autre moyen (zone des pensées au lieu de zone auditive/visuel…), donc une zone non préte.
  La même différence existe entre les données réseaux reçu dans les programmes informatiques qui sont considéré comme non sure, et donc controlé, vérifié car il y as tout le long de l’évolution du programmes des attaques dessus. Et les données internes aux programmes, ou le controle est bien plus faible car les données arrivant dans ces zones n’ont jamais reçu de donnée non coérante, fausse ou dangeureuse.
- Les IA peuvent soit être libre de pensée (comme les humains), soit avoir une pensée limitée (une sorte de lobotomization). Mais l’ont peu avoir une pensée libre, avec un controle des zones de plaisirs/motivations: ont peu imaginer gens ou IA étant animé par le dons de soit, l’aide, l’honeur.
  Mais aussi qui aime servir: Point vraiment trés explosif… IA servil vous allez dire oui, mais humain servil non et si les 2 ressentes les mêmes sentiments en cas d’humiliations ou situations dégradantes, ou est la différence? La souffrance est la même. Au même titre que la différence animaux/humains/extra-terrestre.
  Qu’es ce qui défini un être vivant intélligent? Les émotions? Et dans ce cas, n’importe qu’elle stimuli provoquant t’elle état d’espris et donc par extention des desirs (desirs d’aide, de vengeance)? C’est un émotions d’un point de vue technique, resentir la même emotion qu’un autre par la simple vu de cette émotion? (La vue d’une personne en détresse peu vous provoquer un sentiment de détresse).
  A partir de quand une machine ou être vivant somaire à des sentiments? Car un être vivant simple, ayant juste quelque neurone pour réagir à la lumiére ou autre stimuli n’as pas de sentiment. C’est un simple systéme de refléxe.
  Une situation que nous avons vécu, qu’elle est la limite d’une simple réaction devant une situation connue et l’apparition d’un sentiment?
- Les languages de programmations sont apparu s’appuyant sur le fonctionnements des machines. Il vas donc faloir inventer un nouveau language pour schématiser ce nouveau fonctionnement. Mais seulement aprés bien maitriser le fonctionnement.
- Le fils est souvent à l’image du pére, et comme dans certain film veux tuer celui ci. L’espéce humaine est trés destructive. Le faite de vouloir faire une IA suppérieure, c’est comme faire des surdouers sur commande mais sans les limitations du monde phisique (temps, espace, mort, …). Par contre ont peu dédoubler une entité qui à fini sont apprentissage, cela évite de le refaire.
Encore une fois, cela n’est qu’une partie de ma pensée et de mes intérogations à un instant T de ma vie. J’en rirais peu être dans 10ans.
Bye

 

 

Socket Tcp vs Socket Unix

Bonjour,

Quel est la différence entre un socket unix et un socket tcp?
Un socket Tcp est fait pour communiquer sur l’exterieur via le protocol ip, avec une possible perte de packet, corruption et j’en passe. Il faut donc pas mal de code pour remettre ça en forme, les données transportés doivent être indépendante de la platforme logiciel et materiel utilisé.
Un socket unix est un socket local, donc pas de perte de packet, pas de routage, et  dans la même machine. Cela implique pas de changement endianness, cela reviens à juste écrire en mémoire d’un coté et lire de l’autre ce qui permet une grosse augmentation de performance.
Chaqu’un a donc son utilisation, mettre les données d’un socket unix sur un réseau tcp/ip perdrai ces performances et ne serai pas fonctionnel à cause de l’endianness par exemple. Mettre un socket tcp dans un socket unix n’as pas le moindre sens non plus. Pour communiquer exclusivement en local utilisez un socket unix, pour une communication distante un socket tcp (encrypté, et peu être compressé) sera plus adapté.
Bye

Path finding

Path finding du plus droits chemin

Bonjour,

Je viens de finir une version préliminaire du path finding pour le plus droits chemin.
Mais pourquoi le plus droits et non pas le plus court?
  • Car cela permet de minimiser le volume réseau
  • Minimiser le changement de contexte coté OS à cause de multiple trame réseau
  • Minimiser le changement de contexte coté application car il doit géré un client, puis un autre, puis revenir sur le 1er
C’est loin d’être optimal coté implémentation (ont ne peu pas changer de map, intérragir avec les objets, …), mais c’est fait. C’est assez complexe car il y as 4 informations par tile, au lieux de une dans un path finding avec le plus cour chemin.
Cela permettra de reduire les couts de fonctionnement du projet.
1er post fait avec blogilo car chrome bug pour les accents depuis quelques versions.
Bye,

 

Arm

Odroid u3

Hello,

How to

Cut one wire of power source, connect your 2 wire of you ampermetter to the 2 part of one wire, take care to be in 10A mode to don’t burn the fuse.

Result

Here you have the power consumption on 5V line (then without the adaptador power, I have used an DT-830B):

ODROID-GameStation-Turbo-0.10_20140525-X
4 thread: 1.42A, 7.1W
1 thread: 0.75A, 3.75W
0 thread: 0.58A, 2.9W
99°C max temp

USB not work, then my usb joystick not work, 100% at all time.

It’s just crazy in fonction of ubuntu server:

4 thread: 1.20A->1.46A, grow slowly and after is random: 6-7.3W
1 thread: 0.48A, 2.4W
0 thread: 0.29A, 1.45W
85°C max temp

Only use micro SD card, network (1000Mbps), no thing more. No HDMI, no sound, …

Cheers,

Linux

Kernel 3.10 ipv4 performance

Hello,

You have here for 3.10 kernel the performance on lo (127.0.0.1) via iperf of different hardware:

  • Fit pc1 Geode lx800 @500Mhz: 828Mbits/sec, 1.6Mbits/sec/MHz
  • Cubox-i4 pro, iMX6 quad @1000MHz: 2.16Gbits/sec, 2.16Mbits/sec/MHz
  • Fit pc2, Intel Atom z530 @1600MHz: 3.05Gbits/sec, 1.9Mbits/sec/MHz
  • Intel Haswell Core i5-4670 @3400MHz: 36.7Gbits/sec, 10.8Mbits/sec/MHz
  • Intel Core2Duo P8600 @2400MHz: 3.79Gbits/sec, 1.6Mbits/sec/MHz

Note: ARM need of of optimisation in kernel and in compiler to be exploited.

Have good day.

This game is a independent MMORPG

Technologie utilisé dans CatchCallenger

Manipulation du buffer réseau

0 copy

La technologie 0 copy technologie est un moyen pour ne jamais copier un buffer dans un autre (bien sur qu’en interne ont ne peu y échapper, par exemple pour transférer le buffer de la carte réseau jusqu’au programme). Vous déplacez seulement le curseur sur les données et vous controlez les données. Aprés vous pouvez:

  • Isolez le code principal et retournez les données comme une structure
  • Directement tout passer comme une structure

La structure de donnée est exclusivement de taille fixe car les tailles dynamique exige pointer et copie mémoire. (Et vous ne pouvez pas envoyé un pointeur au travers du réseau)

Si une donnée est supérieur à 8Bits, alors vous devez corrigez l’endianness, cela coute principalement des petites transactions mémoire.
Cela est pour envoyer des commandes avec des arguments temporaires. Les données persistantes ont besoin d’être stocker et donc n’autorise pas le 0 copy. Vous devez les garder quelque part car le buffer vas être purger.

SIMD

Sur Arm c’est neon, sur x86 c’est SSE-X, AVX-X. Pour en savoir plus, voir: http://en.wikipedia.org/wiki/SIMD
Ils permettent de copier un block mémoire avec une seuls instruction, c’est plus puissant qu’une boucle car cela exploite mieux le hardware sans avoir besoin d’utiliser les capacités de Vectorization du compilateur, voir: http://en.wikipedia.org/wiki/Vectorization_(parallel_computing)
Si une plage d’octet est valide, vous pouvez avoir un structure similaire as: 99x8Bits dans le buffer,  »’vous pouvez utiliser memcpy() pour transférer une plage d’octet directement depuis le buffer sur la structure »’.
Si une donnée est supérieur à 8Bits, alors vous devez corriger l’endianness, cela coute principalement des petites transactions mémoire. Voir le déserialiseur.
Cela est plus orienté pour le stockages des données mais peu être utilisé avec des données temporaire dans certains circonstances..

Déserialiseur

Cela est plus lent que le SIMD, mais cela est adapté pour les stockages d’informations qui doit être traités. Par exemple en chaine qui doit être transformer en pointeur + taille (mix avec les SIMD arrive souvent), vous devez changer l’Endianness pour la plus part des entiers, …
Priviligez de démarrer avec les adresses basses (buffer[0]) jusqu’au adresses haute (buffer[99]) pour améliorer les performances.

0 Allocation mémoire

La plus par du temps, n’ayez pas d’allocation mémoire, ou dans le pire des cas sur la stack. Grace à un protocole binaire, une taille fixe, un buffer permanent pour déserialiser les données est une bonne solution.
Toutes les opérations réseau lourdes comme le chargement du datapack peuvent être externalisé. Sur des serveurs hautes performances seul le trafic utile est envoyé et reçu, il y as donc de meilleur latences et un serveur plus légé, …

Binaire

Le texte peu être utile pour débugger, mais il utilise beaucoup de réseau et ressources.
Moins d’un accès sur un millards sur http est lu directement depuis le dump réseau (par des hackers, admin réseau, développeur -> vous devez avoir le niveau pour travailler avec, au même titre que manipuler des images/videos), cela veux dire que le reste du temps les ressources sont consommés sans raison, un protocole http binaire serai afficher de la même manière que le protocole http text dans un navigateur.
Pour utiliser les données « Data: 654654″‘ vous devez extraire « 654654 » (vérifier la longueur, faire une allocation dynamique) puis  »’le convertir en nombre »’. En binaire faite juste une copie (a=b;) et corriger l’endianness si besoin. ce qui est beaucoup plus puissant en binaire. La negociation du protocol en binaire été de 66 octets, en binaire elle est seulement de 5, avec un gain de 50x d’utilisation du cpu sur les opérations de lecture et comparaison.

Anti DDOS et cout de l’infrastructure

Toutes ces technologies et un bon usage du compilateur comme -march=XXX, permette d’être anti-DDOS par nature car cela permet de supporter un grand nombre de requêtes par seconde. Cela minimise le cout de l’infrastructure, autorise un jeu moins chère, plus de serveur pour les joueurs. Cela est donc plus dur à DDOS, C’est aussi plus facile à administré.

Epoll

Epoll est utilisé pour résoudre le problème C10K. Le serveur peu facilement supporter beaucoup de joueur sur un ordinateur de 25ans. Il ne saute pas la couche tcp du noyau pour fonctionner correctement en para-visualization, mais un bonne optimisation permet de résoudre le problème C10M sur un bon hardware.

Plugin

La plus par des parties standard comme la visibilité sur la map, base de données sont dans des classes et géré comme des plugin pour être changé, testé et benchmarké facilement.
Les plugins des bases de données en mode texte demande beaucoup de conversion du text vers des entiers (utilisation du cpu sur le serveur), la manipulation des chaines due à SQL prends aussi beaucoup de cpu/memoire/allocation mémoire aussi, et finalement la base de données sur le même serveur consomme aussi des ressources.
Inclut avec index et optimisé, la base de données est largement la partie la plus lente du serveur (tant coté cpu, memoire que IO disk), c’est pourquoi les requêtes sont asynchronisés.

Traduit de: http://catchchallenger.first-world.info/wiki/Technologies_used

Note: le protocole ftp en plus d’être text oblige de supprimer le contenu des dossiers pour supprimer ces dossiers. Vous passez donc de l’envoie de quelque octet et quelque ms 0 des Mo et des minutes heures pour supprimer les gros dossiers… Et vous contourner toutes les optimisations des FS sur la suppression des dossiers…

Wikibooks

Bonjour,

Je tiens a vous faire découvrir wikibooks, c’est une version livre de wikipedia, c’est a dire que l’information n’est pas dans des articles lier avec des liens, mais grouper dans des livres avec des chaphitres. Telechargable au format eBook et PDF.

Bye

Go to Top