gamefic-sdk 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a65534f07f1678a5e82275ec3a8e8158e8d96096d4adcf8e1d4277ab8961a5dd
4
- data.tar.gz: fd315e465a03350354a2c0f795088d63d14b16ec55a83a7025eef28dca35017f
3
+ metadata.gz: 7d90eb96a94149551b573259fd78410c1f0332b0a5ecaa9d559cc091a8962629
4
+ data.tar.gz: 4547e88ec7f62bcbe08d60d6411461327d1ff9f27c50755c47135c98cb4b1806
5
5
  SHA512:
6
- metadata.gz: 452327933e7a5f43100f4331a324b77b45e585187d9f470e15c4c4fb4cf3414105551430e340c4ae07f9e9c73ff082444d6840940a039478282cf71f517e8193
7
- data.tar.gz: 6f2dacd9c0f9273baebb359a25397ac5e3589c85ae1081a9e12d5472ee4f575d7edc6cab940654b2581ac75076bda01aaf92be56215707dbbcf37141e36c92a1
6
+ metadata.gz: '01081048d9c32716574e9ff9d906ee03cf07259875d608ea36fb73bea310440d43760c4d12f8e33159dfc346b31a33bf5eabf50c042c06bb169204aa5f8d98c4'
7
+ data.tar.gz: 6fadb23c6b9cfeeb855bfb082a932ae6abde7c722ebb194d20b3902900d8c50b679ce52e4205a04d6ac7544386e8c41baa47587d7323f9cfa9157ff43c8ea8f1
data/CHANGELOG.md CHANGED
@@ -1,9 +1,12 @@
1
+ ## 3.0.1 - April 10, 2024
2
+ - Updates to README in project scaffold
3
+
1
4
  ## 3.0.0 - January 27, 2024
2
5
  - Deprecate broken/redundant commands
3
6
  - Improved serialization
4
7
  - Queries use proxies for static entities
5
8
  - All scripted blocks get evaluated on stage
6
- - Use create-react-gamefic for web scaffolds
9
+ - Use react-gamefic for web scaffolds
7
10
  - Modular projects and libraries
8
11
  - New project scaffold
9
12
 
data/README.md CHANGED
@@ -37,21 +37,26 @@ so there's not much to do yet. Enter `QUIT` to exit the game.
37
37
 
38
38
  ### The Script Code
39
39
 
40
- The main script for your narrative is `main.rb` in your project's root
41
- directory. It should look something like this:
40
+ The plot for your narrative is defined in the `plot.rb` file. It should look
41
+ something like this:
42
42
 
43
43
  ```ruby
44
- GAMEFIC_UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
45
- require 'gamefic-standard'
44
+ module Example
45
+ class Plot < Gamefic::Plot
46
+ UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
46
47
 
47
- Gamefic.script do
48
- introduction do |actor|
49
- actor.tell "Hello, world!"
48
+ include Gamefic::Standard
49
+
50
+ script do
51
+ introduction do |actor|
52
+ actor.tell "Hello, world!"
53
+ end
54
+ end
50
55
  end
51
56
  end
52
57
  ```
53
58
 
54
- `GAMEFIC_UUID` is a globally unique identifier. It can be useful if you want to
59
+ `UUID` is a globally unique identifier. It can be useful if you want to
55
60
  add your game to online catalogs, such as the [Interactive Fiction Database](https://ifdb.tads.org/),
56
61
  but it's safe to delete if you don't need it.
57
62
 
@@ -61,26 +66,34 @@ developers should find it similar to Inform's Standard Rules. It defines common
61
66
  components like Rooms and Characters, along with in-game commands like `GO`,
62
67
  `GET`, and `DROP` to enable basic interactivity.
63
68
 
64
- `Gamefic.script` is where you write the story itself. In the starter project,
69
+ `script` is where you write the story itself. In the starter project,
65
70
  the only thing in the script is an introductory message.
66
71
 
67
72
  ### Modifying the Script
68
73
 
69
- Replace the contents of `main.rb` with the following:
74
+ Replace the contents of `plot.rb` with the following:
70
75
 
71
76
  ```ruby
72
- require 'gamefic-standard'
73
-
74
- Gamefic.script do
75
- @living_room = make Room, name: 'living room', description: 'This is your living room.'
76
- @bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.'
77
- connect @living_room, @bedroom, 'north'
78
- @backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom
79
- @book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room
80
-
81
- introduction do |actor|
82
- actor.parent = @living_room
83
- actor.tell "You're in your house."
77
+ module Example
78
+ class Plot < Gamefic::Plot
79
+ UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
80
+
81
+ include Gamefic::Standard
82
+
83
+ seed do
84
+ @living_room = make Room, name: 'living room', description: 'This is your living room.'
85
+ @bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.'
86
+ connect @living_room, @bedroom, 'north'
87
+ @backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom
88
+ @book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room
89
+ end
90
+
91
+ script do
92
+ introduction do |actor|
93
+ actor.parent = @living_room
94
+ actor.tell "You're in your house."
95
+ end
96
+ end
84
97
  end
85
98
  end
86
99
  ```
@@ -104,7 +117,7 @@ Test the game in a browser by starting a server:
104
117
  $ rake web:run
105
118
  ```
106
119
 
107
- Open `http://localhost:4342` to run the game in debug mode.
120
+ Open `http://localhost:9000` to run the game in debug mode.
108
121
 
109
122
  Build a standalone web game:
110
123
 
@@ -113,10 +126,9 @@ $ rake web:build
113
126
  ```
114
127
 
115
128
  The game's HTML file and related assets will be generated in the
116
- `builds/web/production` directory. The SDK uses
117
- [opal](https://github.com/opal/opal) to compile Ruby code to JavaScript, so the
118
- web build does not require a Ruby interpreter. Open `index.html` in a browser
119
- to play the game.
129
+ `web/build` directory. The SDK uses opal](https://github.com/opal/opal)
130
+ to compile Ruby code to JavaScript, so the web build does not require a
131
+ Ruby interpreter. Open `index.html` in a browser to play the game.
120
132
 
121
133
  Note: building the web app requires [Node.js](https://nodejs.org).
122
134
 
@@ -124,7 +136,7 @@ Note: building the web app requires [Node.js](https://nodejs.org).
124
136
 
125
137
  The gamefic-sdk repo includes several example projects that provide more
126
138
  complete demonstrations of Gamefic's features. To run an example, copy
127
- its `main.rb` file to your own project.
139
+ its `plot.rb` file to your own project.
128
140
 
129
141
  ### Learning More
130
142
 
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gamefic
2
4
  module Sdk
3
- VERSION = '3.0.0'
5
+ VERSION = '3.0.1'
4
6
  end
5
7
  end
@@ -31,7 +31,7 @@ To run the app in debug mode:
31
31
 
32
32
  $ rake web:run
33
33
 
34
- Open http://localhost:4342 in a browser.
34
+ Open http://localhost:9000 in a browser.
35
35
 
36
36
  ## Building a Web Game
37
37
 
@@ -3,7 +3,7 @@
3
3
  module <%= camelcase(name) %>
4
4
  # The base subplot.
5
5
  #
6
- # Authors should extend subclasses to create subplots that the plot can
6
+ # Authors should extend this class to create subplots that the plot can
7
7
  # branch.
8
8
  #
9
9
  class Subplot < Gamefic::Subplot
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamefic-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-27 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gamefic