KDE Games/Kolf 2: Difference between revisions

From KDE Community Wiki
(update to r950202)
m (moved Projects/Games/Arcade Games/Kolf2 to KDE Games/Kolf 2: Move page to its correct location.)
 
(12 intermediate revisions by 4 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}}
{{FeatureTodo|EllipseBlockObject|Curved solid block (collision code missing)|nobody|}}
{{FeatureTodo|LandscapeObject|Landscape (including puddles, slopes, etc.) as height map|nobody|}}
{{FeatureInProgress|HoleObject|The hole one has to reach|[email protected]|Stefan Majewsky}}
{{FeatureTodo|BlackHoleObject|A black hole which moves you to another position of the scene|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}}
{{FeatureInProgress|Game|game progress and scores (still to do: split class into abstract base class Kolf::Game and Kolf::NormalGame to make a Kolf::EditorGame possible)|[email protected]|Stefan Majewsky}}
{{FeatureDone|LocalPlayer|support for local players|[email protected]|Stefan Majewsky}}
|}


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}}
{{FeatureTodo|View3D|three-dimensional view||Casper van Donderen}}
|}


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


This category contains all areas where work has not started yet. Once you start to work on this, it is recommended to split these areas into tasks.
''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


* editor interface
''Miscalleneous/Junior Jobs''
* networking via GGZ
* remove hard-coded colors from the code, replace with KColorScheme brushes

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