Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 37

Thread: PGD Challenge in the Winter?

  1. #21
    PGD Staff code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    933
    Blog Entries
    45
    Or... Package your game into a vmdk with something which uses WINE and XFCE or LightDm... Just a handful of megabytes and everyone is happy Plus, no need for installers or the like. Write once, run anywhere... If that rings a bell
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  2. #22

    Cool

    Quote Originally Posted by code_glitch View Post
    Or... Package your game into a vmdk with something which uses WINE and XFCE or LightDm... Just a handful of megabytes and everyone is happy Plus, no need for installers or the like. Write once, run anywhere... If that rings a bell
    Another project of mine is do something like that: a simple Linux/FreeDOS/ReactOS distro that can run on CD (AKA. Live CD) and make it simple for developers to add games/apps. That is the modern version of good old autoboot diskettes.
    No signature provided yet.

  3. #23
    PGD Staff code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    933
    Blog Entries
    45
    In theory a minimal system with just the desktop environment on top of the linux kernel and the libraries you need should zip up pretty small... So it'd be like a Java VM, just full on x86

    Might do this for my entries from now on...
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  4. #24
    Quote Originally Posted by SilverWarior View Post
    Making game to be able to run on multiple platforms isn't easy especially if you don't have sufficient expirience with target platform. While windows is still most popular platform on PC computers this is no guarantee that all of us have suficient expirience with it even due the fact that probably all of us used Windows at some point. But if someone is using MAC OS for the last 5 yers it will have a lot of troubles making game to run smothly on Windows due to qute some changes in Windows architercture (changed various paths, lots of changes in acces premisons etc.). Same will go for me if I would try to make my game runable on MAC OS or Linux becouse I have no expirience with MAC OS and verry litle expirience with Linux.
    It's not that difficult when you are making apps with Lazarus Simplest requirement is not to include Windows in the uses list. Second is converting all paths to fit operating system. For this there is a internal constant PathDelim, which is \ or / depending on OS. But also you can get tips from nxPascal FixPath() function

    That should be all there is to crossplatform. Use OpenGL, not DirectX. Some differences with dll libraries, but that's a problem outside of compiled executable.

  5. #25
    Quote Originally Posted by User137 View Post
    It's not that difficult when you are making apps with Lazarus Simplest requirement is not to include Windows in the uses list. Second is converting all paths to fit operating system. For this there is a internal constant PathDelim, which is \ or / depending on OS. But also you can get tips from nxPascal FixPath() function

    That should be all there is to crossplatform. Use OpenGL, not DirectX. Some differences with dll libraries, but that's a problem outside of compiled executable.
    Actually, this is much easier to say than to do. In reality, when you have worked on Windows platform for too long, it *is* difficult porting to other platforms. OpenGL is nice, but its initialization differs (unless you use GLUT or similar helpers, which have its own problems - for one, they are not readily available on Windows and are outdated). Sockets (anything beyond trivial) are considerably different due to WinSock specifics. Other helpers such as temporary path folders, registry configuration, dynamic libraries, etc. all all different too.

    Also, you need to be very careful with the code you write to keep it portable.

    To resume, for some very basic or crippled games/applications that will work and look poorly on all platforms - sure, it is relatively easy to acomplish, but as soon as you start working on features beyond trivial you *have* to start using platform-specific routes, which makes the code considerably more complex by adding many different code paths. Just take a look at actual LCL source code to see the real scope of a cross-platform project.

    However, it is still a good idea to pursue multi-platform PGD challange and it will help people to work out issues in their code. Making and running your applications on different platforms is an ultimate challenge for writing applications, that requires discipline and experience to make proper architectural decisions.

  6. #26
    Or you could write it using Oxygene for Java and it will run on Windows, Linux, and Mac OSX if Java is installed LOL

  7. #27
    Quote Originally Posted by paul_nicholls View Post
    Or you could write it using Oxygene for Java and it will run on Windows, Linux, and Mac OSX if Java is installed LOL
    Similarly, you could write it in Delphi Prism, or alternatively in Embarcadero HTML5 Builder and it will in any HTML5-based browser, even on Android.

  8. #28
    Quote Originally Posted by Lifepower View Post
    Similarly, you could write it in Delphi Prism, or alternatively in Embarcadero HTML5 Builder and it will in any HTML5-based browser, even on Android.
    Or Smart Mobile Studio as HTML5 application too

  9. #29
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25
    You know guys, if this was a Delphi-only competition then things might be a little easier. I joke!

    However multiple platforms does provide the bulk of the tool, development and testing logistical problems of running competitions. And in the future it looks to be even more level of a playing field with at least 5 (maybe 6 including the web browser with HTML5?) major platforms PC and mobile combined. I can only see volunteered "judges" as the way to make official scores for entries.

    However there can be some kind of unofficial scoring or value I guess, even for those that don't make their game for ALL possible platforms. That would require all entries to submit at least 1 video capture of their game after being completed, being played, recorded and posted on YouTube or Vimeo for public viewing. That does have a little bit of a problem of course as not everyone may have the software or know-how to make such a recording of their game or an account on YouTube or Vimeo to post with.

    Not as big a problem as trying to port or code their game for all top platforms, so it's a possible solution. All submissions that wanted to take part in the "community impressions" scoring would need to make a thread and post the video so that it's embeded into the post so it can be watched here on PGD. From there all PGD community members can vote by using the "Rate This Thread" option and giving it their own personal rating as they seem it fit. That's an easy way of doing that, but is it anywhere near what you guys would like in the next competition?
    Jason McMillen
    Pascal Game Development
    Co-Founder





  10. #30
    Co-Founder / PGD Elder WILL's Avatar
    Join Date
    Apr 2003
    Location
    Canada
    Posts
    6,107
    Blog Entries
    25
    Quote Originally Posted by User137 View Post
    It's not that difficult when you are making apps with Lazarus Simplest requirement is not to include Windows in the uses list. Second is converting all paths to fit operating system. For this there is a internal constant PathDelim, which is \ or / depending on OS. But also you can get tips from nxPascal FixPath() function

    That should be all there is to crossplatform. Use OpenGL, not DirectX. Some differences with dll libraries, but that's a problem outside of compiled executable.
    From personal experience (I develop on a Mac exclusively now.) setting up your project from Windows to a Mac takes a lot of IFDEFs or a separate unit to handle resource paths (like what I use now) and some extra configuration in the Project Options to account for multiple platform compilation and bundling. It's not impossible or so complicated that it's barely doable without a rocket scientist degree, but it is a wee bit involved (you need to know Lazarus well!) and you might need some extra guidance from someone that has done it themselves often enough before.

    It took me a good month or so to get Lazarus working for me on my Mac and to convert some of my projects so that they'll compile and run in the IDE and debug properly.

    Sadly with the removal of X11 as standard in the latest version of Mac OS X (Mountain Lion) you now require a 3rd party (open source) project version of X11 for Mac to run my games. I still haven't weeded out X11 linking from my projects yet it seems. I have yet to figure it out.

    So there is a lot of know-how involved when developing across platforms...
    Jason McMillen
    Pascal Game Development
    Co-Founder





Page 3 of 4 FirstFirst 1234 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •