May 18, 2024, 05:01:00 pm

The Gang Garrison 2 Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

NOTICE: Wondering where all the forums have gone?

Join the community Discord server!

Pages: 1 ... 27 28 [29] 30 31 ... 77

Author Topic: Official PyGG2 Development thread  (Read 142835 times)

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Porting GG2 to Python - PyGG2
« Reply #420 on: January 10, 2012, 03:27:33 pm »

Well, we'd really like a Python map build for Pygg2. We want to move completely away from GM.
Meh. cspotcode's is Java, the language really shouldn't matter.

I was using Java because it's easily cross-platform, has killer GUI libraries, and I thought the most realistic GG2 rewrite would happen in Java.  I was using the Netbeans Platform, which is mega-powerful for implementing complex editors, but also has a big learning curve.

I'm not opposed to Python but I'd have to research cross-platform GUI libraries.  They probably won't be as 'mega-powerful' as the Netbeans Platform, but having the speed of a scripting language is a plus.

@Terry: I also hate the old map format, I'll post some of my new ideas.
It would probably be beneficial that the map editor and the game were in the same language. For multiple reasons.
Logged

notajf

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #421 on: January 10, 2012, 03:30:03 pm »

Well, we'd really like a Python map build for Pygg2. We want to move completely away from GM.
Meh. cspotcode's is Java, the language really shouldn't matter.

I was using Java because it's easily cross-platform, has killer GUI libraries, and I thought the most realistic GG2 rewrite would happen in Java.  I was using the Netbeans Platform, which is mega-powerful for implementing complex editors, but also has a big learning curve.

I'm not opposed to Python but I'd have to research cross-platform GUI libraries.  They probably won't be as 'mega-powerful' as the Netbeans Platform, but having the speed of a scripting language is a plus.

@Terry: I also hate the old map format, I'll post some of my new ideas.
It would probably be beneficial that the map editor and the game were in the same language. For multiple reasons.
To reduce code duplication etc etc. Yes.

That doesn't mean we'll rewrite it in Python.
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Porting GG2 to Python - PyGG2
« Reply #422 on: January 10, 2012, 03:34:10 pm »

Well, we'd really like a Python map build for Pygg2. We want to move completely away from GM.
Meh. cspotcode's is Java, the language really shouldn't matter.

I was using Java because it's easily cross-platform, has killer GUI libraries, and I thought the most realistic GG2 rewrite would happen in Java.  I was using the Netbeans Platform, which is mega-powerful for implementing complex editors, but also has a big learning curve.

I'm not opposed to Python but I'd have to research cross-platform GUI libraries.  They probably won't be as 'mega-powerful' as the Netbeans Platform, but having the speed of a scripting language is a plus.

@Terry: I also hate the old map format, I'll post some of my new ideas.
It would probably be beneficial that the map editor and the game were in the same language. For multiple reasons.
To reduce code duplication etc etc. Yes.

That doesn't mean we'll rewrite it in Python.
What? You want to import python code of the engine and stuff in Java? Why?

Also, why make everything more complicated for a new/GML-only modder? Why two three languages instead of one two?
« Last Edit: January 10, 2012, 03:34:22 pm by Orpheon »
Logged

notajf

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #423 on: January 10, 2012, 03:38:17 pm »

Well, we'd really like a Python map build for Pygg2. We want to move completely away from GM.
Meh. cspotcode's is Java, the language really shouldn't matter.

I was using Java because it's easily cross-platform, has killer GUI libraries, and I thought the most realistic GG2 rewrite would happen in Java.  I was using the Netbeans Platform, which is mega-powerful for implementing complex editors, but also has a big learning curve.

I'm not opposed to Python but I'd have to research cross-platform GUI libraries.  They probably won't be as 'mega-powerful' as the Netbeans Platform, but having the speed of a scripting language is a plus.

@Terry: I also hate the old map format, I'll post some of my new ideas.
It would probably be beneficial that the map editor and the game were in the same language. For multiple reasons.
To reduce code duplication etc etc. Yes.

That doesn't mean we'll rewrite it in Python.
What? You want to import python code of the engine and stuff in Java? Why?

Also, why make everything more complicated for a new/GML-only modder? Why two three languages instead of one two?
No, I'm saying just because we *should* avoid having seperate languages does not mean we are going to trash perfectly good existing work just because some people want it done in Python.
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Porting GG2 to Python - PyGG2
« Reply #424 on: January 10, 2012, 03:59:08 pm »

