3D desktop Game Engine scriptable in Python

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Panda3D

    Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

    >> It'd have to be a situation like sklearn and numpy where all the actual functionality is implemented in c/c++ and you're just using it as a glue language

    It sounds like this engine is not implemented in 100% python.

    See also Panda3D https://www.panda3d.org/, which was used in commercial games back in the day, and is exactly what you are describing!

  • Apache Arrow

    Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing

    https://www.reddit.com/r/O3DE/comments/rdvxhx/why_python/ :

    > Python is used for scripting the editor only, not in-game behaviors.

    > For implementing entity behaviors the only out of box ways are C++, ScriptCanvas (visual scripting) or Lua. Python is currently not available for implementing game logic.

    C++, Lua, and Python all implement CFFI (C Foreign Function Interface) for remote function and method calls.

    "Using CFFI for embedding" https://cffi.readthedocs.io/en/latest/embedding.html :

    > You can use CFFI to generate C code which exports the API of your choice to any C application that wants to link with this C code. This API, which you define yourself, ends up as the API of a .so/.dll/.dylib library—or you can statically link it within a larger application.

    Apache Arrow already supports C, C++, Python, Rust, Go and has C GLib support Lua:

    https://github.com/apache/arrow/tree/main/c_glib/example/lua :

    > Arrow Lua example: All example codes use LGI to use Arrow GLib based bindings


  • JetBrains Dev Survey

    What’s up with the C++ ecosystem in 2023? JetBrains Developer Ecosystem Survey 2023 has given us many interesting insights. The Embedded (37%) and Games (39%) industries are already working with C++20, developers are incorporating static analysis in their CI, and ChatGPT usage among coders is flourishing. Read on for more!

  • sklearn-pandas

    Pandas integration with sklearn


    https://github.com/scikit-learn-contrib/sklearn-pandas :

    > Sklearn-pandas: This module provides a bridge between Scikit-Learn's machine learning methods and pandas-style Data Frames. In particular, it provides a way to map DataFrame columns to transformations, which are later recombined into features.

    Pandas docs > PyArrow > I/O https://pandas.pydata.org/docs/user_guide/pyarrow.html#i-o-r... :

    > By default, these functions and all other IO reader functions return NumPy-backed data. These readers can return PyArrow-backed data by specifying the parameter dtype_backend="pyarrow"

    > [...] Several non-IO reader functions can also use the dtype_backend argument to return PyArrow-backed data including: to_numeric() , DataFrame.convert_dtypes() , Series.convert_dtypes()

      x = pandas.read_csv(".csv", dtype_backend="pyarrow")

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts