GSoC other ideas

From PSwiki
Jump to navigation Jump to search

Other smaller / fragmented ideas

This page is a collection of other ideas you may want to expand yourself as part of GSoC.

  • Hardcoding removal: Involves moving some of the hardcoded skills/stats/rules/mechanics from the code to the database, making the engine more flexible and more maintainable. (easy to hard)

This section contains ideas which have not yet been developed into main ideas. We are not sure if one of these can really cover the 3 months period of GSoC and so those are pending review, discussion and expansion to be moved in the previous section.

Database

  • Database reconstruction: Optimise database with innodb triggers, rework of tables, new index, scalability and subdivision of data between different servers...(hard)

Networking

  • TCP layer: add a TCP layer so that clients have the option of connecting with TCP instead. TCP can be preferable for people connecting via wireless or high-bandwidth connections, which is increasingly the case. The relatively high latency to PS servers also means the latency benefits of UDP are not as useful. (hard)
  • IPV4 TO IPV6: changing the code so it doesn't rely specifically on IPV4 or IPV6, allow to define various listen interfaces either IPV4 and IPV6. Remove network logic which can be left to system libraries. Conversion to plugin.(easy to medium depending on the parts which are picked up)

Effect Library

  • PSEFFECT: conversion to plugin and performance optimizations. Maybe adding support for 2d objects.(medium)

Headless Client

  • Integration testing: Modify the client to have a headless option to allow for easy integration testing and for combat simulation. This can make it much easier to test balance changes. (medium)

Server reliability

  • Unit Testing: Implement a basic unit testing framework for common server commands and actions. (Medium)

Mail System

  • A way for player and gm to send in game mails to other players also with items "attached"

Navmesh display in client

  • From the work in crystal space of 2 years ago during GSOC last year we merged a functionality called NAVMESH in our npcclient. It would be nice if it was possible to show these generated navmesh in clients as a debug features (probably enable-able only from config files or compile time) and also make use of them to allow point and click reliable movement, as right now the algorithm is not able to know if it will hit a wall or a deep hole and will go toward those dangers.

Return to login

  • Add support to return to the login window instead of closing the client entirely.

Make the world less static

  • Add support to define or recognise in some way special area: for example water. Apply effects to the camera when inside the area and activate things like swimming and diving (with control of breath if applicable).
  • Add support for flying (not globally but only when allowed from the server) and prevent players to get out of bounds through this.
  • Add support for boats and flying mounts (this has the prerequisite of the previous entries)
  • Add support for things like night vision or other effects depending on current context and activated from the server.

Monsters' sounds perception

  • Implementation of monsters' sound perception. For example a thief that moves close to a monster without making too much noise will be able to attack it first, while a player with no sneaking skills will be heard by the monster and he will be attacked.