Well, we'd really like a Python map build for Pygg2. We want to move completely away from GM.
Meh. cspotcode's is Java, the language really shouldn't matter.

I was using Java because it's easily cross-platform, has killer GUI libraries, and I thought the most realistic GG2 rewrite would happen in Java.  I was using the Netbeans Platform, which is mega-powerful for implementing complex editors, but also has a big learning curve.

I'm not opposed to Python but I'd have to research cross-platform GUI libraries.  They probably won't be as 'mega-powerful' as the Netbeans Platform, but having the speed of a scripting language is a plus.

@Terry: I also hate the old map format, I'll post some of my new ideas.
It would probably be beneficial that the map editor and the game were in the same language. For multiple reasons.
To reduce code duplication etc etc. Yes.

That doesn't mean we'll rewrite it in Python.
What? You want to import python code of the engine and stuff in Java? Why?

Also, why make everything more complicated for a new/GML-only modder? Why two three languages instead of one two?
No, I'm saying just because we *should* avoid having seperate languages does not mean we are going to trash perfectly good existing work just because some people want it done in Python.
That mostly depends on the size of the work done in Java. But yeah, whatever. Do what you guys think is best.
Logged

Phantom Brave

  • All Hail Classicwell
  • Moderator
  • *****
  • Karma: 70
  • Offline Offline
  • Posts: 12532
  • Another one --
Re: Porting GG2 to Python - PyGG2
« Reply #425 on: January 10, 2012, 08:07:07 pm »

Off-topic, but one idea I thought of was that the GIF format would be good for GG2 maps. It's a simple format, 256-color, and its multiple frames support could be used for bg/wallmask/foreground image/item placement.
PNGs can be palletized/indexed too, easily, as well as a hard 256 color restriction being bad for map makers.
Logged

http://steamcommunity.com/id/wareya/
ladies and gentlemen i would like to announce that the fact of the matter is up that the fact of the matter is a fact and it matters

NAGN

  • Developer
  • ******
  • Karma: 146
  • Offline Offline
  • Posts: 16150
  • Yeah so now I have an idea
Re: Porting GG2 to Python - PyGG2
« Reply #426 on: January 10, 2012, 10:05:29 pm »

also I think that PNG was chosen because of its layering system, which I don't think was actually used for the wallmasks as its just translated into bits and written directly into the metadata
Logged

cspotcode

  • Coder
  • Administrator
  • *****
  • Karma: 134
  • Offline Offline
  • Posts: 412
Re: Porting GG2 to Python - PyGG2
« Reply #427 on: January 10, 2012, 10:32:48 pm »

also I think that PNG was chosen because of its layering system, which I don't think was actually used for the wallmasks as its just translated into bits and written directly into the metadata

No, I didn't choose PNG for layering, I chose it for metadata support and because it was a sensible, common, lossless image format that could be displayed in websites.

Of course, now I think that the whole "use images as maps" idea was a bad one.
Logged
"The knack of flying is learning how to throw yourself at the ground and miss."
- Douglas Adams

nightcracker

  • NC
  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 516
  • PyGG2 dev
    • NC Labs
Re: Porting GG2 to Python - PyGG2
« Reply #428 on: January 11, 2012, 02:21:30 am »

