As I write this, it is the morning of the second day of the Hackathon. I’ve been able to pursue my idea, but, as these things tend to go, it hasn’t played out at all how I’d planned. I spent last night turning over the first day in my mind, and now I find myself reassessing.
Here were the goals I had set for myself before the Hackathon:
1) Nail down the character, items, NPCs, areas and basic mechanics such as accessing inventory, exploring a room, combat, conversation, levelling up and so forth. Mechanics will be governed by functions and may be simplified further if required.
2) Build a simple, linear game using each major element and mechanic at least once.
3) Build a web interface over the game.
4) Playtest.
5) Expand game, if enough time remains
As of this morning, I’m still on point one, with no realistic way to move past it in the time remaining. The first room is in place, as is the player-character, some plot items and a sample creature. I’ve also roughed out the combat function and the examine item function, and identified where I need to write other functions to ensure those two behave as I need them to.
To be honest, I’m not terribly surprised. The game mechanics I was hoping to implement prove more complex to build than is realistic for the timeframe, even with additional simplifications. I’m thinking I’ll have to go back to the drawing board at the end of this and decide what, specifically, I hope to accomplish, and how I might more realistically carry that out.
I’m not particularly upset about all this. I ended up working with only one other person, Jacqui. Her strength is in project planning and documentation, and she ended up putting together an impressively through document mapping out all the object relationships a game like this needs. It’s given me some serious food for thought. While it would have been nice to have an experienced coder working with me, planning of this kind is so important, and I’m no doubt better off for it. I’m still happy with how much the two of us accomplished, given our respective skill sets.
Today, I’m going to keep plugging away at functions. If I’m really productive, I might be able to start testing one or two. Jacqui, alas, is down with a back injury, so I’m flying solo.
While it’s clear that the task is much bigger than I expected, I’d like to keep going for a bit longer before I decide whether it’s worth continuing this development path. I’ll have to decide once the even wraps up. I want to continue with the idea, and I still think it’s going to be a great way to learn more about how JavaScript works.
October 27, 2013 at 7:32 pm
I’m impressed; game development, and especially the challenge of setting goals for it, never ceases to impress me with the challenge involved.
How are you planning to implement it? In-browser javascript? What sort of backend for persistence are you thinking of?
October 27, 2013 at 8:02 pm
Heya, Chris! Challenge is a good word for it. At this point, I’ve realized I’m going to have to scale back dramatically. Even the pared-down version of the D&D Essentials ruleset I’d been working from is proving too cumbersome now that I’m at the point of defining functions to govern interactions. It would probably be doable if I had a team to work with, but c’est la vie.
I am indeed aiming for in-browser JavaScript. It’s a learning exercise for right now – I’m still figuring out object-oriented programming, never mind JavaScript – so I haven’t given much thought to persistence beyond sticking it on a server. I’ll be happy if I can get one room working; anything more is icing. :p
October 29, 2013 at 11:38 pm
Hah. Good plan; don’t bite off an excess of stuff. It’s enough, sometimes, to make a minimal prototype.
Anyway, awesomesauce; I look forward to seeing it sometime.