2010-02-02 20 views
9

He estado leyendo Joel on Software recientemente, así que me he vendido bastante con la idea de writing functional specifications antes de involucrarme demasiado en el desarrollo.Escribiendo especificaciones funcionales para juegos

Estoy a punto de tener un ir en la creación de un juego en 2D sencilla (mente no demasiado simple), y realmente puedo ver la ganancia - en el pasado yo sólo he saltado en la escritura de extremadamente juegos simples y yo Me he encontrado atascado o reescribiendo los mismos bits una y otra vez cuando de repente me doy cuenta de que no tengo idea de cómo debería definirse mi nivel, o me doy cuenta de que quiero ser capaz de saltar, pero eso significa volver a pensar por completo mi colisión detección.

De todos modos, empecé a idear una especificación funcional pero estoy luchando un poco. Puedo ver y entender el punto, pero realmente no he escrito muchas especificaciones funcionales antes, así que no Realmente no sé cómo comenzar. Los ejemplos que he encontrado en Internet son geniales, pero en su mayoría se basan en procesos (el usuario envía un formulario A, luego el formulario B), etc., lo que en realidad no se aplica mucho a la estructura de un juego.

¿Alguien tiene algún consejo/ejemplos sobre cómo estructurar/escribir especificaciones para los juegos?

Respuesta

10

Es bastante simple en el nivel básico. Simplemente tiene que deletrear sus características cada una en términos de una especificación. Dada una determinada situación o evento, ¿qué debería hacer el sistema?

Los desarrolladores de juegos son conocidos por tener una función en algún otro juego como su especificación mental (por ejemplo, quiero saltar como Mario o rotar bloques como en Tetris) pero esas especificaciones son tan buenas como las tuyas comprensión del sistema que estás copiando (Esto me recuerda las guerras de los navegadores donde la gente diría que Firefox estaba procesando algo incorrectamente porque no lo hizo de la forma en que lo hizo Internet Explorer - Mozilla no pudo formular una especificación para su modo de emulación IE mejor que "mirar" como IE "porque nadie fuera de Microsoft podría saber las reglas exactas que usa IE"). Por lo tanto, debe intentar asegurarse de que sus especificaciones para una función tengan sentido para alguien que nunca haya jugado un juego similar al suyo y, por lo tanto, independiente . Eso te obligará a profundizar en los detalles y encontrar el tipo de casos de esquina que Joel sugiere que encuentres.

1

Asegúrese de que cada punto especificado sea empíricamente verificable.

Por ejemplo, en un juego de disparos en 2D, no especifique "Armas". Esto puede significar muchas cosas. Especifique explícitamente "El jugador puede disparar armas", o "El jugador puede recoger armas", etc.

Esto significa que puede anotar objetivos concretos fácilmente, y luego asegúrese de que los haya logrado.