Difference between revisions of "CampaignEditor"

From The Battle for Wesnoth Wiki
(Interface)
m (freenode -> libera.chat)
 
(24 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
I'm interested in Google Summer of Code and a big fan of Wesnoth (LAN party favourite).
 
I'm interested in Google Summer of Code and a big fan of Wesnoth (LAN party favourite).
  
I know Python well, C/C++ fairly well.  I've done wxPython in the past (see http://rummy-py.sourceforge.net/ -- mind the code I did in 11th grade) but am interested in doing Qt4 work this summer.
+
==== Languages (Tongue) ====
  
I am jkiv on irc.freenode.net, the forum, and gna.
+
* English (first)
 +
* French (use simple sentences in active voice with common objects)
 +
 
 +
==== Languages (Bits) ====
 +
 
 +
* Python (stuff with wxPython, Django)
 +
* C/C++
 +
 
 +
==== Past Experience ====
 +
 
 +
To learn Python and wxPython I tried to write a Gin Rummy game.  It was neglected after I tried to add network support (after the fact -- /collar tug).  It's been a while since I touched it and most of the original code is 2 years old: I've developed my trade since.
 +
 
 +
http://rummy-py.sourceforge.net/
 +
 
 +
=== Hours ===
 +
 
 +
I'm usually up from 07:00 EST to 00:00 EST (12:00 UTC to 05:00 UTC) but this is subject to change in the summer months.
 +
 
 +
=== Contact ===
 +
 
 +
==== IM ====
 +
 
 +
irc.libera.chat
 +
* jkiv
 +
 
 +
==== Forum ====
 +
 
 +
*jkiv
 +
 
 +
==== Gna! ====
 +
 
 +
*jkiv
 +
 
 +
==== Website ====
 +
 
 +
*Personal: http://jkiv.ca
 +
*Academic: http://flash.lakeheadu.ca/~jlkivine
  
 
== Campaign Editor ==
 
== Campaign Editor ==
 +
 +
Being interested in Qt4, I'd like to try to write the UI in Qt4.  Nevertheless, I'm open to discussing with those doing map editor improvements what would be the best choice if the two tools were to be merged in the future.
  
 
=== Interface ===
 
=== Interface ===
 
http://jkiv.ca/jkivCampaignEditor.jpg|Mockup...
 
  
 
I picture the main interface consisting of three parts:
 
I picture the main interface consisting of three parts:
Line 23: Line 59:
 
* Action List
 
* Action List
  
 +
===== Definitions =====
 +
 +
* Campaign - a collection of ordered scenarios
 +
* Scenario - a map with an objective
 +
 +
* Action -- aka. event
 +
* Path -- aka. branch
 +
* "Try agains" -- aka. game overs, you're deads
  
 
==== Campaign Flow ====
 
==== Campaign Flow ====
  
The campaign flow pane would be a flow chart representation of the scenarios of the campaign. Scenarios can be attached to other scenarios or branches, allowing for possible conditional paths.   
+
The campaign flow pane would be a flow chart representation of the scenarios of the campaign.
 +
 
 +
Scenarios can be attached to other scenarios (or branches), allowing for conditional paths.  More paths will be available if the leading scenario has more than one victory and/or defeat event associated with it.  A path can be associated with any number of victory/defeat events.
 +
 
 +
Unassociated defeats will be "try agains" by default.
  
 
==== Map ====
 
==== Map ====
  
The map shows initial character placements, etc, for actions and scenario events.  This panel is complementary to the next panel.
+
The map shows initial character placements, etc, for actions and scenario events.  This panel is complementary to the next panel.  This panel contains an overlay illustrating set actions will be present in this panel.
  
 
==== Actions List ====
 
==== Actions List ====
  
This panel lists actions you can add to the scenario.  In a drag/drop fashion, one can drag events onto the map (or onto players on the map -- ambiguities will be handled) to associate actions -- ie, Victory -> Character, Death; Victory -> Protect, No. Turns...
+
This pane lists (in a tree?) actions you can add to the scenario.  In a drag/drop fashion, one can drag actions onto the map to associate the tile or character on the tile (ambiguities will be handled through action context or dialog).
  
I would like this to be expansible/future-safe.
+
ie, for characters,
  
=== Features ===
+
*Victory
 +
**Death of associated unit
  
Some features that the campaign editor might include in the future may be of the following:
+
*Victory
 +
**Protect
 +
***No. Turns
 +
 
 +
*Defeat
 +
**Death of associated unit
 +
 
 +
ie, for land,
 +
*Victory
 +
**Hold
 +
***Radius
 +
***Unit
 +
****(of Class)
 +
****(of Type)
 +
***No. Turns
 +
 
 +
Aside from unit/tile based actions, world actions can be defined.  These include any action that isn't unit/tile specific.
 +
 
 +
ie,
 +
*number of turns before defeat
 +
*preambles between characters
 +
 
 +
I would aim for this list to be expandable/future-safe.
 +
 
 +
=== Possible Features In Future ===
 +
 
 +
Some features that would be nice to see included, but won't be priority include some of the following:
  
 
* UMC server integration (package/upload)
 
* UMC server integration (package/upload)
Line 46: Line 121:
 
** attributes, animations, etc.
 
** attributes, animations, etc.
 
* map editor integration
 
* map editor integration
 +
 +
[[Category:Summer of Code]]

Latest revision as of 08:36, 24 May 2021

Me

Good day,

My name is Jon Kivinen and I'm a freshman software engineering student at Lakehead University (http://www.lakeheadu.ca/) in Thunder Bay, ON, Canada (http://en.wikipedia.org/wiki/Thunder_Bay%2C_Ontario).

I'm interested in Google Summer of Code and a big fan of Wesnoth (LAN party favourite).

Languages (Tongue)

  • English (first)
  • French (use simple sentences in active voice with common objects)

Languages (Bits)

  • Python (stuff with wxPython, Django)
  • C/C++

Past Experience

To learn Python and wxPython I tried to write a Gin Rummy game. It was neglected after I tried to add network support (after the fact -- /collar tug). It's been a while since I touched it and most of the original code is 2 years old: I've developed my trade since.

http://rummy-py.sourceforge.net/

Hours

I'm usually up from 07:00 EST to 00:00 EST (12:00 UTC to 05:00 UTC) but this is subject to change in the summer months.

Contact

IM

irc.libera.chat

  • jkiv

Forum

  • jkiv

Gna!

  • jkiv

Website

Campaign Editor

Being interested in Qt4, I'd like to try to write the UI in Qt4. Nevertheless, I'm open to discussing with those doing map editor improvements what would be the best choice if the two tools were to be merged in the future.

Interface

I picture the main interface consisting of three parts:

  • Campaign Flow Editor
  • Map
  • Action List
Definitions
  • Campaign - a collection of ordered scenarios
  • Scenario - a map with an objective
  • Action -- aka. event
  • Path -- aka. branch
  • "Try agains" -- aka. game overs, you're deads

Campaign Flow

The campaign flow pane would be a flow chart representation of the scenarios of the campaign.

Scenarios can be attached to other scenarios (or branches), allowing for conditional paths. More paths will be available if the leading scenario has more than one victory and/or defeat event associated with it. A path can be associated with any number of victory/defeat events.

Unassociated defeats will be "try agains" by default.

Map

The map shows initial character placements, etc, for actions and scenario events. This panel is complementary to the next panel. This panel contains an overlay illustrating set actions will be present in this panel.

Actions List

This pane lists (in a tree?) actions you can add to the scenario. In a drag/drop fashion, one can drag actions onto the map to associate the tile or character on the tile (ambiguities will be handled through action context or dialog).

ie, for characters,

  • Victory
    • Death of associated unit
  • Victory
    • Protect
      • No. Turns
  • Defeat
    • Death of associated unit

ie, for land,

  • Victory
    • Hold
      • Radius
      • Unit
        • (of Class)
        • (of Type)
      • No. Turns

Aside from unit/tile based actions, world actions can be defined. These include any action that isn't unit/tile specific.

ie,

  • number of turns before defeat
  • preambles between characters

I would aim for this list to be expandable/future-safe.

Possible Features In Future

Some features that would be nice to see included, but won't be priority include some of the following:

  • UMC server integration (package/upload)
  • class/unit editor
    • attributes, animations, etc.
  • map editor integration
This page was last edited on 24 May 2021, at 08:36.