301 Days

A year of gamedev experiments.

Day 37 - Seven Sins

| Comments

Code

A few more easy login tests, and adjustments for the differing account name, password, and character name requirements. Definitely still in the “making a mess” phase, figuring out how things need to be structured.

features/login.featurelink
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Scenario: Logging in a new user
Given a new random user
And a telnet connection
When I create an account and character
Then I can play the game

Scenario: Logging in an existing user
Given a new random user
And a telnet connection
When I create an account and character
And I log out
And I get disconnected
And I log in
Then I can play the game

Scenario: Logging in an existing user - initially wrong password
Given a new random user
And a telnet connection
When I create an account and character
And I log out
And I log in with the wrong then right password
Then I can play the game

Scenario: Bad account name - silly
Given a new random user
And a silly account name
And a telnet connection
Then I try to create an account and the account name is rejected

Reading

Introspection

A recent blog post from the folks over at How to Make an RPG, Seven Sins of the Eternal Dev, got me thinking. I certainly suffer from most of these failings, and this blog is largely my way of dealing with them.

  1. Babbage Trap: I have my share of never-shipped projects/experiments, and the urge to change my focus to a cool new thing. Every post counts (to me) as something I’ve delivered, and I can stave off the impulse to jump to a new thing by writing it up briefly instead.
  2. Delaying Tactics: I usually let the perfect be the enemy of the good, to avoid the embarrassment of showing something flawed. I’m discarding that, and showing my flawed efforts here in the hopes that someone can learn from them (even if it’s only future me). One could say that the blog is a delaying tactic of its own, but so far I’ve actually done more work while blogging about it than I was before.
  3. Inertia: Work gets busy, life happens; this is definitely one I’m still working on. Doing so in public gives me an additional push. “You don’t get a soup to boil by heating it for one minute everyday” gives me pause, though: I have a day job and other responsibilities; a few hours most evenings and the occasional jam is the best I can do for now.
  4. The Creeps: The blog may actually make this worse, since a neat new feature can be a tidy post. But like the Babbage Trap above, I can scratch the itch by mentioning it and adding it to the bottom of the big to-do list.
  5. The Generational Game: Yep, my current family of projects is pretty big. So I gave myself 301 “days” and am constantly aware of where I am in that time frame.
  6. The Super Hero Effect: My issue is not one of rejecting help, but being unwilling to recruit it. I have little idea of how this is going to turn out; and absent my nostalgia, I’m not sure why anyone would choose to work on it with me. That said, I’m standing on the shoulders of giants already (the existing codebase, Unity, etc), and find more useful tidbits all of the time.
  7. Fear: I post here to conquer my fear of judgement, of embarrassment. I legitimately fear my current employer deciding that it’s a problem, despite it all being done on my own time using my own resources. Such is the nature of salaried employment, I suppose.

As an aside, I would argue that some employers actively contribute to the 三日坊主 issue: If management is constantly bouncing you from one project to another, you get used to the constant change of scenery; when you do get to work on something long enough to build up some inertia, you start to rebel against the apparent stagnation. I’ve seen this happen to high-tier customer support personnel, always being put on the biggest and angriest customer only to be pulled off whenever they cool down; when placed on a long-term project team, they quickly lose focus; then they are marked as “not a good project team member” and shuttled back to customer support. It’s a rare engineering organization that has the patience to let one of their engineers adjust to a different work pace.


Learning

PMGAI Lesson 2.1: Authoring

Some discussion of manual authoring of AI content. Lots of confirmation of things I already thought I knew, but that makes me happy.


Day 37 code - tests

Comments