May 03, 2024, 01:46:39 am

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 ... 22 23 [24] 25 26 ... 77

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

CrazNoDale

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #345 on: January 02, 2012, 10:15:38 pm »

According to Orpheon the advantages of porting gg2 to Python is that the code is much easier to understand. Is that all there is too it? And how far did we get like a percentage?
Logged

NAGN

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

Hmm, well the code being much easier to understand is debatable, as with the the loss of game maker, we end up having to deal with external libraries and not built in functions, you know like a normal programming language

but yes the code will definitely be more legible due to how uniform python programs are forced to be. However there's many more benifits to moving to python that I'll just summarize as this:

It'll be faster and more flexible, and also leaving behind the dreadful frame locked nature of game maker
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Porting GG2 to Python - PyGG2
« Reply #347 on: January 03, 2012, 03:09:17 am »

It also provides us all the advantages of starting from scratch, so we can improve things that were just inherently bad from design, like using TCP.

Then, yes, game maker forces us to use a fixed frame per seconds, pygg2 already has a fully working separated rendering and physics code, with interpolation.

And, one of the biggest things, it allows us to host on dedicated linux servers. This is a lot.

Then you have all the advantages of the better language for programming (Python is really a lot easier to use then GML, the only thing GML has more are a few unnecessary functions, and python is more powerful anyways, as well as a better license and support), command line hosting, etc etc...



'scuse me pals, holding the idiot ball for the night

Will python-developed versions of gg2 be compatible with the servers hosted on game maker ones, during the transition time and/or to test them?
Definately not. We're not even using the same network protocol (=network language), nor any similar system for syncing stuff.



we end up having to deal with external libraries and not built in functions, you know like a normal programming language
Ehm, the only external libraries we use right now are pygame for drawing. GG2 has it's own share of external libraries, like Faucenet, which we don't need.
« Last Edit: January 03, 2012, 03:10:00 am by Orpheon »
Logged

nightcracker

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

Hmm, let me just sum everything up.

The advantages of PyGG2:

  • Python is a "real" programming language, unlike GML. This gives us a better chance to market the game to for example get it featured on steam. AKA more users.
  • Python is free, unlike GML. This means that everyone can contribute code without having to "buy" Game Maker. AKA more contributors
  • PyGG2 will have better performance than GG2, simply because Python is way faster than GML and the programmer is free to optimize in any way he wants. AKA more speed and less lag
  • Because Python's object system is better designed for large systems than GML's and we have full control over the system it is easier to keep the code clean and maintain the game. AKA less bugs
  • Because Python is faster and allows for more complex systems than GML it is easier to implement lag compensation. AKA less lag
  • PyGG2 is built up from the ground allowing us to revise previous not-so-wise design decisions (major one: UDP vs TCP). AKA less lag, less bugs
  • Because Python runs on every major platform, and so will PyGG2, PyGG2 can be run on Windows, Linux and Mac. AKA more users
  • And by far the most important one, because PyGG2 runs on every major platform and we can run the game engine without the graphics engine in PyGG2 (we couldn't do this in GML due to the way GML works) we can run dedicated servers. AKA A HELL OF A LOT LESS LAG


The disadvantages of PyGG2:

  • It takes a lot of time to develop, but Orpheon and I are working on it
  • Until we have figured out a good modding policy the modding lobby will most likely be disabled
« Last Edit: January 03, 2012, 03:32:14 am by nightcracker »
Logged

nightcracker

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

If possible, I'd like to see a progress bar or something on this page, by simply reading I can't find out how far have you got...

  • Because Python is faster and allows for more complex systems than GML it is easier to implement lag compensation. AKA less lag
I'm pretty new to all of this stuff, but wouldn't that be an opening to speedhackers?

A progress bar is completely impossible to give until we get into later stages of development.

No, something that I haven't explained yet is that the server is completely authoritative about the positions of players. The lag compensation only applies to input. Say the user pressed the space button at timestamp x. The server will recieve the event at timestamp x + lag. The server will then find the correct gamestate at timestamp x, insert the event and then recalculate all the later gamestates. There is obviously a maximum amount of lag compensation (we haven't decided yet where to put the limit), so the user can't say "YO SERVER I TOTALLY SHOT THAT GUY 1.5 SECS AGO".
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Porting GG2 to Python - PyGG2
« Reply #350 on: January 03, 2012, 06:08:40 am »

