Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas con peer review & cia.

Iniciado por Hans, 26 de Febrero de 2010, 01:00:42 PM

« anterior - próximo »

WaaghMan

Extraño. Por si te resulta útil este es el código que nosotros usamos:

/// <summary>
        /// Returns false if there was an error while trying to buy.
        /// </summary>
        public static bool Buy(PlayerIndex who)
        {
            bool correct = false;
            SignedInGamer g = SignedInGamer.SignedInGamers[who];
            if (g != null)
            {
                if (g.Privileges.AllowPurchaseContent)
                {
                    try
                    {

                        Guide.ShowMarketplace(who);
                        correct = true;
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            return correct;
        }
Milkstone Studios - Autores de Avatar Ninja!, Little Racers, MotorHEAT y Wool en Xbox Live Indie Games

Hans

Es básicamente lo mismo. He visto que en Wool avisáis de que el jugador es Guest, así que la comprobación de privilegios sólo la hacéis al intentar comprar y una vez cada intento.  Seguramente haga eso, un cartel si no se puede y a correr. ¿Vicente, es normal que pete la consola comprobar algo así? Es que va a pedos xDDD

Vicente

Ni idea, nunca lo he probado :( (y no tengo una 360 disponible ahora mismo, sigo por USA...).

Hans

En teoría arreglado así:

try
            {
                if (Guide.IsTrialMode && (estadosJuego == cEstadosJuego.e_menu)) fondoPurchase.IncrementarFading(2 * gameTime.ElapsedGameTime.Milliseconds);
                else fondoPurchase.DecrementarFading(2 * gameTime.ElapsedGameTime.Milliseconds);

                if (Guide.IsTrialMode && !Guide.IsVisible)
                {
                    if ((estadosJuego == cEstadosJuego.e_menu) && ((gamepadState.Buttons.X == ButtonState.Pressed) || keyState.IsKeyDown(Keys.X)))
                    {
                        if ((Gamer.SignedInGamers.Count > 0) && Gamer.SignedInGamers[indiceJugadorActivo].Privileges.AllowPurchaseContent)
                        {
                            Guide.ShowMarketplace(indiceJugadorActivo);
                            algoBloqueanteEncima = true;
                            keyState = keyNeutralState;
                            gamepadState = gamepadNeutralState;
                        }
                        else temporizadorEresUnGuest.ActualTime = 1;
                    }
                }
            }
            catch (GamerPrivilegeException ex)
            {
                Guide.ShowSignIn(1, true);
            }



El problema es que no puedo saber si funciona porque nosotros no podemos probarlo, ¿no?

AgeR

Hans, sí que lo puedes probar, mira por los foros de Creators "SimulateTrialMode".

Por otro lado Vicente, entiendo perfectamente el cabreo de Hans con este tema en concreto. No entiendo por qué narices se hace cargar al desarrollador con la gestión de los perfiles que pueden o no pueden comprar o poder jugar online o no, por ejemplo. Yo entiendo que si es algo que va a ser así siempre, debería ser el propio dashboard el que te diga que no puedes hacer lo que quieres, y que te explique el motivo. Además de solucionar ese tema en concreto, que lleva de calle a muchos desarrolladores y hace perder MUCHO tiempo, la gestión por parte del dashboard permitiría dar un feedback siempre idéntico al usuario.

Vamos, que ya podían currarse este tema en concreto, porque clama al cielo, y creo que sería positivo tanto para los desarrolladores, como para el usuario y obviamente para Microsoft. Me parece un tema vital que proponer como MVP, es una pena que no se me ocurriera antes del summit, pero seguro que salió el tema por parte de alguien, porque me da que el sentir entre los desarrolladores es generalizado.

Un saludo!

Hans

Ya estaba en ello, pensaba que SimulateTrialMode no servía para éste caso pero ya he visto que sí. Lo que dices lo he pensado antes pero se me ha olvidado escribirlo y tienes toda la razón, no veo ningún buen motivo para que un desarrollador tenga que encargarse de algo así.

Hans

#36
Por cierto, Gamer.SignedInGamers[indiceJugadorActivo].Privileges.AllowPurchaseConten no me deja hacer purchase con mi usuario Premium, ¿hace falta ser gold en el Live para poder descargar el juego? Pensaba que los silver también podíamos O_o

O eso o estoy metiendo la pata en algo xDD


edit,. Efectivamente estaba metiendo la pata hasta el fondo, toy más espeso que el colacao que me voy a tomar ahora mismo :)

Makaimura

Me podéis explicar esto del fail pass  o algún hilo donde lo explique, hasta mayo no me empezaré a mirar xna en serio, antes he hacer otras cosas pero de momento voy leyendo lo que vais escribiendo en el foro XNA y me ha llamado la atención esto de los faill, pass,porcentajes y tokens que leí en otra ocasión
Alguna ayuda rápida o donde mirarlo? Thx

WaaghMan

Hans, sobre el código, me parece que lo que te pasa es que se genera una excepción en cada frame, y las excepciones en la 360 son LENTAS, de ahí que quede la cosa como colgada.

Mis pensamientos: En el código que enseñas, se ejecuta el intento de compra en cada frame mientras el botón del pad esté pulsado. Después, compruebas si el Count es >0 , y después accedes al índice directamente. Es perfectamente posible que eso genere una excepción de referencia nula (Si el jugador 1 está logueado, pero tú estás manejando el 2, por ejemplo, Gamer.SignedInGamers[indiceJugadorActivo] devolverá null), con lo cual se cazaría la excepción, y en el frame siguiente igual, etc.

Por otra parte, te recomendaría que el manejo del Keyboard lo tuvieses entre #if WINDOWS y #endif , en Xbox es posible también tener teclado (el chatpad o un teclado USB) y pulsando la X también se compraría el juego. No es que sea un motivo de fail, pero sería un comportamiento un poco raro.

Sobre el tema de privilegios y perfiles:

* SimulateTrialMode no es realmente necesario. Si sales del programa de XNA y vas a la biblioteca de juegos, verás el juego que copiaste desde el Visual Studio y hay una opción "Iniciar demo" que hace lo mismo, sin tener que tocar el código. Nosotros sólo hemos usado el SimulateTrialMode para probarlo en Pc, siempre dentro de #if #endif para evitar problemas futuros.


Sería posible que un moderador mueva todo esto a un topic aparte en el foro de XNA? Hace tiempo que no se habla del proyecto :p. Que, dicho sea de paso, acaba de pasar el review y  ya está disponible en el Marketplace :):

http://marketplace.xbox.com/games/media/66acd000-77fe-1000-9115-d80258550457/
Milkstone Studios - Autores de Avatar Ninja!, Little Racers, MotorHEAT y Wool en Xbox Live Indie Games

Vicente

Cita de: AgeR en 26 de Febrero de 2010, 09:59:03 PM
Vamos, que ya podían currarse este tema en concreto, porque clama al cielo, y creo que sería positivo tanto para los desarrolladores, como para el usuario y obviamente para Microsoft. Me parece un tema vital que proponer como MVP, es una pena que no se me ocurriera antes del summit, pero seguro que salió el tema por parte de alguien, porque me da que el sentir entre los desarrolladores es generalizado.

Pues no salió el tema la verdad, supongo que es porque como funciona el dashboard no es cosa del equipo de XNA :( Y ahora ya no creo que cambien como la han wrappeado por todo el código que romperían :S

Vicente

Cita de: makaimura en 26 de Febrero de 2010, 10:35:30 PM
Me podéis explicar esto del fail pass  o algún hilo donde lo explique, hasta mayo no me empezaré a mirar xna en serio, antes he hacer otras cosas pero de momento voy leyendo lo que vais escribiendo en el foro XNA y me ha llamado la atención esto de los faill, pass,porcentajes y tokens que leí en otra ocasión
Alguna ayuda rápida o donde mirarlo? Thx

http://forums.xna.com/forums/35.aspx ;)

Básicamente lo de los fails y los pass es el proceso de revisión que realiza la comunidad de creadores sobre los juegos para garantizar que cumplen unos mínimos de calidad técnica.

Un saludo!

Vicente

Hans

#41
Vicente, sigo viendo kukaku en la lista de juegos a la venta, ¿al final no era un fail?

Enhorabuena WaaghMan, a ver si pronto vemos el nuestro tb, que ya va siendo hora xD Informa sobre ventas, es algo que me produce mucha curiosidad siempre.

Vicente

Está comentado en los foros. Si el juego se reporta por usuarios como que casca o hace cosas raras se aceleraría el proceso.

Hans

Si acitvo el "simulate trial mode" y saco una versión Demo para Windows para colgar en mi página, por ejemplo, ¿hay algún riesgo de que consigan desbloquear el juego completo? ¿Sería mejor que direcamente no pusiera los niveles que no están por seguridad?

[EX3]

Yo en Windows haria dos versiones, la demo con lo que quieras enseñar y la version completa, con todo. En PC no te puedes arriesgar dado que es una plataforma abierta :P

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.