AGS Editor Source Code Release

Started by Pumaman, Tue 26/10/2010 19:30:56

Previous topic - Next topic

Calin Leafshade

I think we can assume that CJ is an experienced enough professional in his field to select a source control system.

It's not like he's some amateur who doesnt know what he's talking about.. have a little faith people.

Sslaxx

DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.
Stuart "Sslaxx" Moore.

deadsuperhero

Quote from: Sslaxx on Sat 30/10/2010 12:07:17
DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.

I also helped get the news picked up over at Ubuntu Gamer.

I would be interested in collecting a few Linux-native Mono developers together to study some of the non-portable parts of the engine and find cross-platform solutions that could end up working for everybody. Not only would it help strengthen the run time, but should Chris choose to open up the C++ library that is currently closed, we can at least get things done in the meantime.

Is anyone against the idea of me starting a downstream Launchpad page for a native AGS-Linux editor development to at least pick over the skeleton of the source code and try to implement something that would at least function a little more pleasantly? If not, I'll go right ahead and get the ball rolling. We can submit patches for review upstream when all is said and done. ;)
The fediverse needs great indie game developers! Find me there!

Electroshokker

This is great news!

Chris, do note that going open source (with any part of AGS) will require more then just releasing the source code and setting up a versioning system if you want to do things right.

You'll need the following:

- Set up chain of command

Only you can check things into the trunk, but you'll need community leads to run the various aspects of development documentation. (see my next points)

- Define initial features and capabilities

current features, requested features, implementation roadmap

=> extend the AGS Wiki with a dev area or dev wiki

- List all known current bugs

Bugtracker! (Separate the engine and the editor bugs, make it easier on yourself.)

- Get a documentation project going

User documentation is pretty well covered so far, but needs to be maintained and updated.
Developer documentation is (almost) non-existant, so that's a major cause for concern and the first thing on the agenda of the dev community. Right now every developer will struggle to get into it, but once the docs are created it will be a breeze to jump in at any point in the editor.

=> extend the AGS Wiki

We've got the infrastructure, just need to pick some community leads (like bugtracker & wiki moderators) to set up the basics so the community can get started and grow in the direction you want it to grow.

Wish I had the time to help out more, but I got less and less spare time, and between my game project and the linux port I've got enough going on atm.

I'd reckon you haven't got the time to handle all these aspects by yourself, so appoint some enthusiastic and trusted folks to help set it all up.

