Author Topic: The Crowdsourced Game  (Read 375303 times)

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #60 on: 2012-04-08, 05:00:39 PM »
I've committed the code to source control for the first time, and it's visible at http://sourceforge.net/p/iotabuildit/code/ci/44bb96612ebe0804d63e325d25caf1dcce4555dd/tree/.

I'm still a bit fuzzy on how this new form of source control works, but if you have TortoiseHg, you should be able to download the code. Hopefully with a little more research, I can find ways to:
1. Allow you to download the code without having TortoiseHg, and
2. (with the help of some custom PHP code perhaps) allow you to "play" a specific version of the code in the repository right in the browser by just specifying a changeset or version id.

I don't know what branching looks like yet because there's been only my 1 commit. But hopefully when I get a chance I can open up the repository for others to participate, see what branching looks like, and figure out what makes sense for accepting and tracking submissions, and for pulling them into a "workspace" where someone can play a particular version.

v6v

  • Clever
  • Fanatic
  • ***
  • Posts: 500
  • Has renamed his project to Galaxy!
    • View Profile
    • My Developer Page!
    • Email
Re: The Crowdsourced Game
« Reply #61 on: 2012-04-11, 04:19:33 PM »
I may be some days late, but I noticed that sound works in the game. :)

Is there any specific way on how you would like us to start working with this?

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #62 on: 2012-04-11, 08:01:30 PM »
Actually HTML5 sound was working in the first demo I posted after coming up with this project. (At least in Chrome it was working. I test in Chrome and sometimes IE. I rarely get to FireFox.)

