Devving an entirely new game?
Moderator: Moderator
-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Devving an entirely new game?
Hi, all!
I'm working on a pencil and paper book style RPG, and I was looking to try my hand at converting it into a roguelike. I was pointed to T-Engine because I'm not a programmer (but I do have a little experience modding games, particularly Dwarf Fortress.) The big thing is, I have no idea where to start. I have no idea what to do when I get it, because there doesn't seem to be a lot of readily available documentation. If someone could point me in the right direction (or send me down another path if this is not possible with this software,) that would be great.
Thank you for your time.
Edit: I have T-Engine. tl;dr: Now what?
I'm working on a pencil and paper book style RPG, and I was looking to try my hand at converting it into a roguelike. I was pointed to T-Engine because I'm not a programmer (but I do have a little experience modding games, particularly Dwarf Fortress.) The big thing is, I have no idea where to start. I have no idea what to do when I get it, because there doesn't seem to be a lot of readily available documentation. If someone could point me in the right direction (or send me down another path if this is not possible with this software,) that would be great.
Thank you for your time.
Edit: I have T-Engine. tl;dr: Now what?
-
- Yeek
- Posts: 10
- Joined: Wed Aug 25, 2010 5:34 am
- Location: Caisidhellain, Republic of Carcist
Re: Devving an entirely new game?
Well, first thing to keep in mind is that if you're designing your own game mechanic, there isn't going to be any one obvious, easy choice that'll make everything intuitive. No matter what route you go, there's going to be some degree of slogging through code and figuring out what's going on before you can implement anything you want to do.
T-Engine is probably your best bet, especially if you don't have a huge amount of experience programming. The other, most likely worse, option would be to dig through Angband variants and, if you find one that happens to implement a lot of mechanics close to what you imagine, use that as a base (The source code for Angband and its variants have a tendency to be very well-commented, so it's usually easy to figure out what's doing what).
For T-Engine, though, my process has basically been as follows, and I'm pretty much positive that this experience is common to a lot of module designers:
There's an example module. This thing is, pretty much, the bare essentials of what a module needs to A) run and B) actually be a roguelike. Copy that over, and make the new folder a testbed for playing around with modding.
http://doku.t-o-m-e.net/t4modules:module_howto_guides Go here, and read through all of the information there, while (and this part is really important to getting what's going on) having the Lua files open for whatever part of the guide you're reading. The information there is, unfortunately, quite far from comprehensive, but it's enough to give you a feel for how things are set up.
Think of some basic functionality that you'd like which the example module does not have, but ToME does (For example, a character screen), and try to dig through the ToME folder to figure out where it's doing that (class/Actor.lua, class/Game.lua and class/Player.lua are usually, but not always, the best places to start looking). Copy the block of code that seems to be handling this directly from the ToME file into the same file in your test module's folder.
Try to run it. It will almost certainly break, because that code you copied usually depends on other code. stdout.txt in the main folder keeps a pretty good record of exactly what file broke, what line, what it passed through to get there, and usually makes it pretty clear why. (There might be a better way to trace this information, but I don't know of it, at least, in cases where the program stops responding entirely)
Keep iterating step by step, either moving code around from ToME to the test module or modifying the code you've already moved, until it stops breaking. Repeat with something else, until you're comfortable with trying to branch out and write your own functionality, not just modify stuff that's already there! At this point, it might be a good idea to start over clean with a fresh copy of the Example module and start working on your actual project, but depending on what you've done so far with your test module, that might be workable, too. EDIT: Don't be scared to start an entirely new test module, either. Especially if something keeps breaking and you can't figure out how to fix it or even get it back to the way it was before. I'm pretty sure I went through at least five test folders before I was comfortable enough to try making an actual game.
If you get confused about how to do something, there's two choices: See if ToME does it and study that, or ask how to do that something! My experience lurking around this board (and the one thread I started) seems to be that the people here are receptive to different ideas and design ideologies, so you're much more likely to get someone actually trying to figure out a solution to get what you want to do working than to have someone say "Why would you want to do that? You should do X instead, it's easier to implement and is a better idea anyway."
Wow that was a lot more than I expected to write. Hopefully some part of that answered some part of your question.
tl;dr: Read the How-To guides, look at how ToME does it, ask for help on specific things.
T-Engine is probably your best bet, especially if you don't have a huge amount of experience programming. The other, most likely worse, option would be to dig through Angband variants and, if you find one that happens to implement a lot of mechanics close to what you imagine, use that as a base (The source code for Angband and its variants have a tendency to be very well-commented, so it's usually easy to figure out what's doing what).
For T-Engine, though, my process has basically been as follows, and I'm pretty much positive that this experience is common to a lot of module designers:
There's an example module. This thing is, pretty much, the bare essentials of what a module needs to A) run and B) actually be a roguelike. Copy that over, and make the new folder a testbed for playing around with modding.
http://doku.t-o-m-e.net/t4modules:module_howto_guides Go here, and read through all of the information there, while (and this part is really important to getting what's going on) having the Lua files open for whatever part of the guide you're reading. The information there is, unfortunately, quite far from comprehensive, but it's enough to give you a feel for how things are set up.
Think of some basic functionality that you'd like which the example module does not have, but ToME does (For example, a character screen), and try to dig through the ToME folder to figure out where it's doing that (class/Actor.lua, class/Game.lua and class/Player.lua are usually, but not always, the best places to start looking). Copy the block of code that seems to be handling this directly from the ToME file into the same file in your test module's folder.
Try to run it. It will almost certainly break, because that code you copied usually depends on other code. stdout.txt in the main folder keeps a pretty good record of exactly what file broke, what line, what it passed through to get there, and usually makes it pretty clear why. (There might be a better way to trace this information, but I don't know of it, at least, in cases where the program stops responding entirely)
Keep iterating step by step, either moving code around from ToME to the test module or modifying the code you've already moved, until it stops breaking. Repeat with something else, until you're comfortable with trying to branch out and write your own functionality, not just modify stuff that's already there! At this point, it might be a good idea to start over clean with a fresh copy of the Example module and start working on your actual project, but depending on what you've done so far with your test module, that might be workable, too. EDIT: Don't be scared to start an entirely new test module, either. Especially if something keeps breaking and you can't figure out how to fix it or even get it back to the way it was before. I'm pretty sure I went through at least five test folders before I was comfortable enough to try making an actual game.
If you get confused about how to do something, there's two choices: See if ToME does it and study that, or ask how to do that something! My experience lurking around this board (and the one thread I started) seems to be that the people here are receptive to different ideas and design ideologies, so you're much more likely to get someone actually trying to figure out a solution to get what you want to do working than to have someone say "Why would you want to do that? You should do X instead, it's easier to implement and is a better idea anyway."
Wow that was a lot more than I expected to write. Hopefully some part of that answered some part of your question.
tl;dr: Read the How-To guides, look at how ToME does it, ask for help on specific things.
Re: Devving an entirely new game?
Welcome MaximumZero! I am also working on my own T-Engine module, and agree with everything that FinalParagon stated. The main forum you want to be posting questions etc. in is the Module one, as the Development one is for T-Engine development specifically (as far as I know that is). I and other developers check the forums fairly frequently, so you can probably get answers in less than a day. The wiki FinalParagon does need work, and if you have specific suggestions about what you would like added there feel free to mention them and I will probably do it. There is also the #tome channel on irc.rizon.net that is frequented by developers if you are looking for some more immediate feedback.
An in-game tool that FinalParagon didn't mention is the DebugConsole. This is typically bound to Ctrl+L, but currently this feature is not in the Example module. I think this would actually be a benefit to have in by default, and will start another thread suggesting that. In the mean time you can enable the DebugConsole by adding the following code to the class/Game.lua file in the example module directory. Search for "SHOW_CHARACTER_SHEET" and put this code right after it.
You can find a little more detail on how to actually use the DebugConsole here. Good luck!
An in-game tool that FinalParagon didn't mention is the DebugConsole. This is typically bound to Ctrl+L, but currently this feature is not in the Example module. I think this would actually be a benefit to have in by default, and will start another thread suggesting that. In the mean time you can enable the DebugConsole by adding the following code to the class/Game.lua file in the example module directory. Search for "SHOW_CHARACTER_SHEET" and put this code right after it.
Code: Select all
SHOW_CHARACTER_SHEET = function()
self:registerDialog(require("mod.dialogs.CharacterSheet").new(self.player))
end,
-- Lua console
LUA_CONSOLE = function()
self:registerDialog(DebugConsole.new())
end,
<DarkGod> lets say it's intended
Re: Devving an entirely new game?
Welcome!
Yup what they said
Don't hesitate to ask, we are always happy when a new game creator arrives!
Also the advise I give all module makers: start small, build big. It's even more important if you are not an experienced coder.
Isolate a small set of things you want, the most core ones, make a first zone playable and then expand on.
What's your module about ?
Yup what they said

Don't hesitate to ask, we are always happy when a new game creator arrives!
Also the advise I give all module makers: start small, build big. It's even more important if you are not an experienced coder.
Isolate a small set of things you want, the most core ones, make a first zone playable and then expand on.
What's your module about ?
[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
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
Thanks for all the info, guys! This is a great start. I'm going to start school for programming starting next week, so that'll help.
@darkgod: Well, I really wouldn't call it a module. The game itself has been in development for over a decade (I'm on my fifth total rewrite of the book. Stupid perfectionism.)
The core features of the game are as follows:
+15 Playable Lineages,
+48 Proficiencies that your character can master, each gaining power as you use them,
+200 Spells, 100 Blessings and 100 Curses,
+The ability to create all your own equipment from scratch in game, all the way down to materials and enchantments,
+Over 120 unique weapon types, and over 100 wearable item types. This makes for a huge amount of possible combinations with which to craft items...and then you can further customize them,
+On top of being able to make thousands and thousands of different items, the ability to create ships and buildings from the ground up,
+20 Different types (each) of: Stone, Metal, Wood, Glass, Cloth and Natural Materials (Shells, Bone, Claws, etc.),
+100 Different Monsters with 10 subtypes each,
+100 Different Humanoid Enemy Types (I need a better name for this),
+10 Gods/Goddesses with a deep system for Favor and Gifts from your chosen Deity, as well as dozens of Nobles
+100 Different animals to train, fight and work with,
+Several ways to evolve your character mid-game,
+Modes of play include: Standard (Party Dungeon Crawl), Military, Naval, Management, Political and Solo,
+All done using one type of die (no more algebra!), which will hopefully come prepackaged with the game (d10s),
@darkgod: Well, I really wouldn't call it a module. The game itself has been in development for over a decade (I'm on my fifth total rewrite of the book. Stupid perfectionism.)
The core features of the game are as follows:
+15 Playable Lineages,
+48 Proficiencies that your character can master, each gaining power as you use them,
+200 Spells, 100 Blessings and 100 Curses,
+The ability to create all your own equipment from scratch in game, all the way down to materials and enchantments,
+Over 120 unique weapon types, and over 100 wearable item types. This makes for a huge amount of possible combinations with which to craft items...and then you can further customize them,
+On top of being able to make thousands and thousands of different items, the ability to create ships and buildings from the ground up,
+20 Different types (each) of: Stone, Metal, Wood, Glass, Cloth and Natural Materials (Shells, Bone, Claws, etc.),
+100 Different Monsters with 10 subtypes each,
+100 Different Humanoid Enemy Types (I need a better name for this),
+10 Gods/Goddesses with a deep system for Favor and Gifts from your chosen Deity, as well as dozens of Nobles
+100 Different animals to train, fight and work with,
+Several ways to evolve your character mid-game,
+Modes of play include: Standard (Party Dungeon Crawl), Military, Naval, Management, Political and Solo,
+All done using one type of die (no more algebra!), which will hopefully come prepackaged with the game (d10s),
Re: Devving an entirely new game?
Module is a generic term 
You indeed seem to have it all planned! Which makes my advise event more accurate: do not try to make it all in one go
BTW you said people oriented you to T-Engine, where was that ?

You indeed seem to have it all planned! Which makes my advise event more accurate: do not try to make it all in one go

BTW you said people oriented you to T-Engine, where was that ?
[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
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
Bay12, the community for Dwarf Fortress. There are lots of code monkeys (their term) over there who are really good about giving advice, so long as it's not about relationships. I also found the homepage on StumbleUpon and started researching it.
What I would like to do is get a) character creation done, b) items and item modding, as well as trade, c) proficiencies, d) combat, magic, enemies, and monsters, and finally e) build some zones to play in, as well as the ability to build your own houses, ships, workshops and whatnot.
Another thing that is important to me is tilesets. I'm not really fond of ASCII. I realize that all of this will be a lot of hard, oftentimes confusing, and sometimes frustrating work, but I think in the end, it'll be worth it. I have pretty much every part of the game written out, it just needs to be polished up and compiled from notes into book/game form.
What I would like to do is get a) character creation done, b) items and item modding, as well as trade, c) proficiencies, d) combat, magic, enemies, and monsters, and finally e) build some zones to play in, as well as the ability to build your own houses, ships, workshops and whatnot.
Another thing that is important to me is tilesets. I'm not really fond of ASCII. I realize that all of this will be a lot of hard, oftentimes confusing, and sometimes frustrating work, but I think in the end, it'll be worth it. I have pretty much every part of the game written out, it just needs to be polished up and compiled from notes into book/game form.
Re: Devving an entirely new game?
Yeah I took a walk over at b12 they are making a CrimeRL using TE4 
As for your own module, how far are you currently ? I stand by my advise, make one race/class/whatever playable in one zone with few items and npcs. Then expand

