Frameworks and Attracting New Users

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Post Reply
Message
Author
Lap
Cornac
Posts: 40
Joined: Sun Aug 29, 2010 1:31 am

Frameworks and Attracting New Users

#1 Post by Lap »

I am fairly dismayed at seeing the lack of publicity T-Engine gets and it pains me to see this tool get wasted. I have never seen such an amazingly easy system for creating roguelikes and yet, these forums are sparse and few people seem to know about the latest T-Engine. Even being a player of ToME since 3 and before it took me a couple of months before finding out about the latest version and it's radical new system for modules. Unfortunately, I feel like T-Engine will continue to be under-recognized until at least one or two really great modules come out.

Whenever I try to point someone here they download the game, check out the example, get frustrated and then instead go off and try reinventing the wheel in python or something. The amount of wasted time in doing so makes me sick.

So what can we do to avoid scaring away new people?

Documentation & Examples

Regardless of how easy T-Engine is already, there's no reason it can't be easier. I'd really like to see T-Engine cross over from something that Lua coders can use with ease, to something the average person can use with is. I've been using Lua for years and I still feel a little overwhelmed just browsing through engine files. There are a lot of dependencies that need to get tracked down which can easily lose a new user. To get over the initial flood of options and files the user needs good documentation. The LuaDoc is extremely helpful, but still a little underdocumented and isn't much help at the very first stages.

The articles on the wiki are by far the most helpful and that specific page should probably be linked off the main site. Tutorials and filling out the wiki are by far the most helpful things that can be done. More examples always helps, especially examples of very focused scripts (things like implementing hunger or mounts/vehicles or whatever).

Frameworks

Making frameworks is the easiest way to get new people in. Ideally, I'd like for someone to be able to have a basic idea, select an appropriate framework for the setting and be able to see results in hours. The faster a new user can tangibly see their work come to light the more likely they are to stay and learn more. Without the right start it's easy to get frustrated just trying to get basic ruleset for your setting implemented.

Now I've seen that someone is working on a World of Darkness and 4 or 5E D&D ruleset. That's a great start and I would really encourage these projects. Though the settings are more complicated, they are well known and should attract some publicity. Here's a few more I think that would work well:

Modern - This is the most important setting to have. There are many, many fantasy based roguelikes, but far fewer ones based in even a semi-modern world. Making this one is a no brainer. Just having a bunch of occupations, some basic skills, modern items, firearms, and a basic town template map would probably be enough to most most users on their feet.

Space/Futuristic - Even easier once a modern framework is completed as most of the mechanics would remain very similar, but with simple name changes. Add in a couple of gimmicks like teleportation or crazy sci-fi ships and it'll be good. It is important not to discount how much more likely someone is going to be to use T-Engine if they see a framework for their setting. It doesn't matter if they could have easily just changed the name of "pistol" to "phaser", having a framework for their setting means they are way more likely to get hooked and stay.

Wild West or Pirates - Same mechanics here as most of the modern setting. Throw in some horses.

It would also be nice to see very small script packages that were dedicated to specific gameplay mechanics. I see you already have energy vs turn based movement and that is the kind of thing I'd like to see more of. Having a couple more basic systems (which could even be incorporated into the above mentioned frameworks) would be really helpful. Some ideas for script packages:

Experienceless skill based system - Skills only improve through use. Levels optional, but can come through enough skill use/
Perk system - similar to the current talent system.
Item combination - There are plenty of games that would benefit from a complex crafting system.
Survival System - Thirst/Hunger/Sleep
Location Based Damage - Targetting body parts, etc.

Collaboration

Just about every coder I know is lead of their own project with the end result of not a lot getting actually released. I'm guilty of this myself and I'm going to try to dedicate myself more to group projects here if I can. Please join/invite me!

These Forums

Just looking at the title of these forums I think the descriptions could use some work. Having this whole section named ToME 4 instead of something like 'ToME 4 & T-Engine" is kind of confusing and I almost missed this forum entirely. It can be read as these are mods for the ToME and not T-Engine. Separating T-Engine subforums from ToME's category might help. Alternatively, just adding a little more specific details on the development and modules forums would be useful.

FinalParagon
Yeek
Posts: 10
Joined: Wed Aug 25, 2010 5:34 am
Location: Caisidhellain, Republic of Carcist

Re: Frameworks and Attracting New Users

#2 Post by FinalParagon »

I agree with most of this, especially the documentation and examples part.

My issue, though, is with the Framework thing, mostly because I feel like the setting is by and large the easiest and most immediately gratifying part for someone with little experience to work on. For example, from an in-game functionality perspective, shooting works pretty much the same, regardless of if you're shooting an elven longbow, a Colt Peacemaker, a Desert Eagle or a plasma rifle. Figuring out how to get archery/firearms training to work is the difficult part, giving it a thematically appropriate name is the easy part. For this, I feel like the 'script package' thing you described would be a better solution.

