GSOC 2017 - We are in! Student Apps open Mar 20

Discussion in 'Developer Portal' started by Cervator, Jan 21, 2017.

  1. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Prizes for GCI 2016 haven't even been finalized yet, but there is no rest for the weary, it is time to start prep for GSOC 2017!

    The timeline has been posted, summarizing here below:
    • Jan 19th - org apps open (dev meeting Jan 21st to discuss doable ideas)
    • Feb 9th - org app deadline
    • Feb 27th - accepted orgs published
    • March 20th - student apps open
    • April 3rd - student app deadline
    • May 4th - accepted proposals published
    • May 30th - coding starts!
    • June 20th - eval phase 1 deadline
    • July 28th - eval phase 2 deadline
    • August 29th - student deadline
    • September 6th - results published
    • Late October - Mentor Summit
    Worth noting for this year the student stipend payout has changed to be location specific. That might be a let-down for students in less developed countries as the flat rate meant GSOC was worth way more there than in highly developed countries. The stipend now ranges from $2400-6600 and factors into student count, as more students now likely will get slots than in past years (without exceeding GSOC's budget)

    Our ideas list needs updates! To capture it here before we start editing here are our 2016 ideas with status:
    • Customizable characters: still doable, main related change is the introduction of the Equipment module by @xtariq meaning if we had a nice avatar you could vary it via in-game character screen
    • Particle system: partially done since it was added, @Linus did some work in the past and @Instant (Max) more recently with a PR pending. Probably not valid for GSOC anymore. Active interest in the topic
    • VR support - mostly done (revived) by IndianaJohn on GitHub, including initial support for controllers. Still needs gameplay system support and more polish, but probably not valid for GSOC (full VR UI?)
    • Renovate MasterOfOreon: bits and pieces done, old item. Likely obsolete although perhaps could be overhauled as a new gameplay item.
    • Advanced combat: Mostly still valid, although mixed up with combat-oriented AI (base combat works but isn't very interesting). Would like to hear from @Anthodeus
    • Behavior Trees (AI): High priority item IMHO with no less than 3 partial implementations by now. We need this badly!
    • DAG Pipelines: Partially done for GSOC 2016 by @tdgunes - we way underscoped it. Could possibly leave space for a round two, @manu3d would be the one to know and describe that better.
    • Game preview: Was originally a very small item, but could possibly be merged with the PlaTec support item and a new item I'll list below
    • Improve problem visibility: Remains a good item, with interesting hooks into the CrashReporter and better overall reporting. Related change is the Launcher now having one similar piece set up now
    • Agent based land usage: This was @Cpt. Crispy Crunchy's item for GSOC 2016 that resulted in DynamicCities. Next up could be showing inhabitants physically present or enabling trade, neither really GSOC level items
    • Distinct terrain features: Unsure about this one. Old item
    • Leap Motion: Old item, may be relatively close via the controller support in the new VR setup. Interest voiced to do it, but may not be enough on its own - combine with a full VR UI approach?
    • Rest API / mobile management: Still a great item as it doesn't get in the way and isn't critically needed
    • NUI Editor: Done by @Rostyslav Zatserkovnyi for GSOC 2016. Further extraction blocked by dependencies (see new items)
    • Anatomy: Has had interest surface a few times and we have two stats systems now with @jellysnake considering overhauling Health after finishing extracting Inventory. Probably not good for GSOC (unless a sub-item in advanced combat?)
    • Android: Waaay blocked by dependencies
    • Far rendering: Blocked by dependencies (unless part of DAG round two?)
    • Port growth sim: Sort of a decent but low priority ancient item. Tricky due to its level of detail vs voxel world. Plus we have a fair amount of growth stuff already. Maybe mix some sort of advanced hydrological + nutrition cycle for farming into it
    • Plate Tectonics: Also ancient item, probably poor on its own. Could perhaps be mixed with world preview / other new stuff below
    A lot of those need some solid updates and tweaks to be good for 2017. Here are some new items and remixes I'd like to consider:
    • Sectors: Anybody haven't heard me rant about this yet? :D Seems like GSOC potential.
      • Architectural challenge: somewhat intertwined with the extraction of gestalt-entity-system as it would likely result in substantial changes (multiple independent entity pools, transfer of entities between pools, overlapping areas...)
      • Potential bonus areas: Multi-world support, multi-surface support
    • Module context and configuration: Bit of a grab back of related issues here, sourced from Game preview above (should allow easier previewing/activating of stuff)
      • May need some focus and scope improvements to work with GSOC:
        • Targets PR #2074 and some related ideas
        • Modules activated in the main menu (could support theming or languages with fonts in modules)
        • Modules solely activated on a client (texture packs, visual effects via modules, language modules)
        • Module config changed after world creation (easy for the above, harder for new worldgen..)
        • Module categories, optional dependencies, etc ...
        • Should help improve environment/context switches
        • Maybe related: #1296, #1621, #1737, #1770 (pretty advanced), #1795.
      • Architectural challenge: Probably sorting out CoreRegistry -> Context and/or extracting Config/Context/Injection. Not guaranteed but seems like it would relate
    • Destination Sol with Gestalt: Overhaul Destination Sol to use Gestalt, including gestalt-entity-system. Implement at a minimum easy modding akin to in Terasology.
      • @Rostyslav Zatserkovnyi already got gestalt-module and gestalt-asset-core working (pending testing on Android)
      • Architectural challenge: Yep, gestalt-entity-system again
      • Potential bonus areas: Multiplayer
      • Completely new area beyond Terasology itself. Exciting, but also tricky, especially mentor-wise
    • Documentation infrastructure: Fairly open item that needs specifics if it to be viable.
      • GCI exposed flaws in the way we track credits and image attribution. We need something better
      • We have some types of automatic (or automatable) docs available (javadocs, api list, key bindings, assets...) but they aren't really published anywhere. How do we organize it all and make it visible plus useful? Fancy module listing site?
      • We need to improve our tutorials, make more of them, and harden them against going out of date (add build step to diff source vs code snippets in wikis?) - how to highlight all that well?
    • Additional gameplay content: This can be a tricky thing to scope and review right, since it can be so open ended and subjective as we saw with Dynamic Cities - there are so many different ways to get it right, so it is hard to write exact requirements then test that they were met.
      • An advanced system based on Genome might be an idea
      • Expanding our city simulation substantially could be done
      • Finally implement some gameplay for Light & Shadow? Depends on better AI
      • We're at a point where large new gameplay templates could form, with small teams behind them. We need to support this better, yet it probably doesn't work well with GSOC. Maybe something we can discuss in general at the dev meeting.
      • There may be some more potential in the conlang thread or the game identity thread
    • I'm sure I'm missing some ... post away if you spot any! Or come talk about it during the dev meeting.
    So from all that it might be clearer why I hope tomorrow's dev meeting can help shed some light on our architectural future :) Also curious who is wanting to work on some issues outside of GSOC because they simply want to or think we need it sooner / for sure.

    With us no longer being a newbie org and the changed stipends we might end up in an interesting position of having too many interested good students and/or having too few mentors to fit more good student candidates. So hopefully we can come up with some more items and get some more mentors signed up.
    • Agree Agree x 1
    • Useful Useful x 1
    Last edited by a moderator: Mar 25, 2017 at 1:56 PM
  2. smsunarto

    smsunarto Federal Gooey of Investigation

    Give life to maze gameplay!
    • Like Like x 1
  3. Florian

    Florian Active Member

    Maze or more general advanture gameplay content I think would be a very good GSOC item.

    There are a lot of advanture gameplay blocks, items and monsters that could be added so that modules like Gooey's Quests or a Maze world can use them.

    I think it is very good for GOSC as it allows for a lot of small work packages and it is an existing topic.

    Here is a list of ideas of mine of what could be added(if you read this and want to implement an item go ahead, there are enough :) ):
    • Swinging blades (attached to wall, swing from left to right and force player to time its movement forward to not be hit)
    • Blocks that break shortly after walking over them (to make a collapsing bridge)
    • Spikes that come up from ground after delay
    • trip wire
    • rolling boulder
    • fireball as spell item and trap shooting it
    • Protective rune stone that prevents any block addition and removal nearby. To force the player to solve traps
    • Teleportation Cycle/Quad
    • Preasure plates that activate traps
    • Mechanic to suspend traps and other activity while no player is nearby (for good performance when there are lot of traps in the world)
    • Make existing skeleton monster have fire hand and shoot fireballs
    • Add blocks that move around where the player can jump onto
    • Add (big) doors that can only be opened with a key or by solving a puzzle
    • Locked chests that require special award keys
    • Chests that offer per player rewards.
    • Add keys/keystones that run or fly around and need to be catched (nice evaluation for behavior trees! )
    • Use existing chess figures to create a chess minigame. There are a lot of chest riddles where some figures are placed and you need ot win.
    • Add a bow (if we don't have one already)
    • Add jump pads that when walked make the player jump a big distance
    • Blocks that fall down if nearby blocks get mined
    • Blocks with spikes that fall down when player is below them
    • Piranhas (a marker block gets placed in water, nearby water will have piranias jumping out o the water periodically while player is nearby) Jumping pirania damage and push player a little. If player touches water piranias start attacking.
    • A shark that moves towards player in water
    • Ice wisp: A floating light blue glowing small cube that makes nearby water blocks turn ice for a short while. Allows crossing of water (with piranias).
    • Button: Can be activated to let something happen
    • Wind ball shooting stone trap: A stone figure that looks like someone blowing. Spawns periodically a "wind ball" (dust particle effect) that travels in a straight line and pushes players (e.g. from pillars they try to travel over)
    • Gravity trap: A specially looking block that pulls periodically players towards it. It may have spikes in front of it that players get pulled into. Players can go behind blocks to avoid being pulled in.
    • Healing fountain: Water that emits particles and heals players within it. Can be filled up in bottles for healing potions
    • Big jumping cube boss: A big hostile cube that tries to jump on players. Has a weakness like a vulnerable back and a slow turn rate.
    • Proper illusion blocks that turn to dust if touched and return to fake block appearance after a short while
    • Grapnel that can be used to swing over some dangerous area.
    • 2x2x2 block that can be pushed and pulled around by the player to reach otherwise unreachle places father up
    • Shield item, that when activates reduces received damage for 1 second and has a 3 second cooldown
    • Ring of swiftness, item that when activated gives you a 3 second speed boost of 200%
    • Scroll of desperate teleport: Teleports you to any visible target but sets your health to 1
    • Book chase block that allows for interaction: E.g. it allows you to obtain book related items like spell scrolls, quest scrolls or maps. Use is limited to 1 time per player and region.
    • Boots of faith: When equipped: As long as you don't look down you don't fall down when you walk over a cliff
    Of course the student would not have to do all of those items but just a selected few and he would also have the option to suggest other adventure gameplay content.
    • Like Like x 3
    • Agree Agree x 1
    • Winner Winner x 1
  4. smsunarto

    smsunarto Federal Gooey of Investigation

    Agreed to what @Florian said, ideally we should want it to be an actual 'gameplay' in which end-user can play, rather than a lot of random stuff jumbled together.
  5. oniatus

    oniatus New Member

    I added API for Integration Tests to the ideas list which is my personal second priority. Testing the entire environment may be very useful for a gameplay module that wires a lot of stuff together and needs to be sure that the modules are always able to interact with each other.
    E.g. that it is always possible for a player to craft item A from module B on Workstation X from module Z. Especially in multiplayer environments where testing is expensive.

    My first priority would be the Behavior System and maybe Pathfinding because these are two features which would really move us away from the "Minecraft Clone" and more into "Dwarf Fortress" etc and are also an amazing toolset for gameplay/module developers. :thumbsup:

    I am not sure what to think about gameplay elements as gsoc feature. On the one hand, we really need a more mature gameplay to attract people but on the other hand gsoc is very short and a well polished gameplay module may need at least one person to take over the responsibility for a longer timespan.
    • Like Like x 1
    • Agree Agree x 1
  6. Skaldarnar

    Skaldarnar Badges badges badges badges mushroom mushroom! Staff Member

    We are in! :gooey:

    I was really happy to read exactly that in my mails today! We ended 2016 (and started in 2017) with the overwhelming experience of Google Code-in, and now we can take the momentum over to this year's Summer of Code. We are all curious about the upcoming weeks, all the new people we'll meet, and all the interesting applications we will have to review.

    If you are a student interested in starting Summer of Code with us, don't hesitate to introduce yourself in the forum, hop on IRC and say "hi", and get in contact with the community. We will happily answer your questions! :)
    • Like Like x 4
    • Winner Winner x 1
  7. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Update: There is about a week until student applications open and we already have interacted with some promising students on IRC with several invited onto Slack for deeper discussion :)

    For anybody out there still waffling about whether to participate or not: get started already! Worst case you put in effort to learn how to write a proposal and interact with a friendly open source community, and will have that as a life lesson for later. Best case you get in, spend the summer being paid to write code for a video game, and have something awesome to put on a resume, plus a great learning experience. At this point several students have impressed us meaning they're already looking good even before proposals start. You don't want to wait until after the apps open to make first contact!

    If still wondering about some details check out this blog post by @Skaldarnar which gives a nice point of view from a mentor.

    You can also see some examples of past proposals in this GitHub repo which also includes the proposal that got @Rostyslav Zatserkovnyi an accepted project slot last year.
  8. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Talked to @tdgunes a bit via email, he's OK with us publishing his winning proposal, so here it is :)

    In other news proposals can be submitted starting about 36 hours from now!

    And also come join us in a play test session in about 12 hours - see this announcement for details (more being added shortly)

    Attached Files:

    • Like Like x 1

Share This Page