I am still investigating how Mercurial source control works. But you are invited to get TortoiseHg and see how straightforward it is (if you can figure it out without any further instruction) to get the code and maybe try an update and see what your options for sharing your update are. Otherwise, I still need to figure out how I want massive participation in this project to work. I may have need of a PHP script that can automatically retrieve a specific version from Mercurial and host it for an arbitrary player and a script to let players rate specific versions / changesets. (When all the HTML files are split out as they are in the current source control structure, you can't play locally in Chrome -- not sure if that was the best choice, but it would be nice to have the files split out like that -- easier to read.)  I haven't had a lot of time to research lately. I think the next step is still mine; I'm just having a hard time getting around to it.

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #63 on: 2012-04-12, 07:44:14 PM »
Okay, I have done a little more investigation, and I think I have a rough idea of one possible way of operating, although I'm not sure it's the ideal method for the long term because it still requires a sort of developer mindset to participate in the project (you have to get TortoiseHg and make your own local repository and go through a number of steps to commit changes).  But I think this could work to get a limited number of people started in participating in the project. When we understand SourfeForge and Mercurial a bit better we may be able to implement some PHP scripts to help get more users invovled by making the whole process even easier. Meanwhile, would anybody be interested in helping me document the process of participating in the project at this early stage, especially with respect to getting the permission checked and straightened out?

1. These are some steps I used to commit and merge code:
   a. Download TortoiseHg
   b. Create a folder for iotaBuildIt
   c. Right-click on the folder, open the "TortoiseHg" pop-up menu and select "Clone..."
   d. Replace the path in the "source" box with "ssh://xxxxx@hg.code.sf.net/p/iotabuildit/free4all" where xxxxx is your SourceForge user account (you'll need a SourceForge account)
   e. This should get you the source code. Now you can run SGDK2 (I assume as SGDK2 forum members you know all about that part) to run and edit the project.
   f. When you make an edit you want to share, save the SGDK2 file, and run an HTML5 export
   g. When exporting the HTML5, specify the HTML folder where Mercurial code downloaded HTML content, and be sure to check the box and select the option to split the output into as many files as possible.
   h. Right-click on the Mercurial root folder and select Hg Commit... (follow the steps, which will commit the changes to your local repository - I don't remember what it looks like)
   i. Right-click on the Mercurial root folder and select Hg Workbench
   j. Select Synchronize from teh View menu
   k. In the lower pane, verify that the path you are uploading to is ssh://hg.code.sf.net/p/iotabuildit/free4all - you may want to insert your_user_name@ before the "hg."
   l. Click the button to "push outgoing changesets to remote repository"
   m. Navitage to https://sourceforge.net/p/iotabuildit/free4all/ and click "Request Merge"... follow whatever feels right from there.
   n. Keep in mind there are other ways to share your changes in a distributed version control system. This is just if you want to merge your changes back into the base/root image (the parent of the "free4all" fork where anybody can commit changes)
   o. You can supposedly also create your own fork of the "code" repository (not just the free4all repository) in your own user directory. Check if you have permission to do that.
2. I'm interested in your thoughts about ways in which you think users could participate in submitting changes, and what skills you might have to make it easier:
   a. Scripts to automatically accept uploaded source files and merge directly on he server if possible
   b. Scripts to automatically host a set of HTML files from a specific version in the repository so someone can test a particular change submission
3. I have yet to complete the work on making the full game work in HTML5, but much of the game is playable now, so feel free to start looking into these processes as I continue this work.
4. Check out what permissions you have to update the Wiki. I think any SourceForge user should have permission. I invite you to update the "participate" page in the Wiki to describe how to participate in updating both the Wiki and the source files. When documenting the process on the "participate" page, note that:
   a. The process is being documented by a user, and, likewise, anyone is welcome to contribute improvements to the Wiki.
   b. The process is still under development, and the current description is just one (or a few) ways of sharing your changes.
   c. Feel free to document multiple processes (Make your own fork or just use the free4all fork, or whatever else you learn).

If nobody is ready for this kind of involvement yet, I'll continue to work on HTML5 corrections and research more Mercurial features later.
« Last Edit: 2012-04-12, 08:12:33 PM by bluemonkmn »

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #64 on: 2012-04-14, 06:45:49 PM »
Well, the game running at http://sgdk2.enigmadream.com/ben/iotaBuildIt/iotaBuildIt.html is fully functional as far as I can tell. All the functionality in the Tutorial and (unfinished) Level 1 seems to be working. Now to investigate source control options in more depth, starting with the replies to my question at StackOverflow.

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #65 on: 2012-04-16, 07:13:55 AM »
I'm waffling all over trying to find the optimal mechanisms for managing the source code and hosting submitted changes for review. Today I starting to think that I should not rely so heavily on existing mechanisms because all I want really is a means to store and rate diff files, which is pretty simple in itelf. And so maybe I should jump right into the PHP coding step to see how straightforwardly I can manage this when I have some web app code to act as the interface. The biggest benefits will be that users don't need to download TortoiseHg or any form of source control software because I should be able to allow them to just submit their batch of files and have all that handled on the server. Then I thought, why don't I just go back to having branches for every user instead of trying to manage patches and diff files. If the web app can control how the code goes it, it might be easier to manage changeset ID numbers instead of the whole content of the patches. Let the content of the changes be managed within the source control. Then I started reading again about the differences between Git and Mercurial. And I am starting to get a sneaking suspicion that Git might do a better job of handling the less orderly branching/commit structure in which I think I'm interested, based on some things I'm reading at http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/. If the complexity of git can be hidden behind a web app, maybe it's not so bad.

So, durnurd, I believe you mentioned/recommended git. Can you describe in any more detail what you like about git or your experience with it, or anything you think I might find useful?

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #66 on: 2012-04-19, 07:20:54 AM »
Okay, after asking and getting an answer to yet another question on StackOverflow I am moving away from the idea of git again, and leaning back toward every user (who wants to contribute content) having a local Mercurial client (just because I think TortoiseHg is that much nicer than msysgit and all other git clients I have seen, and TortoiseGit relies on msysgit for some reason while TortoiseHg includes Mercurial in the same package).  Now I am thinking that the SourceForge project will simply become a place where users can post their version of the game, info about how to pull their modifications into your own version, and review the various modifications. Oh, and it will of course be the starting point from which users can fork their Mercurial repositories before other users' repositories exist from which new users can fork. I am startign to see the light of DVCS, but wow it's taking a while to sink in.

durnurd

  • Lead Lemming
  • Expert
  • Fanatic
  • *****
  • Posts: 1234
  • Games completed so far: 0
    • MSN Messenger - durnurd@hotmail.com
    • View Profile
    • Find My Ed
Re: The Crowdsourced Game
« Reply #67 on: 2012-04-22, 08:39:51 AM »
I've become a fan of SourceTree at work, which is a (Mac-only) client for both Git and Mercurial. There ought to be (as in I'm sure there is somewhere) a similar client for Windows.  I only bring it up to point out Tortoise* is not the only good option.
Edward Dassmesser

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #68 on: 2012-04-23, 05:08:38 AM »
I think I've worked out a system for folks to manage and host their submissions. I implemented the PHP scripts yesterday to request that a specific version be hosted and to list and delete hosted copies. Now I just have to write detailed instructions on how, as a user, one sets up their environment and uses the site. In the end, it looks like you will need a Mercurial client. I hope there are enough people who are interested in playing with these tools that having to download an extra piece of software doesn't turn them off. Distributed source control is kind of cool, and what better way to learn about it than working on this project. If nothing else, this will be a fun way to learn about DVCS / Mercurial. :)

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #69 on: 2012-05-03, 07:51:38 PM »
Okay, it may not be the ideal process, but I have made a tutorial video about how to participate in iotaBuildIt. Would anybody care to review it, maybe try it out and see if the process works for anyone besides myself? It's posted at http://youtu.be/8krnOeZ7hK4.

Sadly, Youtube seems to have converted it to low resolution. I'm out og steam for tonight. Anybody know how to host higher quality video on YouTube?

v6v

  • Clever
  • Fanatic
  • ***
  • Posts: 500
  • Has renamed his project to Galaxy!
    • View Profile
    • My Developer Page!
    • Email
Re: The Crowdsourced Game
« Reply #70 on: 2012-05-03, 08:44:09 PM »
When I use FRAPS and upload my AVI videos (Which are usually around 130MB just for 30 seconds), youtube converts them to HD, which is something I'm still trying to understand.

I can't give a solid answer, but it could be related to the file format.

EDIT: Sorry that I haven't done much with this yet. It's my senior year and I'm trying to get everything together before graduation.

tprime

  • Fanatic
  • ***
  • Posts: 395
    • View Profile
    • Email
Re: The Crowdsourced Game
« Reply #71 on: 2012-05-03, 11:47:12 PM »
I did not get far... TortoisePlink is asking me for a password. I used my SourceForge password, but it's not accepting it.  :(

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #72 on: 2012-05-04, 04:48:14 AM »
I did not get far... TortoisePlink is asking me for a password. I used my SourceForge password, but it's not accepting it.  :(

Thanks for the feedback, Tony. I was afraid of not covering the security/SSH key step. I guess I do need to demonstrate how to set up an SSH key in order for people to be able to interact with the SourceForge repository. Next time maybe I will make 2 videos, 1 for setup and 1 for making updates. And the SSH key will go in the setup video.

Looking at it again, I see that my video *does* have an HD option, and HD just isn't as high-res as I'd hoped. It's only 720p. Next time I record the tutorial, I will set my recording area to 1280x720 (720p) and it will probably look much better.

I realize it's a hard time to participate as a student, and that's fine. That's good because I'm not quite ready to have all the students out there seeing what state this is in. Hopefully by the time all the students out there do have time, I will have a good process set up and we'll get lots of participation!

bluemonkmn

  • SGDK Author
  • Administrator
  • Fanatic
  • *****
  • Posts: 2761
    • ICQ Messenger - 2678251
    • MSN Messenger - BlueMonkMN@gmail.com
    • View Profile
    • http://sgdk2.sf.net/
    • Email
Re: The Crowdsourced Game
« Reply #73 on: 2012-05-04, 05:22:18 AM »
Tony, according to SourceForge's Mercurial documentation
Quote
Users should commit to their project repository using their SourceForge.net username or email address (USERNAME@users.sourceforge.net). Several methods are supported for configuring this, please refer to the Mercurial Documentation for the supported methods.

When you are prompted by tortoiseplink, do you see any indication or place for a user name? Did you set up a user name in your TortoiseHg global settings as shown in the video? Does the capitalization of your user name match the capitalization of your SourceForge user account?

tprime

  • Fanatic
  • ***
  • Posts: 395
    • View Profile
    • Email
Re: The Crowdsourced Game
« Reply #74 on: 2012-05-04, 11:19:41 AM »
Tony, according to SourceForge's Mercurial documentation
Quote
Users should commit to their project repository using their SourceForge.net username or email address (USERNAME@users.sourceforge.net). Several methods are supported for configuring this, please refer to the Mercurial Documentation for the supported methods.

When you are prompted by tortoiseplink, do you see any indication or place for a user name? Did you set up a user name in your TortoiseHg global settings as shown in the video? Does the capitalization of your user name match the capitalization of your SourceForge user account?

I did not set up my email address using the global settings. *facepalm*
But as soon as I used my sourceforge email, I was able to clone the project.
I'll be returning to the video tutorial. :D

And I do not think you will need to make another video for set up, since setting up has been fairly easy (at my current place in the video). Maybe you can add an annotation that lets future viewers know that they will have to set their email first through the global settings.

EDIT: Just realized your video did tell the user how to set your username. Maybe you should have the annotation say: "10:40" to let the viewer know to see that small part of the video first.
« Last Edit: 2012-05-04, 11:48:24 AM by Tony Grimace »