There's also the fact that there are way more genres, or completely different subgenres, than would be worth accounting for. For Futuristic: Are we talking about space marines with lasers fighting aliens on the surface of an unknown world, are we talking about ship-to-ship combat in deep space, are we talking about a cyberspace world where most of the combat takes place bending the false reality of a computer system? All three of these are valid and common sci-fi settings, but what would work as a framework for one wouldn't work for the others.

This applies to basically any setting. Wild West: Do we mean Deadlands, Iron Kingdoms, or Bonanza? Does modern refer to a special ops soldier in the jungle behind enemy lines? Police rooting out crime from the streets of the city? A paranormal investigation squad coming into contact with things most people believe to be fantasy and superstition? A handful of average joes standing as the last defense against the coming zombie apocalypse?

I'm not saying it's a bad idea, and maybe I'm the only one who thinks defining the setting is the fun part, I just think making well-documented code hooks that explain how to use them and what they can be used for is a better use of resources than making a bunch of template settings, especially when it'd take a disproportionately large number of these even to cover the 'basics' of common genres.

Lap
Cornac
Posts: 40
Joined: Sun Aug 29, 2010 1:31 am

Re: Frameworks and Attracting New Users

#3 Post by Lap »

"maybe I'm the only one who thinks defining the setting is the fun part"

Everyone loves making fun new content, but a lot of the basic stuff is just a chore. [Not to mention there are a few people out there who would rather focus on story/quests]

Well let's take the modern example as it is the most generic:

I don't think people are going to be missing out on a lot of "fun" here. Let's say we include:

-Basic keys and locks
-A car
-Basic firearms
-Some common skills and roles
-A few common melee weapons and clothes
-Some martial arts/unarmed moves

Creating any of these things isn't really fun IMO. These are all basic ideas that aren't creative at all. Even if we included like 25 guns, someone is always going to be able to have fun modifying or creating even more. Now the backbone behind all of these frameworks is essentially just packages of a few new scripts (like the ones I mentioned), but with working examples. There aren't many actual ruleset changes between settings. However, by just dressing up these scripts in a basic theme we make it far more attractive to user and it takes minimal effort on our parts.

In no way do I think we can hit on all the settings. That's not really the point. Just having a few of the most popular settings as examples is fine. Since there are a limitless number of subsettings like the one you mentioned I wouldn't recommend doing something as full fleshed or complex as the World of Darkness framework. Leaving these frameworks very basic means that they are easily built on and can serve as templates for many settings. Now some of these framework ideas are kind of similar to each other in basic rules so they're not really a priority, but seeing how little effort they take to thematically change is useful. Having a few different frameworks/templates, even if they are relatively similar, just shows users how easy it is to quickly change settings and that nonfantasy settings are totally doable by the T-Engine.

FinalParagon
Yeek
Posts: 10
Joined: Wed Aug 25, 2010 5:34 am
Location: Caisidhellain, Republic of Carcist

Re: Frameworks and Attracting New Users

#4 Post by FinalParagon »

The issue I have isn't that this basic functionality shouldn't be available; it absolutely should, which is why I think script packages and code hooks are a wonderful idea. My issue is that putting a thematic coat of paint on this functionality doesn't seem necessary, and may in some cases actually be limiting to newcomers.

