Sign in to follow this  
BaneTrapper

Making a chat log for 2d turn based rpg

Recommended Posts

BaneTrapper    1531

Hello.

I am currently making a 2d turn based rpg. Currently i came to a stage where i want to keep a chat log of what happened during battles.
Example:

...
unit1 attacked unit2 damaging for 50 hit points

unit7 turn

unit7 used defend increasing defenses by 5 for 1 second

unit3 turn

unit3 attacked unit 7 damaging for 12 hit points

 

I am using c++ and sfml2 for displaying.

 

A ideas how to do this would be of a great value.

Share this post


Link to post
Share on other sites
frob    44902

If you are looking for storage of the chat log, keeping a record of the last /n/ items is a great application of a circular buffer.  Old items naturally drop out of the list as new items are added.

 

If you are looking for some other aspect of implementing a chat log, you'll need to be more specific.

Share this post


Link to post
Share on other sites
havsmonstret    1017

If you are looking for some help on implementation I've written a message list / box in C# and XNA which you can find here: https://github.com/albinodervall/Roguelike/blob/master/Roguelike/Interface/MessageList.cs

 

It uses some XNA specific stuff like measuring the length in pixels of a string and such but the general idea is there. It supports the ability to colour your text, for example:

$Red Hello, $Green BaneTrapper

Would come out as:

Hello, BaneTrapper

 

It also support word-wrapping when a message becomes too long.

I hope it will help you somewhere on your way.

Edited by Navall

Share this post


Link to post
Share on other sites
BaneTrapper    1531

If you are looking for storage of the chat log, keeping a record of the last /n/ items is a great application of a circular buffer.  Old items naturally drop out of the list as new items are added.

 

If you are looking for some other aspect of implementing a chat log, you'll need to be more specific.


That is a great concept i will build from it.

 

 

If you are looking for some help on implementation I've written a message list / box in C# and XNA which you can find here: https://github.com/albinodervall/Roguelike/blob/master/Roguelike/Interface/MessageList.cs

 

It uses some XNA specific stuff like measuring the length in pixels of a string and such but the general idea is there. It supports the ability to colour your text, for example:

$Red Hello, $Green BaneTrapper

Would come out as:

Hello, BaneTrapper

 

It also support word-wrapping when a message becomes too long.

I hope it will help you somewhere on your way.

I have not yet done a application that mixes c++ with c#. Not sure can it be done, but from what i heard it should be possible.

 

 

About the Chat log What have i done till now is.

When a action like attack, defend or spell is executed. string log(unit1 attacked unit2 damaging for 50 hit points)is pushed intro a data holder for chat.

When am displaying chat log for user to see. Its drawing from data holder for chat until it cant draw no more(next text wont fit intro displaying area).

When displayed string width is greater then the max size of chat log width, i cut the string intro two parts and display it twice so it fits.

 

Everything was more simpler then it looked in "think of what i need to do" process. Ive got a chat log that am happy with.

 

What would be nice to look at code of other chat logs, or maybe a tutorial, if you know / have some it would be useful to check it just for ideas sake.

Edited by BaneTrapper

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this