As you aksed Sas:
Printable View
As you aksed Sas:
I can make dynamic music... it will just take me a while ;)
Latest:
The new network module is coming together very nicely.
I have made it a nice high level piece o' kit with things like SetWhatever and GetWhatever.
I have connections working properly in the server, no virtual functions going yet and the protocol class hasnt been implememented fully yet because of the virtual functions not working.
I resynthesized 1 of Igors songs... err so it sounds good.. or better quality.
Here is the URL
http://members.shaw.ca/alek.m/Igor-V...tro_Remix).mp3
tell me what u think...
Very nice work, invitro. Very nice work indeed =).
I have been doing work on the terrain, and though i dont yet know how it looks, i will get there soon. The basic set up is a height map, where each four pixel group represents a single tile. Then, I haev the ability to subdivide each tile to a certain extent, as well as scale it. So, with a 10x10 heightmap, I can scale it up by ten, and subdivide it 2 levels, and get a 200x200 map. Also, when subdividing, the intervening vertices are fractally generated, so its not flat. I will implement a SimpleDraw() function that simple draws an un-subdivided quad in place of the sub divided one. I will also be able to page these tiles from disk, giving us a huge amount of workspace. The target is to have one tile fit almost exactly on screen, so the most ever visible will be four. I would then hold 16 of them in memory, and page in depending on the direction of movement of the camera. It should work fairly well, especially if i process the map to make loading as fast as possible.
After I get the terrain running, I will probably port and update the UI system.
Z.
If you say it'll work I'll trust you :)
hey, i was thinking we should push for another demo release. Maybe for easter ??
Coz we got Zaei working hard on the engine and it seems to be going good, and we have the networking going well. I think we should try get a new demo that has like a proper main menu with an option for a simple single player thing with proper units or a multiplayer option.
Whatcha reckon ???
Lil update:
- Protocol class is working perfect in server
- Callbacks are almost setup
- CModule class implemented
Okay, then I'm going to have to come up for a Title Screen...
Okay, Psy and I are all for it, how 'bout you other guys?
Sure, we can do that. it will take a bit, as there are still a lot of things to do, sound, animated meshes, texturing, etc, but im all for it =).
Z.
Cool, We Can Do It !
Realised tonight that i messed up the protocol class and put the protocol in CProtocol and so both server and client were running on that. Now i have CServerProtocol and CClientProtocol which derrive from CProtocol to make the whole module universal :D
Current Classes:
CCallback
CClient
CClientProtocol
CConnection
CLog
CModule
CNetwork
CProtocol
CServer
CServerProtocol
CSession
CSocket
CSplitter
CStatus
CThread
CWinsock
The current DLL file size is about 60kb.
Beautiful, Psy. I have been working out the fractal detail function for the terrain today, and have it going fairly well (the requirement is that top and bottom vertices must be the same pattern, and left and right also have to be the same, or you get cracks). I also have to work out building placement =).
And I REALLY need that list of unit attributes, if we are going to do this demo thing =).
Z.
Hey just cause I do music that dosent mean I can't help with some of the art? :)
I'm allright at designing stuff so perhaps I can help on the menu?
...oh ya, and if not the menu perhaps the sound effects... whos working on sound anyway?
Okay, see what you can wrangle up then Invitro :)
Feel free to look at the art archive:
http://www.crystal-rain.com/art/
Oh, and one more thing. I am working on the sound effects :)
Hit Points/Max Hit Points
Index of Mana Stone (for Magi only)
Armour Coverage, Armour Absorbance
Cost To Train
Comes From (eg. house)
Trains From (eg. peasant)
Demount/Mount (eg. knight would dismount to swordsmaster)
Ok thats cool, I was just wondering about the sounds thats all!
:)
Anyway, ill be on Trillian until the rest of the night.
Msg me if u want...
I might have some art left over that maybe we can use as concept.
Oh.. and 1 more thing.. when is the civilization post coming? I need to know what civs we got.
...I just wish Igor would show up :rolleyes:
So we can see what were doing for music
Ok heres some crap...
some of the pics are lined.. its cause i draw them in class ;)
http://members.shaw.ca/alek.m/AxeMaster.jpg
http://members.shaw.ca/alek.m/BOFDragon.jpg
http://members.shaw.ca/alek.m/Countess.jpg
http://members.shaw.ca/alek.m/DeamonSwordsman.jpg
http://members.shaw.ca/alek.m/Lizard.jpg
http://members.shaw.ca/alek.m/MountainofDragon.jpg
http://members.shaw.ca/alek.m/MrDeath.jpg
http://members.shaw.ca/alek.m/TreeofFallen.jpg
http://members.shaw.ca/alek.m/Warlock.jpg
...tell me what u think... oh ya and not all of them are done. If you guys wanna use em tell me ill finish em.
U can see i dont like color :D
I am certainly impressed by the drawings !
I prefer the shading in BOFDragon.jpg to that of say AxeMaster.jpg although they are all very good.
Not sure how much coding will get done this week as its my main last week for coursework dealines for exams.
I have the server working fine and so now im gonna work on the client !
Good going Psy.
Nice pictures invitro. My favorite has to be the warlock image.
Z.
Zaei, do u want me to write out a load of documentation for the module ?? I think i might anyway coz it cud be quite good to use for other projects.
Sure =).
Z.
I finished an implementation of smart pointers earlier today, and I am going to start using it in our engine. Remember how we used to use handles? Well, this is similar, but better. Take a look:
Now, for the magic. The Release() function doesnt actually delete the pointer stored in CSmartPtr. Everytime you copy or use the copy constructor of CSmartPtr, it increases a reference count, and stores a pointer to the original reference count for the object in the CSmartPtr. So, after the line "p4 = p;", p has a reference count of 4. Release() decrements the reference count. When the reference count is 0, THEN the pointer is deleted. Using this method, I can store a copy of a single mesh object in the engine, and give out a CSmartPtr to that mesh, and it cannot be deleted from outside the engine. It also allows using the arrow operator (the "p2->Draw();" line) and the dereference operator so it works exactly like a regular pointer.Code:struct mesh // struct containing 1024 bytes of data
{
long data[256]
};
...
CSmartPtr<mesh> p;
p.New() // new mesh instance
CSmartPtr<mesh> p2(p);
CSmartPtr<mesh> p3;
CSmartPtr<mesh> p4;
p3 = p2;
p4 = p;
...
p2->Draw(); // renders the mesh. this is the same mesh that is
// stored in p, p3, and p4
p2.Release(); // delete p2
p4.Release(); // ...
p3.Release();
p.Release();
Psy, if you want to start using this for any object that is stored inside the networking module, and has to be accessed from outside (you give out a pointer to it with a function), I can post the source code.
Z.
I don't think that will be needed atm Zeai.
I finally sorted out this callback thing and will have it going soon. Because of the way the module works now i need a function in the engine that allows me to call and pass data to let the enigne know when data is sent etc. It was done with virtual functions before but the way it all works now is different and so i can no longer do that.
Fine with me.
Z.
Would this happen to mean less memory bugs, Zaei? Or no hacking? Or a mixture of the two?
Less memory bugs. For instance, if I load a texture and store it in the engine, and give its pointer to another part of the application(for instance, to a mesh), and another mesh wants the same texture, I would give out that same pointer to the second mesh. Now, If one of those meshes accidently deletes the texture pointer, the other mesh will crash the program when you try to use the texture. With a smart pointer, this scenario is impossible.
Z.
Well, the engine is completly converted over to using smart pointers. Took me quite a while, but its done =).
Z.
Zaei can you mail the smart pointers code to me at [email protected] please coz i may try add that into the DNM coz it has lots of pointers and stuff around place to place.
Sure. Ill send it when I get home today. It should only be used for pointers that need to get passed outside of the module, that might get copied many times. You will also need to provide a few things:
To export a CSmartPtr to be used with CModules.Code:#ifdef _EXPORTS
# define _API __declspec(dllexport)
# define _EXTERN_
#else
# define _API __declspec(dllimport)
# define _EXTERN_ extern
#pragma warning (disable : 4231)
_EXTERN_ template class _API class CSmartPtr<CModule>;
Z.
I have now setup the module so you can specify DNM_DEFAULT_PROTOCOL instead of a protocol and it will use the standard protocol which echoes data back and forth.
FFS i get home, run the server and client and it crahses now :( i know where the problem is though cant really see how im gonna fix it. I guess i'll sort it eventually.
Ok, i got it working again.
Here comes the CSmartPtr files. You have to go in and remove the New() function, as it will cause crashes if you try to instantiate a CSmartPtr with an abstract class (and also to keep continuity with the files I have). You should create pointers with it like this:
Z.Code:CSmartPtr<SomeClass> p;
p.Attach(new SomeClass);
That sounds like an excellent idea.
Does anyone know of a program that can do 3D, have it look GOOD, and export to AVI? I know you're thinking 3D Studio MAX, but I don't have that :)
What I really need it for right now is to make a nice looking, realistic landscape.
Bryce, if you want landscapes. Its the best I know of. I have version 4, but I dont remember how big it is. Ill check.
Z.
I checked the price and it's quite low, about 180 CDN.
Bryce is your best bet for landscapes =).
Z.
Hmmm. Could we get everyone checked in? This thread seems to be at a low ebb the last few days. I know that Psy has been really working at the networking module, and things are looking great at that end. I still need to test out the terrain, and get working on things like user interaction. So, if we could get everyone checked in, that would be wonderful.
Z.
Okay, yeah, I haven't seen Igor anytime so if anyone sees him gimme a holler..
Reporting.
Checking in.
I noticed Igor wanted to add me to his list.. but I never see him online.
I'm currently busy with the battle theme u asked me for Sax. I'm trying to figure out the solo; I haven't gotten it quite the way I want it to sound.
...time for more work
Perhaps I could help you with that. I'm in EST and on MSN right now if you need some help...
I saw Igor on msn a few days ago, he had loadsa work to do for some music exams and was very busy in general. I dunno if hes gonna be able to help much in the future.
I havent coded anything this weekend coz i was out skating the park in town with a m8 who came to stay.
I got a busy week this week with coursework for exams. After that its a mix off revision and coding and skating.
The networking module is half working, what i could do with is a list of the information that would be sent via the net, like player coords etc so i can try work somehting out for it
Im thinking of implementing some kind of class 'Packet' system for sending data so that i can have like:
So then i can implement a better sending / receiving system that allows any charachter to be used.Code:
class dnm_packet {
public:
char *command;
char *username;
char *data;
};
The only proble is i think somewhere i have to use sizeof() so that data doesnt get mangled o soemthing.
..cough cough...
Umm... where is my promised Civilization list? :D
Since this is going to be an RTS of massive size, we MUST keep packet sizes down to a minimum. I would use an unsigned short for the command, instead of a string, and probably a char* for data(not a string though, for instance, packing a position into 12 characters).
Z.
Jorj, here's some more languages for your sig:
TypeOf Me Is Bowel = False
me->setIsBowel(false);
;)
And for speed boosts, we can simply record what's GOING to happen. For example, don't send where the units are, send where they have been tasked to and what task they are doing. Like MPEG, send only changes to what it was last time, I think that we can pull it off like that and still have 56k users happy :)
Yep, and, of course, unit limits =).
Z.
...cough cough....
Is it just me or is everyone ignoring me? :D
No, but I dont know what each civilization is =).
Z.
I'm really sorry about that, I haven't been able to get in touch with Jorj who has all of it figured out.
Hmm, I should email him soon.
Sorry!
Here is the complete and revised list of civilisations. Numbers marked with an asterisk should probably be the only playable ones.
As for music, think about this. Draw comparisons to real world cultural music, but do not just take their style exactly. For example, a cold plateau-dwelling civilisation could have elements of Russian and... Mongolian ethnic music, etc. Also, perhaps naval countries would use horns (because they are used to foghorns) as a fixture in most of their songs, and the melody would be very flowing. Anything to evoke the feel... if you have any questions, just ask!
1*: Seeing as this is primarily a rainforest culture, these people would most likely specialise in slashing weapons (due to the need for cutting through foliage). They should therefore also be able to move through forests more quickly. However, few cavalry.
2*: This culture's history dictates that it should be a country fully opposed to any monarch, which might mean that it is more productive, in general, because the nobility do not siphon off some of the profits. However, their morale is lower than other cultures, and have frequent problems with rebels. Infantry would be their prime asset.
3: This would be an infantry-oriented culture. It has no other real attributes of note.
4*: This country is similar to 3, but since it is closer to the realms of the barbarian horsemen, more cavalry are likely to be found here.
5*: This would probably be similar to 2, 3, and 4 except for the fact that this culture is in a marine climate type with abundant trees. Thus, archery and shipbuilding would probably be predominant here.
6*: This culture is most likely to be the most navally-intensive culture in the world. It has almost constantly had overseas colonies throughout history, but has often failed to keep them. A naval society would be perfect here.
7*: This country is in reality a league of newly-civilised barbarian tribes. Since it borders the steppe, strong cavalry would be a probability, yet I think that the true strength of this country would lie in its 'shock troops'.
8: This Mediterranean-based society is building off of the remains of one of the most ancient societies of the world. This could be a typical well-balanced culture, or it could have a few eccentricities. This will need to be debated upon.
9*: This country is probably a defensive one due to the fact that it is surrounded by potentially hostile cultures. Its large insular possession was only recently acquired, and thus a fledgeling defensive navy may be developing.
10: This country is very similar to 9, although there is a more infantry and cavalry bias to the neglect of the navy.
11*: This culture is rich in land and manpower, but poor in riches. Cheap, weak infantry are the clear strength here.
12: This culture lied dormant for many years on its home island, then agressively expanded on the mainland, quickly becoming the predominant world power. This may be a good choice for an 'evil empire' that a country would have to defeat in a campaign. A good navy is essential, but so is fast infantry.
13: This country has had a history of religious domination and civil war. Militarily, skirmish units (short bow, short sword) and other specialists could be a possibility. Trading is also good.
14: This, being a rainforest culture, will be similar to 1, but with a naval tendency. The people of this culture are sure to be good, brave fighters because of their successive unlikely victories.
15 - 17 forthcoming.
Things been a bit quiet on my front. Havent been doing that much work because i got a lot of stuff to do with skool that i need to get out of the way first. This sunday i will be free from that and shall be able to get back to work on the project.
Just thought i'd let ya know.
My Civs! Thanks, thanks thanks! :D
Finaly I can start thinking about the different themes.