Author Topic: 7DRL challege advice tips idea  (Read 17523 times)

ballsystemlord

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
7DRL challege advice tips idea
« on: February 16, 2015, 11:04:44 PM »
Hello, I'm new here.
I've been interested in rogue likes for some time now but I've not found one I really liked. I've played moria, angband, dugeon-crawl-stone-soup, and powder. I could reflect on the poor design, but that's not what I'm here for. I wanted to create my own, and seeing that there is a 7DRLC comming up I wanted to know if you guys have any advice, tips, or ideas. Mind, I have some of my own but creating a whole universe is a daunting task and I think myself foolish to attempt it in seven days, even considering I preplanned it. Even assuming that I precreated the monsters it would still be tough. And I'd also have to play test it.
So, I decided to ask you how to go about it best, I've still lots of reading to do so the design is not a done deal.

Assuming you like details and you don't mind another block of text I'm giving you as many details as I have.
I know C, I've been programming in it for two years (yes, I'm a young wipper snapper). So it will probably be written in C. I also know SQL and I think many of the tasks of storing monster/player/weapon data could be much simplified using it.
Here are the features I want it to have:
Persistent dungeons
Friendly/neutral monsters (as opposed to all hostile)
Monsters who, if your nice to them are befriended (somehow when I bath the ugly things in mutogenic energies I expect that they will like me; if for no other reason then that I've got what they want )
BIG/extendable dungeons (the giant ants should come from a nearby giant ant hill)

Well it's getting late, so I'll leave you with that.
Thanks for you assistance.

jlund3

  • Newcomer
  • Posts: 33
  • Karma: +0/-0
    • View Profile
Re: 7DRL challege advice tips idea
« Reply #1 on: February 17, 2015, 10:52:28 PM »
The best advice I could give is to scale back your design. I am not a great developer by any stretch, but what I have learned is that all the projects I've undertaken which large scope fail to even get off the ground (and that is without the 7 day restriction). For a 7DRL, you *need* to start small. Start with a framework you are familiar with (perhaps libtcod), and work towards getting a simple game with a single, (hopefully) interesting mechanic.

jere

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 233
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL challege advice tips idea
« Reply #2 on: February 18, 2015, 04:28:48 PM »
^This. You want to outdo some of the best RLs that have decades of development?? Probably not going to happen in a week. More likely, you'd get to 10% of a functioning game and on day 5 realize you're stuck on a line of sight bug.

Read this, I'll be regurgitating most of it: http://www.gamesofgrey.com/blog/?p=157

Start small. Try one or two innovative features at most. Use a library if at all possible. You either need to get the main RL features out of the box, simplify them greatly, or just cut them completely. Otherwise, you'll spend most of your time writing path finding, dungeon generation, line of sight, etc. from scratch.

Write yourself a todo list. Group your list into "versions" that each bundle a few features. Start with the must haves and save the nice to haves for the very end. Leave yourself at least one day to test and polish.

From what you've mentioned, something to do with befriending monsters sounds the most interesting. Some of the best 7DRLs have focused on unique ways of interacting with monsters.

Quote
BIG/extendable dungeons (the giant ants should come from a nearby giant ant hill)
I hear a lot of people new to game design throw out ideas like this. Things that tinker around the edges, but don't really fundamentally alter the gameplay. It might sound cool on paper, but what do you really get out of having huge dungeons? Maybe the concept has been considered already and dismissed for various reasons. Without auto-explore, a lot of RL dungeons are already too big and sparsely filled with interesting landmarks.

Also, I'm sure it's well deserved, but I'd be curious what you think is wrong with DCSS.

Anyway, good luck! Looking forward to seeing what you come up with.
« Last Edit: February 18, 2015, 04:36:28 PM by jere »
Golden Krone Hotel -- available on Steam Early Access now

ballsystemlord

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: 7DRL challege advice tips idea
« Reply #3 on: February 19, 2015, 12:54:31 AM »
I've never heard of DCSS please pass a like, searching has turned up nothing.
Your correct, I may never make the deadline. I wanted to start with one of the rogue likes out there (have to start reading their code). I thought that I'd try anyways, it would make a great learning experience.
I was kinda brain dead when I wrote the post as I have just gotten done reading 100+ posts on the subjects from roguelikedeveloper.blogspot.com.
I'll be more specific:
I mainly want to change the AI (at least for the 7DRL challenge).
I will not be needing the dungeon generator that much.
I want the boring beetles, ant's etc to generate the dungeon.
The mice and insects should run along the sides of the dungeon and the shadows, not be sleeping in the middle of the room.
It should have a recycling ability, so that you could arbitrarily set the date that you enter (from when the orb was placed), and then the dungeon and monsters would "in fight", dig, nest, reproduce, etc.
There will need to be a monster that eats bones and spits out wall. and one to recycle the weapons bring them to the surface, or something. This would greatly affect the balance and that's where I'm worried that I'd run out of time, I can almost see the code that would need to be written.

Again, thanks for your patience and assistance.

jere

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 233
  • Karma: +0/-0
    • View Profile
    • Email
Re: 7DRL challege advice tips idea
« Reply #4 on: February 19, 2015, 01:44:30 AM »
DCSS = "dugeon-crawl-stone-soup"

I think your idea to generate the dungeon using monsters is very interesting, but would be very hard to test and balance like you said. For example, how do you stop the ants from walling you off? In general it sounds like you are not considering the immense complexity behind some of the ideas you are entertaining (e.g."monsters would "in fight", dig, nest, reproduce, etc.") No matter. Do 7DRL and you'll get a feel for what is and isn't quickly achievable.

You should do 7DRL, but it sounds like maybe you would also be interesting in taking an existing roguelike and modifying it to add features you want?

Quote
The mice and insects should run along the sides of the dungeon and the shadows, not be sleeping in the middle of the room.
Oh cool, didn't catch this the first time I read that. On my last 7DRL, I had a dynamic lighting system and vampires stayed in the shadows.
« Last Edit: February 19, 2015, 01:52:20 AM by jere »
Golden Krone Hotel -- available on Steam Early Access now

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: 7DRL challege advice tips idea
« Reply #5 on: February 19, 2015, 04:58:50 PM »
There are also several 7DRL-based episodes of Roguelike Radio:

http://www.roguelikeradio.com/search/label/7drl

ballsystemlord

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: 7DRL challege advice tips idea
« Reply #6 on: February 21, 2015, 09:27:05 PM »
Yes, I was thinking of taking one of the available rouge type games and modifying it. I think it would be within the scope of the rules, since having to create and enter in all the details about the monsters would, in and of itself, take a month.
I'm not sure which one yet but I'm thinking angband since it has no scripting dependencies, and it's code is, from what I've been able to gather so far, well documented.
If I do do this I will have to release it as an "_Alpha_ play at your own peril" type game because, as you noted, a dungeon created mostly by the monsters would be difficult to balance.
Thanks for the link to the radio, hearing about how others fared is very likely to help me.
I'm not sure if I should be so enthusiastic about this as I might not even complete it  :).
One quick question, does anyone have an idea where I might find a good guide on writing cross platform C? Not, of course, that I'd actually have it working cross platform on day one, but, someday.

I'm going to add a few more details for you interest and comment, not because I have a problem:
I'm thinking that the ants should follow each other:
Code: [Select]
if( you == leader)
{
    ant_pathfinder(cur_pos, destination);
}
else if(attarget(leader) && !attarget(cur_pos))
{
    generic_pathfinder();
}
else if(leader == occupied || leader == dead)
{
    if(closest(cur_pos))
    {
        //You are the new leader.
        you == leader;
        continue;
    }
    else
    {
        push(action_waiting_stack);
    }
}
else
{
    follow_the_leader();
}
Code: [Select]
ant_pathfinder(cur_pos, destination)
{
    if(you == leader)
    {
        /* next_tile_to_target returns an int each time it's called
         * that represents the next tile that could be walked on
         * starting with ones that will take you to the destination the
         * quickest or forwards, upper right, upper left if there is not
         * best route.
         */
        tile == next_tile_to_target(cur_pos, destination);
       
       if(tile == water)
      {
          leader == occupied;
          form_ant_bridge();
      }
      else if(tile == lava)
      ....
    }
}
For mice and things like that:
Code: [Select]
mouse_pathfinder(cur_pos, destination)
{
    if(next_to_wall == false)
    {
         if(fighting == false && (eating == false|| eating == true && full == false ))
         {
              find_nearest_wall(cur_pos, destination);
         }
         else if(eating == true && full == false)
         {
              eat_more(cur_pos);
         }
         else
         {
              // Must be attacking.
              fight();
         }
    }
   
    // Head to target
    .....
}

Notice that even if the mouse is summed it will behave according to it's nature and hide in the shadows.


AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: 7DRL challege advice tips idea
« Reply #7 on: February 22, 2015, 02:03:28 AM »
Yes, I was thinking of taking one of the available rouge type games and modifying it. I think it would be within the scope of the rules, since having to create and enter in all the details about the monsters would, in and of itself, take a month.
I think, as long as you don't write/create anything in advance particularly for the 7drl, it's in the spirit of the challenge to reuse earlier code/content (whether your own or someone else's). For instance, it's my impression that several contenders recycle code from previous games to get basics like UI and basic map generation up and going.

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

guest509

  • Guest
Re: 7DRL challege advice tips idea
« Reply #8 on: February 25, 2015, 06:02:57 PM »
The Bull God speaketh true. I reuse a TON of code every year. No need to reinvent the wheel.

It would be against the spirit to just polish up something you've already done and call it your 7DRL, but it's not like we regulate it. We aren't going to kick you out or come to you house and beat you or something.

As for making a game.

1. Make an @, make it move, make it stop at walls.
2. Make a baddie, make it move, make it stop at walls.
3. @ bumps baddie, baddie bumps @ and there's an effect (like HP loss, death, top gun high fives, kissing, whatever)

Once you've got that, the sky's the limit!  :-)

EDIT: If you spend all week making a new monster for Brogue or something, just say that. "Hey, this is Brogue but I added a Magetaur, Minotaur, CyclopsTaur, etc..."

Slash

  • Creator of Roguetemple
  • Administrator
  • Rogueliker
  • *****
  • Posts: 1203
  • Karma: +4/-1
    • View Profile
    • Slashie.net
    • Email
Re: 7DRL challege advice tips idea
« Reply #9 on: February 26, 2015, 03:19:47 PM »

ballsystemlord

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: 7DRL challege advice tips idea
« Reply #10 on: March 05, 2015, 05:00:01 PM »
Whatever base I use is going to go through some serious modifications. I was looking at the code from oangband, since it has a nice AI (from what I understand), and I was most surprised to see that the code from the dungeon appears to be directly coupled with the code to draw the interface, I would have thought that the designer would have made the data go through a FIFO or some such thing, then you could have a decoupled interface which would greatly simplify the coding and allow others to write up one of there own interfaces without having to modify the main game source.
But I am planning to write up some pseudocode since it would really help me to get something down on virtual paper so that when I actually start coding I don't miss anything and I don't have to send a reply email to the ever so interesting "Why do the sharks swim in the lava"  type questions.
I'm going to be busy the next few days, but I'll try to stop back before the 15th.
PS: Is there some way to turn off the captcha? I'm asked to fill out one every time I post.

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: 7DRL challege advice tips idea
« Reply #11 on: March 06, 2015, 01:33:13 AM »
PS: Is there some way to turn off the captcha? I'm asked to fill out one every time I post.

I think it's cause you have a low number of posts. Once you're a more veteran poster it should no longer be a problem.

vultures

  • Newcomer
  • Posts: 33
  • Karma: +0/-0
    • View Profile
    • The Causeway
    • Email
Re: 7DRL challege advice tips idea
« Reply #12 on: March 09, 2015, 07:30:56 PM »
Yup, Darren's right - and someone at the admin team's smart! :-)

ballsystemlord

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: 7DRL challege advice tips idea
« Reply #13 on: March 30, 2015, 06:18:54 PM »
 :'( Unfortunately, in order to change the games as I proposed it would require a very large array to hold all the levels and the monsters and have them generate the dungeon and live in it, even while the player plays. This can be done but the current version of angband and it's variants all depend on a very specific setup and a bunch of global arrays and variables. This rendered the task impossible to do, at least in one week, I'm still developing it, but I'm starting from pretty much scratch. :)
I'll keep you up to date, though I think I will start another post  :)
Some of an advantage has been gained, however, since starting from scratch means that I will be able to implement more then one of my ideas. How would you like to be able to have a non scripted conversation with an AI? Yes, it can be done, all you have to do is to tell the AI what each thing in the dungeon is, give it the ability to compare things like this crude example:
Code: [Select]
if(item > mouse && item < elephant) { printf("It's a medium sized item." } and then specify how the sentence is to be assembled. It might not work for something other then English, but I don't know other langs so English will have to suffice, at least for the time being.