As for your own module, how far are you currently ? I stand by my advise, make one race/class/whatever playable in one zone with few items and npcs. Then expand
[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
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
I'm currently not started. I'm still researching. The whole thing looks overwhelming, but I'm sure I'll get much more comfortable mucking around in code once I actually get started. Again, I'm thankful for all the help.
p.s.: Did you want to move this to modules so that it's in the proper spot? I'd be okay with that, but I can't seem to move my thread.
p.s.: Did you want to move this to modules so that it's in the proper spot? I'd be okay with that, but I can't seem to move my thread.
Re: Devving an entirely new game?
That is... a lot.MaximumZero wrote: The core features of the game are as follows:
*stuff*
Start small, indeed. Good luck! (Didn't want to quote the whole thing so I could keep my post smaller. Dunno if that's necessary.)
Burb Lulls wrote:"FLURRYFLURRYFLURRYFLURRYFLURRYFLURRY"
-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
Well, this is my fifth total rewrite of my engine. People are still playing the fourth one, and several of my players have stated that it would be really cool if I packaged it with a roguelike when I eventually publish, or that a PC version may be easier for them to start with.
I'm just one of those kinds of people who has a lot of trouble not dragging their feet as hard as humanly possible.
I'm just one of those kinds of people who has a lot of trouble not dragging their feet as hard as humanly possible.
-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
I think that I'm going to wind up waiting until I know more about code to get this project started. I'd be happy to mod ToME while I wait, but I can't seem to find the item/race list. I think that putting new stuff in the game and seeing it work will help me get acclimated with extremely basic coding faster.
So, would anyone be willing to point me in that direction?
So, would anyone be willing to point me in that direction?
Re: Devving an entirely new game?
Items are in tome/data/general/objects/
Races are in tome/data/birth/races/
Races are in tome/data/birth/races/
[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
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

-
- Yeek
- Posts: 11
- Joined: Sun Aug 29, 2010 3:04 am
Re: Devving an entirely new game?
Sweet, thanks. I'll let you guys know what I come up with.
Re: Devving an entirely new game?
need to find more threads like this one so that I can contribute to the CrimeRLdarkgod wrote:Yeah I took a walk over at b12 they are making a CrimeRL using TE4![]()
