Pregunta

Estoy tratando de construir un útil motor de juego 3d de la Ogre3d motor de renderizado para burlarse de algunas de las ideas que me han llegado y han llegado a un poco de un cruce de caminos.Hay un número de lenguajes de secuencias de comandos que están disponibles y me preguntaba si había uno o dos que fueron vetados y tenido un adecuado siguientes.

LUA y Ardilla, parecen ser los más investigados, pero estoy abierta a todo y a todos.

De manera óptima sería mejor si hubiera una forma compilada para el idioma para la distribución y la facilidad de carga.

¿Fue útil?

Solución

La sintaxis es una cuestión de gusto, Lua es como Javascript, pero con llaves reemplazado con Pascal-como palabras clave.Se tiene la buena sintáctica característica que punto y coma no son necesarios, pero el espacio en blanco todavía no es significativa, por lo que incluso puede eliminar todos los saltos de línea y tienen todavía trabajo.Como alguien que empezó con C yo diría que Python es el esotérica de la sintaxis en comparación con el resto de los idiomas.

LuaJIT también es alrededor de 10 veces más rápido que Python y el intérprete Lua es mucho más pequeño (150kb o alrededor de 15k líneas de C que en realidad se puede leer y entender).Usted puede dejar que el usuario guión de su juego sin tener que incrustar una enorme lengua.Por otro lado si vas a copiar el analizador parte de Lua se vuelve aún más pequeños.

Otros consejos

Una opción interesante es la de stackless-python.Esto fue utilizado en la Víspera-juego Online.

El Python/C manual API es mayor que el todo Lua manual (incluyendo la Lua/C API).

Otra razón por la que Lua es el soporte integrado para corrutinas (co-operativo multitarea en el que OS hilo).Le permite a uno tener como 1000 aparentemente individuales de los scripts que se ejecutan muy rápido al lado de la otra.Como una secuencia de comandos por monstruo/arma o así.

(¿Por qué la gente escribe Lua en la parte superior de la caja de tanto en TANTO?Se trata de "Lua" (ver aquí). )

Un voto más para la Lua.Pequeño, rápido, fácil de integrar, lo que es importante para las modernas consolas - usted puede fácilmente el control de sus operaciones de memoria.

Me gustaría ir con Lua desde la escritura de los enlaces es muy fácil, la licencia es muy amable (MIT) y la existente en las bibliotecas también tienden a ser de bajo dicha licencia.El esquema es también muy agradable y fácil de enlazar cual es la razón por la que fue elegido para el Gimp editor de imágenes, por ejemplo.Pero Lua es simplemente genial.Mundo de Warcraft utiliza, como un perfil muy alto ejemplo.LuaJIT le da nativo compilado de rendimiento.Es menos de un orden de magnitud de puro C.

Yo no recomendaría LUA, tiene un peculiar sintaxis así que toma algún tiempo para acostumbrarse.Dependiendo de quién va a hacer la secuencia de comandos, esto puede no ser un problema, pero me gustaría tratar de usar algo bastante accesible.

Probablemente elegiría python.Normalmente se compila a bytecode, por lo que sería necesario incorporar la intérprete.Sin embargo, si usted tiene que usted puede utilizar PyPy, por ejemplo, traducir el código a C, y luego compilarlo.

Incrustar el intérprete no es problema.Estoy más interesado en las características y el rendimiento en este punto en el tiempo.LUA y la Ardilla se interpretan, lo cual es bueno porque uno de los juegos que estoy construyendo es para incluir código modificable, que tiene un editor en el juego.

Me encantaría oír acerca de python, como he visto su uso en el campo de batalla de la serie en la que creo.

python también es bueno porque tiene real OGRO enlaces, en caso de que necesite modificar algo de nivel inferior sobre la marcha.No sé de ningún equivalente enlaces para Lua.

Ya que es una biblioteca de C++, yo sugeriría JavaScript o Ardilla, siendo este último mi favorito de los dos para estar más cerca de C++, en particular a la forma en que maneja las tablas/estructuras y clases.Sería más fácil acostumbrarse a de C++ programador, porque de todas las similitudes.

Sin embargo, si vas con JavaScript y encontrar una versión HTML5 de Ogre3D, usted debe ser capaz de transferir su juego de código directamente en la versión web con un mínimo de (si alguno) de los cambios necesarios.

Ambos son una buena opción, y ambos tienen sus pros y sus contras, pero ambos sin duda sería el más fácil de aprender ya que es probable que ya trabajan en C++.Si estás trabajando con Java, el mismo puede ser cierto, y si es Game Maker, usted no necesita ni uno menos que usted está tratando de hacer un ejecutable que la gente no necesita una máquina de Juego para que se ejecute, en cuyo caso, buena suerte para encontrar una extensión para ejecutar cualquiera de estos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top