KDE Games/Kolf 2: Difference between revisions

From KDE Community Wiki
(Kolf::Game and Kolf::NormalGame done)
m (moved Projects/Games/Arcade Games/Kolf2 to KDE Games/Kolf 2: Move page to its correct location.)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page is intended to list the tasks that need to be done in Kolf 2.
This is the project page for Kolf 2, the next generation of minigolfing in KDE. If you've got a question or would like to contribute, send a mail to [mailto:[email protected] Stefan].


<!--
== Meeting ==
Template for a new feature that can be added into the lists below:
{{FeatureTodo|affected classes|task description|nobody|}}
or
{{FeatureTodo|affected classes|task description|your mail|your name}}
-->


== Objects ==
The next Kolf developer meeting will be on '''May 26, 10:00 UTC''' (in your local time [http://www.timeanddate.com/worldclock/fixedtime.html?&day=26&month=5&year=2009&hour=10&min=00&sec=0 here]), at the IRC channel [irc://irc.freenode.net/kdegames #kdegames], [http://freenode.net/ freenode network]. Join us if you like.


This category contains everything related to the objects that appear on the course scene.
=== Topics ===


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
* Current developments
|- style="background: #ececec; white-space:nowrap;"
* Outstanding design issues in the kernel
! Status !! Classes !! Task description !! Assigned to
* <nowiki>[add more topics here]</nowiki>
{{FeatureDone|Object<br />Overlay|Base class design|[email protected]|Stefan Majewsky}}
{{FeatureDone|Ball<br />Putter|Putting|[email protected]|Stefan Majewsky}}
{{FeatureTodo|Putter|Advanced putting interface|nobody|}}
{{FeatureDone|WallObject<br />WallOverlay|Wall|[email protected]|Stefan Majewsky}}
{{FeatureDone|RectBlockObject<br />RectOverlay|Rectangle-shaped solid block|[email protected]|Stefan Majewsky}}
{{FeatureDone|CircleBlockObject|Round solid block|[email protected]|Stefan Majewsky}}
{{FeatureTodo|LandscapeObject|Landscape (including puddles, slopes, etc.) as height map|nobody|}}
{{FeatureInProgress|HoleObject|The hole one has to reach|[email protected]|Stefan Majewsky}}
{{FeatureDone|BlackHoleObject|A black hole which moves you to another position of the scene|[email protected]|Stefan Majewsky}}
{{FeatureTodo|BlackHoleOverlay|An overlay for the BlackHoleObject|nobody|}}
{{FeatureTodo|WindmillObject|A generic moving obstacle|nobody|}}
{{FeatureTodo|BumperObject|Something that reflects the ball with increased speed when the ball touches it|nobody|}}
|}


It may be that some objects are missing in this list. Do not forget to add these. (Of course, you can also add new objects that did not exist in Kolf 1.)
== Unsolved design questions ==


== Engine ==
* Internal design of the landscape objects
* How to integrate artwork into the object rendering (at least 2D)?


This category contains everything related to game management.
== Outstanding tasks ==


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
Pick one if you like, and start to contribute! (Names in parentheses mark assigned tasks.)
|- style="background: #ececec; white-space:nowrap;"
! Status !! Classes !! Task description !! Assigned to
{{FeatureDone|Course|course data management|majewsky@gmx.net|Stefan Majewsky}}
{{FeatureDone|Game<br/>NormalGame|game progress and scores|[email protected]|Stefan Majewsky}}
{{FeatureDone|LocalPlayer|support for local players|[email protected]|Stefan Majewsky}}
{{FeatureTodo|NetworkPlayer|support for network-attached players (via GGZ)|nobody|}}
|}


You are free to implement more player types, or even more game types (tournaments?).
''Fundamental class design''
* allow for multiple geometries per object (Stefan)
* redesign the putter class to allow for different types of putters


== Interface ==
''Objects''
* landscape objects (GSoC)
* windmill object
* bumper object


This category summarizes work that is being done on the interface.
''Overlays''
* blackhole overlay


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
''Game engine''
|- style="background: #ececec; white-space:nowrap;"
* a new persistency framework, along with Save/Undo/Redo actions (Stefan)
! Status !! Classes !! Task description !! Assigned to
* support for network playing via GGZ (currently blocked, waiting for KGGZ libraries to arrive in trunk)
{{FeatureDone|MainWindow<br />View|basic interface classes|[email protected]|Stefan Majewsky}}
{{FeatureTodo|NewGameDialog|a dialog to select a course and configure some game parameters|nobody|}}
{{FeatureDone|ScoreCard<br/>ScoreView|a dock widget showing the game progress|[email protected]|Stefan Majewsky}}
{{FeatureDone|View2D|top-down view|[email protected]|Stefan Majewsky}}
{{FeatureInProgress|View3D|three-dimensional view|[email protected]|Casper van Donderen}}
|}


== Editor ==
''3D view''
* rendering stuff in 3D (Casper)
* make OpenGL an optional dependency in the build system and in code


This category contains everything related to the editor interface.
''Editor interface''
* an object model with which objects on the view can be selected
* an object toolbox where objects can be added to the view
* a property view based on the editor model and type models


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
''Miscalleneous/Junior Jobs''
|- style="background: #ececec; white-space:nowrap;"
* remove hard-coded colors from the code, replace with KColorScheme brushes
! Status !! Classes !! Task description !! Assigned to
{{FeatureDone|TypeModel<br/>and subclasses|first part of the property model|[email protected]|Stefan Majewsky}}
{{FeatureDone|EditorModel|second part of the property model|[email protected]|Stefan Majewsky}}
{{FeatureTodo|ObjectModel|model for selection of objects|nobody|}}
{{FeatureTodo|ObjectToolbox|toolbox for creation of objects|nobody|}}
{{FeatureTodo|...|interface components for the editor|nobody|}}
{{FeatureTodo|Overlay<br/>and subclasses|overlay usability review|nobody|}}
|}

Latest revision as of 17:23, 27 April 2012

This is the project page for Kolf 2, the next generation of minigolfing in KDE. If you've got a question or would like to contribute, send a mail to Stefan.

Meeting

The next Kolf developer meeting will be on May 26, 10:00 UTC (in your local time here), at the IRC channel #kdegames, freenode network. Join us if you like.

Topics

  • Current developments
  • Outstanding design issues in the kernel
  • [add more topics here]

Unsolved design questions

  • Internal design of the landscape objects
  • How to integrate artwork into the object rendering (at least 2D)?

Outstanding tasks

Pick one if you like, and start to contribute! (Names in parentheses mark assigned tasks.)

Fundamental class design

  • allow for multiple geometries per object (Stefan)
  • redesign the putter class to allow for different types of putters

Objects

  • landscape objects (GSoC)
  • windmill object
  • bumper object

Overlays

  • blackhole overlay

Game engine

  • a new persistency framework, along with Save/Undo/Redo actions (Stefan)
  • support for network playing via GGZ (currently blocked, waiting for KGGZ libraries to arrive in trunk)

3D view

  • rendering stuff in 3D (Casper)
  • make OpenGL an optional dependency in the build system and in code

Editor interface

  • an object model with which objects on the view can be selected
  • an object toolbox where objects can be added to the view
  • a property view based on the editor model and type models

Miscalleneous/Junior Jobs

  • remove hard-coded colors from the code, replace with KColorScheme brushes