My idea is just a .map format. It's just a zip file with two .png's in it (foreground and wallmask), and potentially some .metadata files or something. You get bundling for free, aswell as compression. Python (and I think Java too, but I'm not sure) can read/write zip files with the standard library.

Also, one thing that you must keep in mind, PyGG2 will be using the PNG alpha channel for alpha, and not the green key color. (Yes, this also means you can get semi-transparent sprites).

I also had a (random) idea for the metadata, instead of making it some sort of text file we could make a third image instead. Bright red means RED's spawn, blue means BLUE's spawn, grey means bullet wall, yellow is left-to-right bullet wall, orange is right-to-left bullet wall, you get the idea. This way you also can easily overlay the maps and quickly spot any errors.
« Last Edit: January 11, 2012, 02:27:37 am by nightcracker »
Logged

MedO

  • Owns this place
  • *****
  • Karma: 151
  • Offline Offline
  • Posts: 1752
Re: Porting GG2 to Python - PyGG2
« Reply #429 on: January 11, 2012, 02:36:24 am »

My idea is just a .map format. It's just a zip file with two .png's in it (foreground and wallmask), and potentially some .metadata files or something. You get bundling for free, aswell as compression. Python (and I think Java too, but I'm not sure) can read/write zip files with the standard library.
+1

Quote
Also, one thing that you must keep in mind, PyGG2 will be using the PNG alpha channel for alpha, and not the green key color. (Yes, this also means you can get semi-transparent sprites).
This is already possible in GM as well.

Quote
I also had a (random) idea for the metadata, instead of making it some sort of text file we could make a third image instead. Bright red means RED's spawn, blue means BLUE's spawn, grey means bullet wall, yellow is left-to-right bullet wall, orange is right-to-left bullet wall, you get the idea. This way you also can easily overlay the maps and quickly spot any errors.
Not hugely in favor of this, it would be difficult to work with entities which are supposed to overlap.
Logged
Quote from: Alfred North Whitehead
It is the business of the future to be dangerous; and it is among the merits of science that it equips the future for its duties.

Quote from: John Carmack
[...] if you have a large enough codebase, any class of error that is syntactically legal probably exists there.

nightcracker

  • NC
  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 516
  • PyGG2 dev
    • NC Labs
Re: Porting GG2 to Python - PyGG2
« Reply #430 on: January 11, 2012, 03:17:43 am »

Quote
I also had a (random) idea for the metadata, instead of making it some sort of text file we could make a third image instead. Bright red means RED's spawn, blue means BLUE's spawn, grey means bullet wall, yellow is left-to-right bullet wall, orange is right-to-left bullet wall, you get the idea. This way you also can easily overlay the maps and quickly spot any errors.
Not hugely in favor of this, it would be difficult to work with entities which are supposed to overlap.

Ahh yes, NVM then :)

I also had another idea. You can actually put different game modes in the same map. Basically here's what the zip would look like:

Code: [Select]
random_name.zip
 |- cp_foreground.png
 |- cp_wallmask.png
 |- cp.metadata
 |- ctf_foreground.png
 |- ctf_wallmask.png
 |- ctf.metadata

But that also is, a random idea.
« Last Edit: January 11, 2012, 03:19:55 am by nightcracker »
Logged

Phantom Brave

  • All Hail Classicwell
  • Moderator
  • *****
  • Karma: 70
  • Offline Offline
  • Posts: 12532
  • Another one --
Re: Porting GG2 to Python - PyGG2
« Reply #431 on: January 11, 2012, 03:28:11 am »

Game modes should be individual to one map file.
Logged

http://steamcommunity.com/id/wareya/
ladies and gentlemen i would like to announce that the fact of the matter is up that the fact of the matter is a fact and it matters

MedO

  • Owns this place
  • *****
  • Karma: 151
  • Offline Offline
  • Posts: 1752
Re: Porting GG2 to Python - PyGG2
« Reply #432 on: January 11, 2012, 03:29:51 am »

Interesting, but I don't see a big advantage over just distributing the modes as seperate maps, and as a disadvantage it couples the different game modes for updates, so if a map changes only one game mode or adds a new one, you will either have to download the entire map file again - even if the mode you actually want to play didn't change - or you will end up with lots of versions of the same map on your disk, depending on how the map system will work.

...so, what wareya said.
Logged
Quote from: Alfred North Whitehead
It is the business of the future to be dangerous; and it is among the merits of science that it equips the future for its duties.

Quote from: John Carmack
[...] if you have a large enough codebase, any class of error that is syntactically legal probably exists there.

Nukleus

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #433 on: January 11, 2012, 03:34:21 am »

Why do we have to change from the current system?
Logged

Phantom Brave

  • All Hail Classicwell
  • Moderator
  • *****
  • Karma: 70
  • Offline Offline
  • Posts: 12532
  • Another one --
Re: Porting GG2 to Python - PyGG2
« Reply #434 on: January 11, 2012, 03:53:12 am »

current map system is unsustainable and thrown-together-like
Logged

http://steamcommunity.com/id/wareya/
ladies and gentlemen i would like to announce that the fact of the matter is up that the fact of the matter is a fact and it matters
Pages: 1 ... 27 28 [29] 30 31 ... 77
 

Page created in 0.049 seconds with 33 queries.