Reflexión sobre los programadores de DarkOrbit (Silvanito, quizás encuentres algo útil)

Tema en 'Archivo de temas restantes' iniciado por ImManulaiko, 29 Abril 2014.

Querido usuario,

si deseas participar activamente en nuestro foro en los diferentes temas, deberás acceder al él desde tu cuenta de juego. En caso de no tener una cuenta de juego registrada aún, te pedimos que te registres en el juego lo antes posible. Nos alegraremos mucho con tu próxima visita a nuestro foro! „JUGAR“
Estado del tema:
Cerrado para nuevas respuestas
  1. hector.

    hector. User

    no hay nada que no tenga bugs
    pero para eso deben de trabajar para arreglarlos
     
  2. ¿Es que no los arreglan?
     
  3. shanfle

    shanfle User

    y quieres que les den un premio? (de echo alguna vez lo recibieron) no defiendas lo indefendible, si no pueden con las criticas que se vayan, si tu no quieres jugar solo vete es lo que nos dicen no? pues los usuarios reviran con eso mismo
    ahora bien no es es el único juego online hay juegos muchos mas difíciles que este pero tienen una jugabilidad mayor, y mira que les tiran con cosas que las que se comentan aquí parecieran palabras bonitas, ademas de que en cuestión de precio ahí si se comparan, es mas jugar wow sale mas barato, pregúntenle a PUREGEWALT dejo d.o por nova raider ya que era mas barato y de su temática de rol incomparable, si quieren que dejen menos comentarios malos hacia bp entonces hagan el juego tan entretenido que uno ni quiera estar en el foro perdiendo tiempo ya que sera mas agradable jugar que andar pensando como trolearlos, pero en fin todo fuera por su dichoso pvp (que por cierto es malito)
     
  4. Tu lo has dicho, si no te gusta dejalo, el problema es que no le gusta a muchos y siguen incordiando
     
  5. hola ImManulaiko
    es interesante ablar con gente que ya tiene experiencia en programacion, yo apenas voy en 3er semestre de informatica y ya pase todo eso de programas, aprendi lo mas basico y algunas cosas mas, ya pase bases de datos y te entiendo cuando tu ablas sobre los programadores del juego, es importante ser claros en lo que asen para asi ellos tengan facil su trabajo y ademas no lo dejen a nosotros de igual manera,
    una duda oye yo si e trabajado en c, c++, y en distintos compiladores pero apenas empieso aver java y es dificil para mi que soy principiante. aqui un 1% de mi proyecto final jejej
    [​IMG]
    usaste alguna ves codeblocks amigo?
     
  6. Hola!!

    Java es más fácil que c++, es considerado por muchos el lenguaje de programación más parecido al inglés que hay disponible ahora mismo (olvídate de python, ruby, autoit3 y esas tonterias) si necesitas ayuda en algo agregame a skype: manulaiko (te saldrán 2 :D)

    En cuanto a tu código, deberías usar el bucle while() {...} en vez de do {...} while (); porque ha pasado muchas veces (me incluyo) que estás navegando por el archivo y te paras en una línea y es un while(true); y esto se puede interpretar de 2 maneras MUY diferentes.

    La primera es que sea un bucle infinito que no hace nada, yo los suelo usar por ejemplo cuando abro un servidor de sockets asíncrono en otro thread y no quiero que se cierre el programa :D

    La segunda es que mires arriba y comprendas o que has escrito :p

    También te recomendaría que comentases el código (en c++ solo puedes usar //, en java puedes usar /* ... */ para los comentarios de varias líneas), parece una tontería pero en serio, ayuda muchísimo.

    Un ejemplo, esta clase la vas a entender muchísimo mejor con los comentarios (están en ingles puesto que suelo trabajar en inglés y no me apetece traducirlos):

    Java (Con comentarios):
    Código:
    package net.game;
    
    import java.io.IOException;
    import java.net.*;
    import java.util.*;
    
    import main.Launcher;
    /**
     * Description:
     *    This is the Socket Server for the new client
     *
     * @author     Manulaiko
     * @date       15/02/2014
     * @file       Server.java
     * @package     net.game.newClient
     * @project     emulator1
     */
    public class Server implements Runnable
    {
        public static ArrayList<ConnectionManager> connections = new ArrayList<ConnectionManager>();
        public static ServerSocket server;
        public static Thread thread;
       
        /**
        * Constructor:
        *     This method will start the socket server
        */
        public Server()
        {
            try {
                //I need to add this :P
                //createBonusBox();
                //We create a new ServerSocket object which will be the server (Obviously right?)
                server = new ServerSocket(Launcher.newServerPort);
                //We make a new thread to wait for connections
                //Now you should take a look at run() method
                thread = new Thread(this);
                //Start it
                thread.start();
                //Assign it a name (this is optional, but as this is my emu I do what I want!)
                thread.setName("New client server");
                System.out.println("Listening on port "+ Launcher.newServerPort);
            } catch (Exception e) {
                System.out.println("Couldn't listen on port "+ Launcher.newServerPort);
                System.out.println(e.getMessage());
            }
        }
       
        public void run()
        {   
            //Forever :D, this is the reason of the thread
            while(true)
            {
                try {
                    //We wait for a connection (socket) from server
                    Socket connection = server.accept();
                    //And create a new ConnectionManager object
                    //Declaration (-Declaration? -YES DECLARATION! -So... -OMFG Open the fucking declaration!)
                    ConnectionManager user = new ConnectionManager(connection);
                    //We add an entry to connections<ConnectionManager> with a
                    connections.add(user);
                    /* Look!
                    * We can short those lines with just one like this:
                    *     connections.add(new ConnectionManager(server.accept()));
                    * But it could be harder to understand
                    */
                }catch(IOException e) {
                    //We couldn't add the new connection, something is wrong with the server
                    System.out.println(e.getMessage());
                    try {
                        if(!server.isClosed())
                            server.close();
                        System.exit(0);
                    } catch(IOException e1){
                        //What?? We couldn't even close the server... something is really wrong...
                        System.exit(0);
                    }
                }
            }
        }
    }
    
    C# (Sin comentarios):
    Código:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Net;
    using System.Net.Sockets;
    
    namespace dorPS.Net
    {
        public static class SocketServer
        {
            private static Socket CurrentSocket;
            private static int Port;
            private static int MainConnections;
            public static List<int> CurrentConnections;
    
            public static bool InitSockets(int port, int MainConnectTimeAllowed)
            {
                try
                {
                    Port = port;
                    MainConnections = MainConnectTimeAllowed;
                    CurrentConnections = new List<int>();
                    IPEndPoint currentLocalhost = new IPEndPoint(IPAddress.Parse("127.0.0.1"), Port);
                    Loggin.WriteLine("Starting asynchronous sockets in port " + port);
    
                    CurrentSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    
                    CurrentSocket.Bind(currentLocalhost);
                    CurrentSocket.Listen(100);
                    Loggin.WriteLine("Sockets at the listening...");
                    CurrentSocket.BeginAccept(new AsyncCallback(ReadConnection), CurrentSocket);
    
                    Loggin.WriteLine("Asunchronous sockets successfull launched in port " + port);
                    Loggin.WriteLine("Max online unsers allowed: " + MainConnections);
                    return true;
                }
                catch
                {
                    Loggin.WriteError("Sockets system shutdown unexpectly.");
                    return false;
                }
            }
    
            public static void ReadConnection(IAsyncResult ar)
            {
                try
                {
                    int ConnectionId = (CurrentConnections.Count);
                    CurrentConnections.Add(ConnectionId);
                    if (ConnectionId >= 0)
                    {
                        Socket privateSocket = ((Socket)ar.AsyncState).EndAccept(ar);
                        GameManager G = new GameManager(ConnectionId, privateSocket);
                    }
    
                    CurrentSocket.BeginAccept(new AsyncCallback(ReadConnection), CurrentSocket);
                }
                catch (Exception e)
                {
                    Loggin.WriteError("Error in socket system", e.ToString());
                    return;
                }
            }
        }
    }
    
    Básicamente las dos clases hacen lo mismo, crean un servidor de sockets y esperan a conexiones. Pero me juego lo que quieras a que has entendido antes la clase con comentarios!

    La otra cosa que he visto es el nombre que le das a las variables u objetos "x" ¿que cono es "x"?

    Imagínate que estas haciendo eso con un amigo. Tu amigo ve "x" y no entiende que es.

    Deberías dar nombres más identificativos a tus variables, por algo al nombre de una variable se le llama identificador.

    También en c/c++ es recomendable que uses una clase aparte para todo lo relacionado con salida/entrada (cout/cin). Siempre que algo cualquier tontería en c++ lo primero que hago es una clase llamada "CoolPrint" con métodos como "print" "println" "printf" "getInt" "getString" "getBool"...

    Ya verás cuando entres a Java como te resultará más fácil ;)

    Nos vemos!
     
  7. entiendo que buscas la menera de colarte en el sistema de bp pero sigue participando
     
  8. Lo único que quiero mostrar es que no es tan fácil hacer algo como DarkOrbit
     

  9. pues eso ya lo sabemos si no imaginate cuantos no crearian su propio dark orbit
     
  10. Los hay :rolleyes:
     
  11. No se pero yo pienso que tu eres de esos chavos Lamer (hace alusión a una persona falta de habilidades técnicas, sociabilidad o madurez considerada un incompetente en una materia, actividad específica o dentro de una comunidad, a pesar de llevar suficiente tiempo para aprender sobre la materia, actividad o adaptarse a la comunidad que le considera un lamer.) Porque tu mismo deberías entender que hacer y arreglar un juego es demasiado complicado, y arreglar un problema a veces hecha a perder otro. No se como explicar bien esto, pero no estas viendo con claridad el verdadero afan de como funciona un juego. Mi opinión.
     
  12. Me parece que no has entendido el post
     
  13. Bueno, te felicito, de palabra eres un experto, habría que ver que es lo que llevas a la realidad ;)

    Saludos :)
     
  14. shanfle

    shanfle User

    oie men ahora caigo en cuenta, ya tiene sus añitos el d.o, la plantilla de gente que trabajaba de seguro ha cambiado tanto o mas que las personas que lo juegan ¿? sera, recuerdo que el dark orbit en especial levanto a TODO big point puesto que las otras propuestas eran ampliamente superadas por este, fue una moda la de grabar invasiones hacer vídeos hasta hubo eventos de esa temática, nicknames recordados lo que queda ahora, un apoyo muy muy grande por parte de lo que seria "su comunidad", aun en el problema de los automáticos lo único que hicieron fue poner cosas con valor de uri en extremo, creo que el problema no es en su programación como intentan darnos a entender si no mas bien seria la temática que intentan desarrollar, se deberá a que es un juego donde puedes ganar dinero?, en fin no es la tecnología o avances computacionales o informáticos lo que causa un disgusto, ha de ser otra circunstancia
     
  15. XD jaja yo no puedo comentar mucho no es mi materia la informatica, es como decirles que me calculen la cantidad de calor que se requiere para enfriar una mezcla de gases que alimenta a un absorvedor, si esta ha pasado primero por un enfriador a sierta temperatura y presion , y lo unico que te dan es un flujo volumentrico y fracciones mol de cada componente de una mezcla xD.

    pero en algo si tienen razon la mayoria en el caso de windows se supone que les pagan a esa empresa y siempre estan en constante actualizacion los sistemas operativos para evitar los errores, bigpoint solo actualiza para agregar nuevas cosas que ban entorpeciendo el juego, y no se puede poner una excusa porque aunque digan es un juego de navegador gratuito , la gente paga por un buen servicio, y se supone que cada empresa tiene sus normas de satisfaccion al clientes.
     

  16. si los hay por que no nos das una demostracion de como crear un juego asi como el dark orbit igualito y con esa calidad grafica

    sorprendenos con tus conocimientos basicos
     
  17. Si lees bien el primer post sabes como hacerlo
     
  18. Bueno tengo una pregunta para ti manulaiko, quizá sea mejor que me respondas por otro medio como Skype, porqué te banearon? de hecho creí que hacías arto por la comunidad con tus aportes. Te pregunto porque hasta ahora me di cuenta.
     
  19. espero se me facilite como a ti esto proximos semestres de java y java script,
    una duda como tienes 16 años y sabes todo eso acso tienes familiares que trabajan de eso o ya vas muy avansado en la escuela ya voy para 19 años y apenas empese ase tiempo :)
     
  20. Miren que bien.. una persona opinando y dando reflexiones sobre el juego cuando el mismo crea pixel-bots... sigue haci claro..
     
Estado del tema:
Cerrado para nuevas respuestas