Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Showcase / Python 3 Plugin

Author
Message
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 21st Nov 2017 03:21 Edited at: 20th Dec 2017 06:55
Here's a plugin that allows Tier 1 AppGameKit to interact with Python 3.

There's an example project demonstrating how to call Python from AppGameKit in various ways.
The wiki has information on installing the plugin.
I've only built this for Windows x86.

Feed back is appreciated.
This is free for the community to use.

The ability to call AppGameKit commands from Python has been removed while things are discussed with the AppGameKit developers.
MikeHart
15
Years of Service
User Offline
Joined: 9th Jun 2003
Location:
Posted: 21st Nov 2017 15:18
Oh, NICE! I can see some usage here. Scripting in Tier1, that is awesome!

Can user functions be called from Python too? I didn't notice that in the example.
Running Windows 7 Home, 64 bit, 8 GB ram, Athlon II X2 255, ATI Radeon HD 4200. Using AGK2 Tier 1.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 21st Nov 2017 15:25 Edited at: 21st Nov 2017 16:50
There are some limitations:
1) Can't call user defined AppGameKit functions from Python code. I don't think there's a way around this.
2) Can't utilize other plugins from Python code. I don't think there's a way around this either.

EDIT:
I was wrong about GetPointer and GetRawMouse functions not working from within the Python script. The 3D Terrain example script had an error.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 1st Dec 2017 19:32
I have taken this down. If you downloaded the plugin before, please do not use it.
I'm discussing things with AppGameKit developers to make sure it stays within what is permitted by AGK's license. As it was, one could make an EXE that could be re-used by those who did not purchase AppGameKit and that needs to be avoided.
PartTimeCoder
AGK Tool Maker
3
Years of Service
User Offline
Joined: 9th Mar 2015
Location: Londinium
Posted: 6th Dec 2017 00:32
Quote: "I'm discussing things with AppGameKit developers to make sure it stays within what is permitted by AGK's license."


WTH!!!

I'v spent the last 3 months writing a Lua plugin for AppGameKit , have I waisted my time?
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 6th Dec 2017 01:50
@PartTimeCoder: Well, the part in question here is the part where I allowed AppGameKit commands to be called from the Python script to the point where Python could pretty much do 100% of the work without needing much by way off Tier 1 or 2 code, which was not good.

When I asked, I was told
Quote: "One of the few restrictions on the use of AppGameKit is that it can't be used to create a new standalone game engine that has the same or similar command set to AGK. Otherwise we're creating our own competition. I think using Python to call AppGameKit commands would fall under this category,"
MikeHart
15
Years of Service
User Offline
Joined: 9th Jun 2003
Location:
Posted: 7th Dec 2017 12:45
They could have have restricted this for distributing something like this. But cancel that complete takes away the possibility to add a scripting language to AppGameKit product. Very restricting and for a lot of projects basically a killer.
Running Windows 7 Home, 64 bit, 8 GB ram, Athlon II X2 255, ATI Radeon HD 4200. Using AGK2 Tier 1.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 7th Dec 2017 14:36
It is not canceled completely. It is being discussed with the AppGameKit developers how best to implement this capability without making allowing someone to use it without an AppGameKit license.

I removed the repo since it goes against their terms. However, I can upload the plugin without the capabilities of calling AppGameKit commands from Python since that doesn't go against their license, but I think most would like to use at least some AppGameKit functionality from Python.
PartTimeCoder
AGK Tool Maker
3
Years of Service
User Offline
Joined: 9th Mar 2015
Location: Londinium
Posted: 8th Dec 2017 11:12
OK, so a custom scripting system suited to a specific game is ok just not a function wrapper.... fair point, it is restrictive but I see where there coming from, I can call AppGameKit commands on a micro level in the plugin and export more generic functions to lua that are suited to the actual game or app, so its still possible to offer modifiable games only just needs a custom lua engine for each game...... have I got that right?
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 8th Dec 2017 14:28
From what they wrote to me, it seems like that is OK, but I'm not the right person to ask. I recommend contacting one of the AppGameKit developers directly and asking them.
Jack
14
Years of Service
User Offline
Joined: 4th Oct 2004
Location: [Germany]
Posted: 11th Dec 2017 13:54
In my point of view, it should be okay to release/write/develop such plugin.
It's just not okay, if someone builds a product similar to an AppGameKit wrapper with it.

A good friend of mine is a pyhon backend fanatic. I would go insane, if it would be possible to
combine the development speed of visual t1 apps with python backend code.
This would allow ridiculous complex software development, really useful for tgc, if you ask.




[/url]
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 11th Dec 2017 19:08
When I get the chance, I will re-upload the code but without AppGameKit commands being available inside Python. This will at least allow Python to be used for some things and AppGameKit code can store handles to PyObjects that the plugin returns in order to access variables that Python sees and manipulates.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 20th Dec 2017 06:48
The project has been posted again but with the ability to call AppGameKit commands removed.
The example project demonstrates a few ways of utilizing Python from Tier 1 code.
MikeHart
15
Years of Service
User Offline
Joined: 9th Jun 2003
Location:
Posted: 20th Dec 2017 13:59
Thank you!
Running Windows 7 Home, 64 bit, 8 GB ram, Athlon II X2 255, ATI Radeon HD 4200. Using AGK2 Tier 1.
Bengismo
User Offline
Joined: 20th Nov 2017
Location: Yorkshire, England
Posted: 9th Mar 2018 18:07
Ive just seen the announcement!

App Game Kit for python! Great work Adam. Good to see that TGC are getting behind this!
Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 10th Mar 2018 05:28 Edited at: 10th Mar 2018 05:30
Hey guys, quick heads up, when it says:

Quote: "Python 3.6 or greater for Windows x86 is required in order to use the PYD."


It specifically needs something in the 3.6.x range.

3.7 does not work and gives an error about unable to open a DLL (which turns out to be python36.dll) when attempting to import the pyd
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 27th Mar 2018 16:06
@Bengismo: Thanks.

@Ortu: Thanks for pointing that out. I'll see what I can do about the 3.7 situation.

Sorry for the late response. I didn't get a notification that this thread got any replies.
adambiser
AGK Developer
3
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 2nd Apr 2018 23:43
@Ortu: The PYD has been updated so that it will work with Python 3.3+ instead of just 3.6. Please let me know if you have any issues with it.

Login to post a reply

Server time is: 2018-10-16 20:52:07
Your offset time is: 2018-10-16 20:52:07