The community is great, but development processes need directions, otherwise they go nowhere fast. (And I'd hate to see that happen.)

After a proper dev community is set up and smoothly functioning for the AGS Editor, it will be much easier to consider opening the engine up. (As suggested by others, keep the file format handlers in closed-source dll's, that way no commercial ags games will get in trouble)

So to the community: let's show Chris what we can do to make AGS so much better!

xenogia

Quote from: DeadSuperHero on Sun 31/10/2010 06:35:12
Quote from: Sslaxx on Sat 30/10/2010 12:07:17
DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.

I also helped get the news picked up over at Ubuntu Gamer.

I would be interested in collecting a few Linux-native Mono developers together to study some of the non-portable parts of the engine and find cross-platform solutions that could end up working for everybody. Not only would it help strengthen the run time, but should Chris choose to open up the C++ library that is currently closed, we can at least get things done in the meantime.

Is anyone against the idea of me starting a downstream Launchpad page for a native AGS-Linux editor development to at least pick over the skeleton of the source code and try to implement something that would at least function a little more pleasantly? If not, I'll go right ahead and get the ball rolling. We can submit patches for review upstream when all is said and done. ;)

I actually wrote that article.. haha

deadsuperhero

#45
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

Hey, small world, then! I had no idea you were a regular contributor to UbuntuGamer! :D

Also, for any interested parties who would like to help hack away at the source code to improve portability (especially in relation to Linux), I've uploaded and set up a Linux-Native branch on Launchpad. Currently the source is there for contributors to check out and modify in order to push changes back out through the bzr protocol. I've taken extra care to ensure that everything is in accordance with the Artistic License.

https://launchpad.net/~agslinux
The fediverse needs great indie game developers! Find me there!

cat

Quote from: Pumaman on Thu 28/10/2010 23:29:58
QuoteHm, I've copied IrrKlang, removed the postbuild event and still cannot run it.

System.IO.FileLoadException was unhandled by user code
  Message="Could not load file or assembly 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"

Try copying the msvcm80, msvcm90, msvcr80, msvcr90, Microsoft.VC80.CRT.manifest, Microsoft.VC90.CRT.manifest from an installed AGS 3.2 folder to your bin/Debug folder, that might sort it out.


Thanks, now it works!
I might try to do something with the Plugin-API, when I have some time left.

Calin Leafshade

Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.

deadsuperhero

Quote from: Calin Leafshade on Mon 01/11/2010 14:57:22
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.

Some of them, but not all. I think some FOSS advocates don't understand that Chris doesn't want people cracking commercial titles with a totally open engine, though it used to be that you could easily get the assets from an AGS game through a pretty easy hack back in the AGS 2.6x days.
The fediverse needs great indie game developers! Find me there!

Sslaxx

Quote from: Calin Leafshade on Mon 01/11/2010 14:57:22
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.
Some people are open source zealots. Unfortunately people like that are going to just reinforce any negative opinion of open source CJ has, and make opening up the rest of the code (or working with CJ on the code at all) all that much harder. I will point out that I noted on that blog that the license CJ has picked is GPL-compatible, though.

I admit to having scant love for Mono (no thanks to Microsoft's involvement), but I'm not going to not want to be involved with any AGS development on Linux/Mac OS X because of it. I'd never thought I'd say this either, but right now Mono/.NET looks to be a safer bet to use (thanks to Oracle's screw-ups).
Stuart "Sslaxx" Moore.

smiley

Quote from: Pumaman
You won't be able to, due to the Native DLL. If the source code to that was available, does Mono have a mixed-mode Managed & Native C++ compiler that could build it?
No, but it would be possible to use a pure native library with a C-style API.

Quote from: Pumaman
The AGS Editor uses P/Invoke in some rare cases where I couldn't find a way of doing it with managed code. The Named Pipes exception that you mention is in .NET 3.5, but since I want the AGS Editor to continue to support .NET 2.0, we can't use this. (it would be feasible to just use that for a Linux port which would require a 3.5-version of Mono though, of course).
Seems that Mono doesn't support named pipes under Linux at the moment anyway.

Notes on the P/Invokes used by AGS.Editor:
http://pastebin.com/AgTb6N2J

edmundito

About keeping the source under revision control:

If Chris is more comfortable using a server-based central repository so he can keep tight control, then I'd recommend SVN over CVS.

However, after using some distributed version keeping and looking at open source projects out there, I think for community stuff it would be much nicer to keep it under bitbucket.org (Mercurial-based) or github.com (Git-based), since no one really needs permission to fork the main branch while keeping good track of what every one else in the community is up to. For example, I can branch the editor, make some changes and present them to the community, and if CJ and the AGS council likes it, then they're welcome to merge in my changes to the main official AGS branch. I can also easily see what for example tzachs and calin have been doing so far, and pull info from their changes onto my source without too much of a hassle.

I've been playing with more projects on Github and it seems that there is more activity there and the website is more robust than bitbucket, but Git's setup in windows is a bit more wonky than mercurials since it requires cygwin and that sort of nonsense, so I wouldn't mind using mercurial and bitbucket either.

The two paths we could take is that chris keeps his source in one place, where a lot of us can get organized and keep a mirror version in one of these two repositories as the main branch. The other option is that chris puts the main branch in one of these two places and we all from from him. I'd like to hear some thoughts about  what people prefer so we can get things rolling. :)
The Tween Module now supports AGS 3.6.0!

Wyz

I like the distributed source idea, because we can exchange patches and try things out. I also like Mercurial a bit better then git, I found git to be cumbersome to set up (well that was a while back, maybe things have changed) and mercurial easier to use (`hg serve` just brilliant!).
Life is like an adventure without the pixel hunts.

kkmic

#53
Since the download link seems to be broken (the one found in the first post), I have to ask someone to point me in the right direction, either towards an archive, or a revision system (the latter is preferred)

LE: Scratch that. I suppose this is it: https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/Editor/

monkey0506

#54
Yes, the source for the editor, engine, and the manual are all found in that SVN repository. The only thing that isn't there is the editor's native DLL.

kkmic

Ok, maybe this is a stupid question, but since I'm not too experienced with SVN, what's the server address that I must insert into my TortoiseSVN client? svn://..... ?

monkey0506

SVN URLs can be identified by the HTTP, HTTPS, SVN, or SVN+SSH protocols. The AGS SVN URL uses the HTTPS protocol. Simply use https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/ (be sure to set username 'guest' and no password) and you can check out a read-only (that is, you can't check-in any changes, the local files are writable) copy of the files in the SVN.

kkmic

#57
Ok, I'll give it a try.

It was pretty obvious that I cannot check-in my changes, but since I am looking mostly to browse the editor code, that won't be an issue.

Thanks

LE: It worked.

I used https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/Editor/ last time... maybe that's why it did not worked.

Construed

I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Monsieur OUXX

Quote from: monkey_05_06 on Tue 03/05/2011 10:49:17
SVN:  https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/ (be sure to set username 'guest' and no password)
a read-only copy of the files in the SVN.

How do I commit my changes?
The small changes described here : http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45975.msg617346#new
 

SMF spam blocked by CleanTalk