Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - pangaea

Pages: [1]
1
Design / Re: My two cents about Permadeath
« on: March 31, 2014, 08:41:20 PM »
I sort of agree with the OP in that some of the deaths are bullshit in a roguelike. I think the solution is to make it so that there is no luck in a roguelike and you don't reward grinding.

In spelunky I don't really care if I die since it would be my fault and you can't really grind, through you can wait for the ghost to appear. In that sense if you can scum save a game and  progress, then that game is bad. I currently think roguelike don't do enough to solve grinding issue and just sit behind perma death, well you can't grind as if you die you lose everything.

I really think some roguelikes are popular because of sunk cost and the fact that it harder to relearn another roguelike, hence why in this community you get people who only play nethack or DCSS or brogue. Do they really like the genre or have they invested so much time beating a game that can only be won by brute force memorization and learning little tricks that are sort of stupid.

2
Programming / Multiplayer roguelike implentation through MySQL???
« on: March 31, 2014, 08:29:38 PM »
Sorry if this might be a long post. Okay I want to make a multiplayer game I have tried in the past but failed. I sort of wanted to make it for 7DRL, but that is a sort of biggish project.

So I should start with concentrate and hope for people help or advice.

What tools will I use?
1. Libtcod C++ for game client
2. MySQL to store everything
3. C++ for server client
4. Oryx tileset for graphics(Through I might change this to ascii since I might just put everyone in tanks)

The problem is that I'm not that good of a programmer, but I do put a lot of effort into learning. I plan to give client only read only access to the MySQL database and give the server read and write access. Through I have to be careful with this to stop hacking. But, this would solve some of my issues like race condition if the client can just read the database and I don't have to worry about that. Just have to worry about race condition when I send a message to the server. I think using TCP might solve this, but I don't really want to use TCP.

The other problem is getting bogged down in details like race condition if I'm doing it correct is such a nightmare. Through I don't have much spare time so I will try to not think to deeply and just do stuff quickly. http://vdzserver.org/mmorl/mmoRLserver/ I'm studying this to know how to implement a multiplayer game, but I think he does things sort of bad here.

But, anyway I'm now currently creating tables in MySQL one for mobs and one for environment. It would be simple to query a list of mobs in a table and create them. It would be simple to create a new mob on the server and then do a MySQL insert into the mobs list in the database. So I'm sure it would not be that hard to create a multiplayer game like this. Just have to make sure the client is reading the information correctly and then server is writing to the database correctly.

Sorry if this sounds like a dumb plan. This is the easiest solution I can come up with. Aren't all multiplayer games just a big database?

3
Programming / Re: New approach to AI. Need suggestion and help.
« on: March 22, 2014, 11:15:36 PM »
The message sent to the observing objects can be anything, e.g. a complex data structure representing whatever information you want to broadcast. It is not limited to whatever you can store in a bit vector or a single boolean value. If you want to get anywhere with the kind of system you're talking about, you need to either pare down your ambition to just a few types of information to pass, e.g. via a few fields in a C-style struct, or start thinking about more flexible data structures that can faithfully represent the information you want to pass around.

The first thing to realize is: You probably want the things you pass around this way to be instances of some message class, which should in turn be some composite type built from various other more specialized objects for representing the information you care about.

The second thing to realize is: As the object being observed is doing whatever it's doing, it should be building instances of this message class as it goes and broadcasting them to listeners where appropriate. It might help to have a helper class to build these things with, see e.g. the Factory and Builder patterns, so that your message class constructors don't get out of control.

If it is relevant how the data is being observed in the game world, this can be included as data in your message objects. Your mobs will then have to use the data enclosed in the messages responsibly with the method of transmission in mind -- or you could add another layer of processing between mobs taking environmental factors like line of sight etc. into account.

Again, hope that helps.

I sort of do understand what your saying about information being C-style. I'm making sure I only send ints, bools and enums.

Through the problem I have is sending the message is a bit confusing. I just check if the mob that is broadcasting say mob a can see say mob b, if mob a can see mob b I just copy the ints and bools into the memory of mob b or if there is already memory of mob a I update it. This seems a bit strange as how I'm currently doing it, mob a is changing mob b when in real life mob b is changing itself by observing mob a.  So it seems backwards.

I will look into Factory and Builder patterns, but I don't think I will use it.

4
Programming / Re: New approach to AI. Need suggestion and help.
« on: March 22, 2014, 10:58:35 PM »
Okay so I've taken the advice and I've made an Observer class, that includes the id, position, sex, race, strength, health, intelligence and if it contains other actors I.e. items. So I just broadcast this to every mob that is in the fov of the mob like Zireal said.

I was thinking about what has been said in this thread. I'm nearly done doing this simple class to exchange simple information and making it work. Through, I suppose the next big problem is communication, like how would I transfer from one person that say x hates y. In real life this is done by conversation, so I think I need some sort of conversation class where I can exchange information with mobs. But, then this wouldn't really be about memory storage and I would on to personality of mobs, which I shouldn't be. I suppose I need a way to store relationship information between mobs and then a way to transfer it into another mob.

ekolis I think it better to have a class of information I want to be given out from the mob since then I could probably apply some logic like if mob x is more intelligent than mob y, then mob y cannot see the intelligence level of mob x. I see myself doing this a lot, especially for example if the mob is invisible you don't want to broadcast to a mob that can't see you I.e.  no ring of see invisible.

Zireal I'm doing what you said now. Through it C++ instead of lua, but that doesn't really matter.

5
Programming / New approach to AI. Need suggestion and help.
« on: March 22, 2014, 03:33:32 PM »
So I'm trying to make a game that is like DF and URR, however I first want to start with the AI instead of procedural generation of terrain, which would be easier.

I'm having a bit of a problem with mobs. In particular I'm spending the next two months on just one thing in AI, that is mob memory.

Now I've figured out what the basic information I need to store in the AI, that is map of the world that the AI currently knows, information about other mobs and if they are alive or dead, relationship information, information on items and stats of other mobs.

The problem is some information I want the mob to remember I have to take from other mobs, which I haven't figure out how to handle. Let say a mob has died, another mob comes into contact with that mob, he now needs to update his knowledge of the mob and in particular it is dead is the most important.

I've been told that I should use observer pattern I.e. if the mob who is dead has a method called isDead() that tells other mobs in it fov that it is dead. However, that would mean for every other piece of information I want to get I would have to do a similar method. So I would have to make say isStrong method to broadcast that the mob has 200 attack, or say if a mob loves another mob do I make an isLove method to broadcast this. So it becomes a mess.

So now I'm currently stuck as I have no good way of getting information from one mob to another. Observer pattern turned out to be a mess and I can't expand it.

I was wondering how could I solve this problem?

6
7DRLs / MobaRL
« on: March 14, 2014, 06:59:36 PM »
Hey guys I'm making a game that is a mix between moba and a roguelike. Because of burn out I can't balance the game and I can't add complex things like items and crafting items. However, it has mobs with interesting abilities and you can beat the game if your skilled enough.

Pages: [1]