So, looking at your modern functionality, and compare it to someone trying to make a standard high fantasy setting:
-Basic keys and locks (Rogues are a staple of high fantasy, and what self-respecting rogue doesn't have plenty of locks to pick?)
-A car (If the option were readily available to put horses in a fantasy setting, I think just as many people would want that as they would cars in a modern one)
-Basic firearms (Bows and archery)
-Some common skills and roles (Some common skills and roles - Admittedly there's less absolute overlap here than other places, especially if you mean realistic modern, where there's not really any direct analogue to, say, a mage)
-A few common melee weapons and clothes (A few common melee weapons and armor)
-Some martial arts/unarmed moves (Who doesn't love monks?)

All these functions you're suggesting are great ideas, but at a basic functional level, it doesn't matter if you call it a longbow or a rifle, a ranged weapon is still a ranged weapon. It doesn't matter if it's a warhorse or a Honda Civic, a vehicle is still a vehicle. If you make something very genre-specific, it becomes harder for someone to come up with a general implementation if that's not how they want to implement it (even if they're using the genre you specifically designed it for!)

The more stuff basic stuff you define as important to one setting, the more stuff you'll discover is actually pretty universal. Want to make it so cars can't turn on a dime? Well, neither can a galloping horse, so why not give the fantasy setting maneuverability for its vehicles? Need clips of ammunition to be limited in size? Well, why does it make more sense for quivers be Bags of Holding, then?

Lap
Cornac
Posts: 40
Joined: Sun Aug 29, 2010 1:31 am

Re: Frameworks and Attracting New Users

#5 Post by Lap »

While I still think it would be nice to have some premade settings to play around with for people who'd rather be story tellers,what do you think about more generic templates?

By that I mean something like the example module, but with a bit more meat on it. Something that wouldn't be as complicated as looking through the ToME module. Right now, users have all the tools in their toolbox, but it's hard to find which ones they need and how to link them. It might be easier to have a template module that has more features already in use. It's easier to delete or simply ignore features you don't need, but it's harder to track down all the proper dependencies when trying to add basic things. For experts it's easier to add than delete, but I think the opposite is true for newbies.

So I'd look at the template and change it to whatever theme I want while deleting whatever features I don't need. Maybe I don't need any merchants/stores so I can wipe that out real easy, but other users might have trouble setting up the merchant in the first place.

FinalParagon
Yeek
Posts: 10
Joined: Wed Aug 25, 2010 5:34 am
Location: Caisidhellain, Republic of Carcist

Re: Frameworks and Attracting New Users

#6 Post by FinalParagon »

Oh, absolutely! A really good template module is exactly something T-Engine needs. As it is, the Example module serves as that, but it's definitely way more bare-bones than it should be, and some of the stuff it's lacking is downright puzzling (character inventory?). I'd say it's critical to getting new people interested in module design to have a strong template to build off of, one that has most of the base functionality built-in, and things that are less general but still pretty useful to a lot of module ideas (talent systems, or vehicles, or ranged weapons, for example) able to be implemented by something as simple as uncommenting a line that loads up the script file for that functionality.

Right now, T-Engine's biggest problem is that the engine itself is fairly opaque. You said it fantastically with "Right now, users have all the tools in their toolbox, but it's hard to find which ones they need and how to link them." The dependencies in the engine are pretty convoluted and there's nowhere that this is explained really well unless you know exactly what to look for. So I think two things it needs right now are:

1: A better springboard to start developing modules from. I think we're both agreed on this but differ on what, exactly, this implies.
2: Either a better commented engine or better documentation explaining where everything is in the engine.

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Frameworks and Attracting New Users

#7 Post by darkgod »

Heya !

Well for the advertising, I did not do any yet because it's still beta, albeit I admit I'm not good at that anyway.

I agree with you both, we require a better documentation of the engine, the are some parts without luadocs and some of the luadocs are not very good.
We also need a more guides on the wiki, what is there is good and I thank people who contributed but more is better in this case ;)

Maybe what would be great would be a "Make your dungeon crawl in 10 steps" guide, with a zip of the source at each step. A step would be like "add inventory", "add monsters", ...

I think we need both your suggestions, "script packages" that implement one function and templates that uses those packages to make barebone modules that others can duplicate and use for their own modules.

You said you probably wont do a big module yourself, so we could nominate you to handle those ? ;)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Lap
Cornac
Posts: 40
Joined: Sun Aug 29, 2010 1:31 am

Re: Frameworks and Attracting New Users

#8 Post by Lap »

darkgod wrote:u said you probably wont do a big module yourself, so we could nominate you to handle those ? ;)
We'll see as I might be doing more actual coding than expected. Regardless, you should be seeing some more traffic here very soon.

Still beta? That's like most of all roguelikes. This is way more full featured than most of them anyways.

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Frameworks and Attracting New Users

#9 Post by darkgod »

Heh yes I saw that thread on b12 ;)

As for beta, when I started TE4 my main idea was: make it good, don't follow other RL blindly ;) So not it's not meant to stay in beta forever.
Next beta will have an actual endgame, then I'll add some more sideway contents and we could maybe have a first non beta late this year (wouldn't that be a perfect christmas present ? ;) )

Oh and thanks for your good comments on the engine, I'm happy people think it's good!
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

getter77
Thalore
Posts: 125
Joined: Sat Dec 12, 2009 2:16 pm
Location: GA, USA
Contact:

Re: Frameworks and Attracting New Users

#10 Post by getter77 »

http://www.roguetemple.com/forums/index ... pic=1245.0

Good old Hajo's Roguelike Game Kit over at my most common haunt would probably be a very good idea to gander at in terms of a way to go about things in a generic fashion while trying to make a point or points towards would-be creators. It still has a ways to go, but then so does T-Engine 4, the Sharplike project, and various others out there.

MaximumZero
Yeek
Posts: 11
Joined: Sun Aug 29, 2010 3:04 am

Re: Frameworks and Attracting New Users

#11 Post by MaximumZero »

As someone with absolutely no coding experience and a really big idea, there are certain things I'd like to be able to do easily:

Make a world or randomly generate one within certain parameters,
Have a template for defining races, and certain behaviors with a generic theme (awake at night, violent, hyper, etc.) and how those races interact,
Have a template for adding or making weapons, armor, ammo, and other items,
Have a template for animals, enemies and monsters,
Display a character sheet from an external source, and define parameters within that sheet (str, dex, etc.)
Be able to easily define what magic can do and how it acts,
Be able to easily make skills and abilities,
Easily be able to define a plot or have one randomly generated in game.

I know that much of this is not simple...but if it was, I could do it myself, no?

Post Reply