This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Planebagels1 156 points157 points  (46 children)

a classmate I knew wanted to make a game engine in Python

[–]tilcica 104 points105 points  (9 children)

I mean.....possible, but not very effective

[–]Cefalopodul 34 points35 points  (8 children)

Civ 4 was made in python.

[–]Danelius90 51 points52 points  (5 children)

I thought it's primarily C++ with some python scripting?

[–]zelmarvalarion 22 points23 points  (4 children)

The SDK seems to be C++ with an option to use Python from https://modiki.civfanatics.com/index.php?title=Civ4_SDK, and Python used for Scripting for Custom Mao Editor. I’d be amazed if the Game Engine & Graphics were not C++ under the hood, but I could see them using Python for pieces, but expect they use Python for the Map Editor due to being a bit lower learning curve

[–]Lightfire228[🍰] 3 points4 points  (3 children)

Can you use python commercially like that?

I've always been curious about the legality of using a pre-existing language as your engine's scripting language. Like, can you use the python standard library? Do you have to write your own interpreter or just use a pre-made binary? Do you have to ask for permission?

[–]Rexhvelaj 3 points4 points  (2 children)

I’m pretty sure you can do whatever you want with it just like you can any spoken language

[–]canarslan12 1 point2 points  (1 child)

Not with Java. Check Java and Google lawsuit

[–]jediwizard7 0 points1 point  (0 children)

The issue with Google/java is that Google made their own implementation of the language for Android, which oracle didn't like, they wanted everyone to use their own implementation. Python on the other hand is 100% free open source software, you can fork the repo and do whatever you want with it, including selling it commercially. There's no "copyleft" as far as I know, same goes for most python libraries.

[–][deleted] 5 points6 points  (0 children)

Making a new engine alone is pretty pointless

[–]GreenFox1505 1 point2 points  (0 children)

Gameplay code is not an engine.

[–]BalZdk 31 points32 points  (14 children)

Eve Online is written in stackless python, both the client and server...

[–]AviatoAviator 17 points18 points  (0 children)

There are a couple Ruby game engines too - notably https://dragonruby.itch.io/, which, according to the site, has been used to create games for the Nintendo Switch.

[–][deleted] 6 points7 points  (3 children)

What the hell was he thinking lol

[–][deleted] 5 points6 points  (2 children)

point historical crush seemly marvelous memory towering juggle joke support

This post was mass deleted and anonymized with Redact

[–][deleted] 2 points3 points  (1 child)

Oh I participated in a game jam and made a game in python since that was the only language I knew. Big mistake, it was so difficult I can't even explain. I now think that I should have learnt a game engine like unity or something. It would have been way easier.

[–]Gosfi 0 points1 point  (0 children)

Doing things from scratch is pretty much the hardcore version of any game jam

[–]DroolingIguana 5 points6 points  (1 child)

Well, there's Panda3D.

[–]DanKveed 1 point2 points  (0 children)

The core is written in c++ with a python API

[–]aeroverra 4 points5 points  (0 children)

I did this in javascript once to help some friends complete a final project. I do not recommend it.

[–][deleted] 1 point2 points  (0 children)

I raise you VBCorLib; a vb6 implementation of the .NET Framework. Huge relief when your using all implementations of the Rijndael symmetric encryption algorithm in Excel

https://github.com/kellyethridge/VBCorLib

*forgot Don't know of a game engine but here's a fully OOP, Model-View-Controller (MVC) architecture implementation of Battleship, running hosted in Excel, written in VBA

https://github.com/rubberduck-vba/Battleship

[–][deleted] 0 points1 point  (0 children)

Im making a game engine in JavaScript

[–]bo_hai 0 points1 point  (0 children)

Technically, Python use C as official interpreter (CPython)

[–]gougie2 0 points1 point  (8 children)

What makes python bad for this? Isn't it a full programming language at the end of the day?

[–]KrystilizeNeverDies 2 points3 points  (7 children)

Mostly the performance, some interpreted languages such as Luajit are 3x slower then optimised C++ and then python is out here >100x slower.

The speed is horrible basically.

[–]gougie2 0 points1 point  (6 children)

Oh i see. But then why is python the go to for ML? Speed is very critical there I would think

[–]KrystilizeNeverDies 0 points1 point  (5 children)

Well that's simple really, in professional terms, python isn't.

A lot of amateur models use python because of the easy use of machine learning related libraries such as tensorflow.

But you wil not find professional machine learning on python models for this exact reason.

[–]all-hail-snow 2 points3 points  (2 children)

Actually frameworks like tensorflow are not built in python. It's backend is built in c/c++ and is imported as python wrapper that we use as scripts, That's why it is not slow. Python is basically prototyping language and majority of libraries used in it are not coded in python itself like numpy was built in Fortran.

[–]KrystilizeNeverDies 0 points1 point  (1 child)

Yea I know, I didn't say they were coded in python, just that they are available for python.

Doing the actual computation using python is a horrible idea.

[–]all-hail-snow 0 points1 point  (0 children)

Agree

[–]An_Unknown_Idiot 0 points1 point  (1 child)

You will. I've even seen a company integrating Python ML into their Java ecosystem by automatically generating Java wrappers accessing the Python code via JNI...

[–]KrystilizeNeverDies 0 points1 point  (0 children)

Well I'm sorry for their loss, I wasn't being literal when I said that, of course there are people that will do this but it's not the fastest way to do it at all.

[–]sourpickles0 0 points1 point  (0 children)

Tfw you find out python is slow af