I'm putting that post on the OP.
Logged

notajf

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #351 on: January 03, 2012, 06:13:21 am »

Please stop the "GML is not a real language" circlejerk. GML is a real language, a good one for game creation too.
The advantage of Python is better OOP, a better type system, far more libraries and faster execution.
Logged

Meower

  • Elder God tier or Fagthulu, the great
  • Community Manager
  • *****
  • Karma: 230
  • Offline Offline
  • Posts: 22286
  • Went fat once, never went back
Re: Porting GG2 to Python - PyGG2
« Reply #352 on: January 03, 2012, 06:50:09 am »

I'm quite concerned about the possible decrease in mods output, given the change of language. It's my only qualm, right now.
Logged

nightcracker

  • NC
  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 516
  • PyGG2 dev
    • NC Labs
Re: Porting GG2 to Python - PyGG2
« Reply #353 on: January 03, 2012, 07:15:35 am »

I'm quite concerned about the possible decrease in mods output, given the change of language. It's my only qualm, right now.
Would it be hard to first make a mod with GMK, and then just translate it to python?
Again, I've never coded anything more complicated than "Press V for taunt bubbles" and even with that I needed Lorgan :P

PyGG2 source has as much to do with GG2 source as a knife has to do with a gun. They are both designed to fight, but that's about it.
Logged

Meower

  • Elder God tier or Fagthulu, the great
  • Community Manager
  • *****
  • Karma: 230
  • Offline Offline
  • Posts: 22286
  • Went fat once, never went back
Re: Porting GG2 to Python - PyGG2
« Reply #354 on: January 03, 2012, 07:29:58 am »

Would it be hard to develop a system to port already existing gg2 mods to the new version?
And what about future mods, will things be easier for them?
Logged

CrazNoDale

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #355 on: January 03, 2012, 07:50:25 am »

Do you guys have an approximation on when this will be set?
Logged

RedBluYellow

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #356 on: January 03, 2012, 07:51:05 am »

>less lag
>lag compensation

kiss me
Logged

nightcracker

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

Would it be hard to develop a system to port already existing gg2 mods to the new version?

Virtually impossible.

And what about future mods, will things be easier for them?

I'm not sure, yes and no. Coding mods in Python will be easier, but we're going to have to do some secure model or something which will make it harder. It will depend on our future design decisions.
« Last Edit: January 03, 2012, 08:40:07 am by nightcracker »
Logged

Meower

  • Elder God tier or Fagthulu, the great
  • Community Manager
  • *****
  • Karma: 230
  • Offline Offline
  • Posts: 22286
  • Went fat once, never went back
Re: Porting GG2 to Python - PyGG2
« Reply #358 on: January 03, 2012, 09:20:35 am »

I think this is a pretty big issue, imo. If anything, there should at the very least be some kind of guide for future modders helping them cross the gap between the two languages, otherwise we'd end up alienating part of the playerbase for a bit of a less laggy game.
Logged

CrazNoDale

  • Guest
Re: Porting GG2 to Python - PyGG2
« Reply #359 on: January 03, 2012, 09:29:30 am »

People would still be able to play the mod. Its not like its completely lost... Or is it? Also about the lag. How much less lag can this possibly create? Is it as drastic as a person that gets 2 seconds of delay and a lot of stutters to have .5 seconds of delay and nearly no stutters?
Logged
Pages: 1 ... 22 23 [24] 25 26 ... 77
 

Page created in 0.042 seconds with 34 queries.