Summer of Code/GSoC2016

From ScummVM :: Wiki
< Summer of Code
Revision as of 21:04, 11 September 2016 by MetaFox (talk | contribs) (→‎Cloud Storage Integration: - fixing description)
Jump to navigation Jump to search

This pages lists students and projects for the Google Summer of Code 2016. See also Google's ScummVM organization info page.

ScummVM

MacVenture Engine

Student:
Borja Lorente
Mentors:
John Willis
Code:
Work in Progress
Outcome:
Success. The code has been merged into master.
Technical Contacts:
John Willis, Filippos Karapetis
Original task description:

The ScummVM project currently does not support the original MacVenture games developed for the Macintosh 128k. However, there is already a modern implementation of these games that supports the original game files, the WebVenture engine.

Most of the reverse engineering work for the MacVenture games is already done in the WebVenture engine, but since it is written in JavaScript, a direct port is necessary for it's integration with ScummVM. In addition, the WebVenture engine already supports the Apple II versions of the games, making it possible for them to be added to the same engine in the respective ScummVM implementation.

Therefore, the goals of this project are:

  • To write an engine in C++ to support these games, with a base in the existing JavaScript implementation.
  • To integrate the engine with the existing ScummVM framework, so that it can support MacVenture games in the many platforms that ScummVM supports.

Most of the MacVenture games were pioneers in their respective genres, so the ScummVM community would benefit greatly from having access to these games as classics of their genres, for academic and nostalgic value.

Dungeon Master Engine

Student:
Bendegúz Nagy
Mentors:
Paul Gilbert, Arnaud Boutonné
Code:
Work In Progress
Outcome:
Success. The code has been merged into master.
Technical Contacts:
Paul Gilbert, Arnaud Boutonné
Original task description:

Dungeon Master, the grandfather of all dungeon crawlers, would be the very first RPG ported onto ScummVM and will enable for the fans, who grew up with it, as well as new adventurers to experience it once more. The game will also benefit from the advanced features offered by ScummVM, most significant of which is portability.

Cloud Storage Integration

Student:
Ткачёв Александр
Mentors:
Peter Bozsó
Code:
Work In Progress
Outcome:
Success. The code has been merged into master.
Technical Contacts:
Alyssa Milburn
Original task description:

The idea is to implement cloud support in ScummVM. Users would be able to sync their save files and download game data from different cloud storage services on all their devices.

At least these cloud services would be supported:

  • Dropbox
  • Box
  • OneDrive
  • Google Drive

All of them use OAuth2 and provide an API to manage user's files.

Things to be implemented:

  • GUI for user to interact with;
  • more or less portable way to open a link in a browser (for OAuth);
  • more or less portable way to run a local webserver (for OAuth);
  • portable (using libcurl) API interaction for all supported cloud services.

Macromedia Director Engine

Student:
Dmitriy Iskrich
Mentors:
Eugene Sandulenko
Code:
Work In Progress
Outcome:
Failed mid-term, however the code has been merged into master.
Technical Contacts:
Alyssa Milburn
Original task description:

Many 90s-era adventure games were developed using the Macromedia (now Adobe) Director tool. It would be nice to be able to play these games in ScummVM! We have Python code available which can parse and display the contents of Director 2 and Director 3 'movie' files. This should be enough to implement a ScummVM engine to allow some early Director adventures to be played; for example, parsing the movie files, implementing the frame-based playback system, drawing bitmaps and shapes, playing sounds and running some basic (Lingo) scripting.