Card Builder, Part 2

Some more notes about the Card Builder side project. I’m likely going to use JSON for the template files and preset groups. It’s a format most developers/nerds are familiar with, and it’s easy to edit directly.

The template schema will look something like:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"version":1,
"name":"Sample Template",
"elements":[
{
"type":"text",
"children":[],
"position":[20,100],
"size":[400,"auto"],
"width":"100%",
"value":{
"type":"static",
"data":"Foo Bar",
"wrap":true
}
,

"style":{
"font-size":"12px",
"font-weight":"bold"
}

}

]
}

I’m not completely sold on this idea. A part of me wonders if it makes more sense to skip OpenGL entirely and do this in an embedded browser (or web app) to gain the benefits of CSS for styling/positioning, rather than building my own layout rules. It would probably be easier, but I would learn less from the project.

The Martian

Went and saw The Martian today. Good movie. It gives me some ideas for the lunar portion of SRPG, as well as the Baron’s character design.

Card Builder

I’m starting another side project; I have one at a time (other than SRPG) allotted as a way of learning new tech and getting a mental break from other things. This one is related to the previous Numenera card generator. I’d like to generalize the concept into a broader ‘card builder’ tool.

Technology:

  • C#: I’m pretty comfortable with the language, and it’s one of my favorites.
  • OpenGL (probably OpenTK) for rendering: I have just a tiny bit of exposure to OpenGL and wouldn’t mind a bit more, plus it should be easier to do certain image manipulation/text rendering tasks. Assuming OpenGL / OpenTK can do what I need, namely: 1) solid font rendering with text wrapping, 2) dynamic texture generation, and 3) saving a dynamic texture to disk in a standard file format at high resolution.
  • GTK or WinForms/WPF depending on whether cross-platform functionality is important. Might be fun to learn GTK.
  • Visual Studio or MonoDevelop for coding: I have VS experience and it’s a great IDE. Some OpenTK tasks may be easier in MonoDevelop however.

Goals & Features:

  • Define card templates with field variables (e.g. title, description, cost), field placement, and image background layer. Templates can be saved to some kind of text-based config for reuse.
  • Visually add/edit/remove template fields, with control for text wrapping, fonts and font styles, alignment, etc.
  • Import values from disk to populate templates. CSV import as default type.
  • Live editing of template with values loaded (onscreen cards should update to match template).
  • Export of single card or all cards with resolution and file type options, including print-ready (300dpi+).

Nice-to-Haves:

  • 3D card preview with backs.
  • Save/open groups of templates as presets. e.g. D&D 5E Spell Cards, Numenera Power Cards, etc.
  • Text formats are defined sensibly enough that they can be edited directly outside of the interface.
  • Card searching/filtering.
  • XLSX import.

Need-to-Think-Abouts:

  • Dynamically sized/placed elements (for example, the Numenera generator automatically places a colored bar with text directly below a variable-sized text block).

Weekly Update #14

Changes:

  • Started using some SRPG in recent pen-and-paper play. Seems like an interesting way to playtest the game in a multiplayer, interactive environment (plus I kill two birds with one stone on prep).
  • Worked through some story and character elements.

Bugs & Problems:

  • Nothing new.

Resume

Have some breathing room at work, normal posts should resume. Tomorrow I’d like to do more comprehensive stubbing for the locations and movement in the game.

The Aethernauts

Spoilers!

The aethernauts are a group of scientists you meet in Act I. After discovering a mysterious hole underground leading into the void of space, they set about 1) plugging the hole, 2) building gear to protect themselves from the dangers beyond, and 3) exploring.

Prior to the beginning of SRPG, they ventured out from the mysterious wormhole, which as fate would have it is located not too far from the moon. Seizing this unprecedented opportunity, they naturally tethered the moon to their viewing station and created a gondola to travel back and forth from it. Over the years that followed, they established a small, semi-autonomous base on the surface of the moon to continue their explorations.

Things were fine until they detected a strange meteor impact and sent the lone lunar aethernaut to investigate. He didn’t come back, but someone else did.

The Baron.

Writing to Victory, Part 3

Last part of this, promise. More writing mechanic ideas:

  1. Mentioning an NPC enough times to other NPCs makes them a celebrity.
  2. Alliterative actions.
  3. Writing a book as part of an in-game quest. NPCs who have read the book have their opinion of you influenced by how much of it they understood.
  4. Writing your name on the moon causes people to fear you.
  5. A mad spell-chemist in whose laboratory only words made up of elements can be used. e.g. GO NORTH fails but WALK N (W for Tungsten, Al for Aluminium, K for Potassium) is ok. I think. I’m not a chemist.

Writing to Victory, Part 2

Some more writing mechanic concepts:

  1. Mirrored mode, where the game is displayed backwards and your inputs have to be typed in reverse. Might be fun (for some definition of fun) in one of those obnoxious easter-egg sidequests. (Do they count as easter eggs if I list them all in the dev journal?)
  2. Repeating a lie to enough NPCs that it becomes true.
  3. Getting in an argument about the oxford comma with an NPC, who refuses to give you a list of items unless you ask for it correctly.

Writing to Victory

I’m on kind of a Myst mental kick after discovering the MystCraft mod for Minecraft. The mod’s primary purpose is to let you ‘write’ custom Minecraft worlds using a set of symbols and a complicated (arguably overcomplicated) set of tools and machines.

Writing as a game mechanic makes a lot of sense for a text-based game like SRPG. I have a few ideas so far, mostly derivative of clever things other people have done, such as:

  1. Changing the properties of an object by renaming it, or
  2. Modifying the game transcript to retroactively alter events, or
  3. Summoning or spellcasting via written text (a la Scribblenauts), or
  4. Writing a letter to your in-game grandma and receiving a package of Christmas cookies in return, which are just the item you needed to solve a tricky puzzle.

Daily Update 285.2015

Still in crunch mode at work for a few more days.

Changes:

  • Started using some SRPG in recent pen-and-paper play. Seems like an interesting way to playtest the game in a multiplayer, interactive environment (plus I kill two birds with one stone on prep).

Bugs & Problems:

  • Nothing new.