Jump to content
XCOMUFO & Xenocide

Version 1.0


Guest stewart

Recommended Posts

Guest stewart

I'm inclined to have V.1.0 simply be a straight copy of XCOM 1, to use as a starting point. Perhaps we can think about including ONE of the following:

 

1) Combine it with XCOM2.

2) First person Battlescape.

3) Basic multiplayer Battlescape.

4) Lots of the little tid-bitty crap.

 

We talk about designing it right from the ground up and yet it seems to be turning into a hectic patchwork of other peoples stuff. Maybe it's doable or maybe we're digging a big hole for ourselves; I'm not sure.

Link to comment
Share on other sites

I agree with Stewart on this - I think before we get into all the trouble of beating ourselves up about new stories, aliens, plots, and whatever else new we'd like to add we should build the basic engine and test it by re-creating X-Com 1 verbatim (or with the possible addition of X-Com 2, but this really isn't necessary, we can re-make X-Com 2 once we have our basic engine created). The "tid-bitty" crap would be things that we'd add anyway as part of making the game run a little better (i.e. better door control, better combat system, etc.) - but I don't see any reason to complicate things further. Remaking X-Com 1 is a good place to start. Just my opinion, take it or leave it.
Link to comment
Share on other sites

I agree with Stewart on this - I think before we get into all the trouble of beating ourselves up about new stories, aliens, plots, and whatever else new we'd like to add we should build the basic engine and test it by re-creating X-Com 1 verbatim (or with the possible addition of X-Com 2, but this really isn't necessary, we can re-make X-Com 2 once we have our basic engine created).  The "tid-bitty" crap would be things that we'd add anyway as part of making the game run a little better (i.e. better door control, better combat system, etc.) - but I don't see any reason to complicate things further.  Remaking X-Com 1 is a good place to start.  Just my opinion, take it or leave it.

I promote that point of view... Count me on that design line....

 

Greetings

Red Knight

Link to comment
Share on other sites

:( well I got limited internet access for this month so I won't be much help with the project for the time being. Ok Stewy's game plan works for me the first person battle scape thing is just a change of view. more focus should be given for playability to 3rd person. Also the thing about combining it with TFTD sounds good when you say it :) but at the moment we only have some of the models from UFO Defense to work with. The sectoid model can be used for both :) land and underwater missions. fact you would probably want to start out with sectoids only since that is where game starts out at the first month or two. Fact talking about version 1.0 is a little bit far. I'd be happy with a beta that has only X-Com and Sectoids to it. Once we are at that beta stage the rest will fall into place I would think.
Link to comment
Share on other sites

Given that the battlescape and geoscape are largely independent, shouldn't we focus on getting one or the other working first? Like say, have a "placeholder" battlescape module that just brings up a screen where you select how many aliens died, how many were captured, how much ammo was used, whether any agents or civilians died, etc. and feed the data back into the geoscape. Then we could get the whole geoscape working first before going into battlescape work.
Link to comment
Share on other sites

Yea I like that Idea 5parrowhawk.

I think that is the best way to go.

SO my suggestion would be to separate specificts of what we have to work on and DO IT.

If I get some time I might get some sence out of what we have to do...

 

ALtho tellin ya the truth I would mind going dirty with the battle coding as well.

:wave:

 

:alienoooh: :alienoooh: :alienoooh:

Link to comment
Share on other sites

Guest stewart

We can simplify things more, if we want. Geoscape and Battlescape are the two executables in "real" XCOM; we don't have to do it that way.

 

We could make every different screen a separate dll, with the actual start-up menu being the true "app" which calls the other dll's.

 

So the "Welcome to XCOM [New Game?] [Load Saved Game] is the app.

Geoscape is a dll.

UFOpaedia is a dll

Base is a dll

Battlescape is a dll

Soldier outfit screen is a dll

etc.

 

This will divided the project into smaller jobs.

 

Just a thought.

Link to comment
Share on other sites

Guest Jim diGriz
Apart from being good object orientated design (dlls will be a bit harder than just using statically linked classes obviously) it may also mean you can use parts of the engine with different modules in the long run. For instance an Apocalypse style real time with pause, but also things like replacing the X-COM style geoscape with a flat world map ala Fallout and reusing the battlescape module for an RPG.
Link to comment
Share on other sites

Well :) I've been arguing for a seperate battlescape and geoscope from the start. But I've talked to Red Knight and he was talking about a more layered system and I've changed my view a bit (still diffrent from RK I think). Originally I wanted the Geoscope to launch independent battlescapes. but that's really not the job of the Geoscope. Instead there should be a layer called maybe Control that does the launching of the battlescape. The Geoscope is basically an interface that sits ontop of Control. It still can have it's own rules but it comunicates to control when to launch a battlescape. That way you can replace the geoscope with a planetscape or a random generator screen and control still launches the battlescape which is the center of this project. There still other things to talk about here like a login handler and so forth. Basically, things are distributed objects on the server side and there is a communication object that communicates to the client. I wish RK would have posted what he was thinking about cause I think I'm thinking of something maybe a little diffrent. Also the geoscope and battlescape aren't totally seperate they share objects in the Xenocide::General namespace like Xenocide::General::MOB for instance (MOB = Moveable OBject, a soldier for example or a sectoid).
Link to comment
Share on other sites

Good that we are somewhere clear on this part.

But returning to the geoscape -

1. can anyone explain why we need the winToolkit there and GDS engine libraries?

2. did anyone compile the code at all?

3. does it have the globe as in the compiled demo on the xcomufo.com?

 

:unsure: sorry to go a lil' of topic here.

 

:alienoooh: :alienoooh: :alienoooh:

Link to comment
Share on other sites

Good that we are somewhere clear on this part.

But returning to the geoscape -

1. can anyone explain why we need the winToolkit there and GDS engine libraries?

2. did anyone compile the code at all?

3. does it have the globe as in the compiled demo on the xcomufo.com?

 

:unsure:  sorry to go a lil' of topic here.

 

:alienoooh:  :alienoooh:  :alienoooh:

Hi

 

1: winToolkit was the visual components library i program to use buttons, radiobuttons, panels, map interactors and the like in the demo (you can see that the docs has the source on it to you to see) - slighly based on Borland VCL... because we didnt agree yet on the graphics engine to use, i thought you could look how did i programmed a small part of the geoscape with the engine and a working code example of how it works.... (in case you decided to use it) GDS Engine is the Graphics engine with which i had programmed all that... no sources yet... if anyone wants it, in binary form is ok (lib) ...

 

2: I did, but the code there, is only a layout of the most basic data classes and interfaces... for use in higher layers.... Aka it doesnt do anything on its own..

 

3: That is an application that i have to give in to approve the thesis... (no source yet)...

 

 

Greetings

Red Knight

Link to comment
Share on other sites

Guest stewart
Well :) I've been arguing for a seperate battlescape and geoscope from the start.  But I've talked to Red Knight and he was talking about a more layered system and I've changed my view a bit (still diffrent from RK I think).  Originally I wanted the Geoscope to launch independent battlescapes.  but that's really not the job of the Geoscope.  Instead there should be a layer called maybe Control that does the launching of the battlescape.  The Geoscope is basically an interface that sits ontop of Control.  It still can have it's own rules but it comunicates to control when to launch a battlescape.  That way you can replace the geoscope with a planetscape or a random generator screen and control still launches the battlescape which is the center of this project.  There still other things to talk about here like a login handler and so forth.  Basically, things are distributed objects on the server side and there is a communication object that communicates to the client.  I wish RK would have posted what he was thinking about cause I think I'm thinking of something maybe a little diffrent.  Also the geoscope and battlescape aren't totally seperate they share objects in the Xenocide::General namespace like Xenocide::General::MOB for instance (MOB = Moveable OBject, a soldier for example or a sectoid).

Whoa let's not go nuts yet! Let's keep version 1 simple. We can keep expandability for features in mind but let's not go nuts yet.

Link to comment
Share on other sites

Good that we are somewhere clear on this part.

But returning to the geoscape -

1. can anyone explain why we need the winToolkit there and GDS engine libraries?

2. did anyone compile the code at all?

3. does it have the globe as in the compiled demo on the xcomufo.com?

 

:unsure:  sorry to go a lil' of topic here.

 

:alienoooh:  :alienoooh:  :alienoooh:

well if the project uses the wintoolkit thats probablty a temp thing.. this project will also be developed on linux

Link to comment
Share on other sites

Well :) I've been arguing for a seperate battlescape and geoscope from the start.  But I've talked to Red Knight and he was talking about a more layered system and I've changed my view a bit (still diffrent from RK I think).  Originally I wanted the Geoscope to launch independent battlescapes.  but that's really not the job of the Geoscope.  Instead there should be a layer called maybe Control that does the launching of the battlescape.  The Geoscope is basically an interface that sits ontop of Control.  It still can have it's own rules but it comunicates to control when to launch a battlescape.  That way you can replace the geoscope with a planetscape or a random generator screen and control still launches the battlescape which is the center of this project.  There still other things to talk about here like a login handler and so forth.  Basically, things are distributed objects on the server side and there is a communication object that communicates to the client.  I wish RK would have posted what he was thinking about cause I think I'm thinking of something maybe a little diffrent.  Also the geoscope and battlescape aren't totally seperate they share objects in the Xenocide::General namespace like Xenocide::General::MOB for instance (MOB = Moveable OBject, a soldier for example or a sectoid).

Whoa let's not go nuts yet! Let's keep version 1 simple. We can keep expandability for features in mind but let's not go nuts yet.

That really that complicated?? This just a design thing..

Link to comment
Share on other sites

You know what really annoys me is when a crissalid gets my avenger/skyranger and makes all me soldiers into more crissalids so in the reamake there should be a way of closing the hatch to avoid that from happening and please include a nicer cursor in battlescape but only a small change like a dome or somthing. :uzzi: :alienoooh:
Link to comment
Share on other sites

Good that we are somewhere clear on this part.

But returning to the geoscape -

1. can anyone explain why we need the winToolkit there and GDS engine libraries?

2. did anyone compile the code at all?

3. does it have the globe as in the compiled demo on the xcomufo.com?

 

:unsure:  sorry to go a lil' of topic here.

 

:alienoooh:  :alienoooh:  :alienoooh:

well if the project uses the wintoolkit thats probablty a temp thing.. this project will also be developed on linux

Wintoolkit is programmed with the Engine in OpenGL, so it is completly cross platform. (if someone port the basic engine stuff to linux: OpenGL initialization, True Type fonts creation, Devices like mouse, keyboard based on the abstract classes defined there) ... All platform specific stuff is isolated, and it sums almost 90 Kb of code...

 

Greetings

Red Knight

Link to comment
Share on other sites

Okay I've got DevStudio (5 I think) at home; I can use that right?

Microsoft Visual Studio? I had been working to make it work on 6, wasnt too much work, but have to work out a little initialization bug after that will publish the lib for that compiler (on my fathers machine web page)... The Visual Studio 5 have (as far as i know) some missing language features, you should upgrade at least to VS6...

 

Greetings

Red Knight

Link to comment
Share on other sites

Guest stewart

Sure why not I'm made out of money; software is inexpensive.

 

No were just gonna have to use some conditional compile stuff

 

#ifdef USING_VCPP6+

dee doo doo doo;

#else

dee dah dah dah;

#end

Link to comment
Share on other sites

Sure why not I'm made out of money; software is inexpensive.

 

No were just gonna have to use some conditional compile stuff

 

#ifdef USING_VCPP6+

dee doo doo doo;

#else

dee dah dah dah;

#end

You can use the Free Borland Compiler 5.5, you dont have a nice IDE, but its a heck of a compiler... and its pretty easy for me to post the libraries without working in a different compiler... Unless someone can teach me how to do makefiles to MingW...

 

Greetings

Red Knight

Link to comment
Share on other sites

Guest stewart

Bleh! I have to learn something new all over again? Plus I'm not overflowing with space on my hard-drive either. It ain't just me, were gonna have a cornocupia of compilers among members. I say we try as much as we can to avoid lowest-common-denominator code (last resort) so that'll mean conditional compiling with all developers having there own personal:

 

MySetup.h

 

file.

Link to comment
Share on other sites

Bleh!  I have to learn something new all over again?

<_ if you like programming games technology changes faster than ever... me will have to....>

 

On the other hand, the free compiler will cost you like 8,7 Mb to download and no more than 25 Mb in disk after install it... (pretty low, my demo cost me 10 Mb and the object code, source code and assets for a total cost of 95 Mb to be exact)... :) The debug engine library is 6 Mb big, and the 3 Mb the winToolkit...

 

Greetings

Red Knight

Link to comment
Share on other sites

it seems like you need a computer upgrade stew.

hard drives are as cheap as 80 bucks these days - 80gb.

 

Anyhow .. just a thought

 

We need to use ISO complient compilers.

We should be able to use it with different tools but integrate it into a standard so even if the IDE u are using doesnt do that u still do it in the text browser for say. Red Knights programming guidelines can be further expanded into the standard that we have to keep our code in.

Link to comment
Share on other sites

You know what really annoys me is when a crissalid gets my avenger/skyranger and makes all me soldiers into more crissalids so in the reamake there should be a way of closing the hatch to avoid that from happening and please include a nicer cursor in battlescape but only a small change like a dome or somthing. :uzzi:        :alienoooh:

:) Seem like part of the fun of playing the game.. Ya just have those kind of days....

Link to comment
Share on other sites

Ok about the compiler stuff. I think whatever compiler the person has it better be up to ISO standards. from what I remeber VC++ isn't iso C++ compatible.. Dunno about 6.. Anyway there a ton of people who have outdated compilers so we got to make the cut off line somewhere. GCC is free and it produces better code than Visual C++.
Link to comment
Share on other sites

Ok about the compiler stuff.  I think whatever compiler the person has it better be up to ISO standards.  from what I remeber VC++ isn't iso C++ compatible..  Dunno about 6..  Anyway there a ton of people who have outdated compilers so we got to make the cut off line somewhere.  GCC is free and it produces better code than Visual C++.

And its almost ISO compliant.... like Borlands One, so it doesnt matter which one we use if it is ISO Compliant... VC5 definitly is not, and with VC6 you have to be VERY CAREFUL....

 

Greetings

Red Knight

Link to comment
Share on other sites

I know I haven't been too active lately, finals have been a bitch, but I'd like to throw my two cents in and say that GCC would be a good choice for most people to use. Probably the easiest to get installed and working, and like Gangsta said (and he should know), it produces better code than VC++ ;)
Link to comment
Share on other sites

Yup so far there really only been one compiler to claim to be fully ISO C++ complient. :) uh was a slashdot.org story awhile back. Borland and G++ 3.2 are close enough. I don't think microsoft is in the business of making regular compilers anymore. Seems like they want everyone to instead move to their .Net platform. Dunno if visual c++.net is ISO complient or not but .Net probably isn't good for making games either.
Link to comment
Share on other sites

Guest stewart

Personally, I don't want to be forced to use anouther set of tools. Maybe I'm the only one maybe not. But I think the way around this is to divide this thing into several modules/libraries; those where there maybe serious problems of this nature perhaps can employ a single compiler on that "team". Me, I'm interested in doing number crunching stuff and not OS/hardware interfacing stuff. So if I can produce a "Black box" with expected domains of input and expected ranges of output. I figure me using VC_X or .net or whatever should be good enough. After all we can post the executables so that people with other compilers can snag them so they can link with 'em.

 

I'm not interested in being an open source evangelist, I just want to get some of my ideas into an XCOM remake.

 

Anouther problem here is this borrowing of other peoples stuff. Their code is their baby and since it already exists this kind of gives them a disproportionate say in things. I think that could lead to problems.

Link to comment
Share on other sites

Game programming is far different from number crunching, bussiness aplicattions, even computer graphics standard stuff... it is very hardware aware (even with OpenGL), all modules are very connected (executable parameter pasing or linux's pipes are not good here), its more alike to very complex interactive simulations than to standard number crunching simulations, you need to have a very defined framework to work from (better a complete engine)... and the list could go on, and on... you definitly should read a little... www.gamasutra.com is a good start.

 

So if I can produce a "Black box" with expected domains of input and expected ranges of output.

That should be perfect with only a single compiler, as you should know the name marshaling problems that are introduced in dlls (to count only the windows problem) limit how you could interact with objects with different compilers without using plain C... throwing all C++ Object Based (to be theory consistent) Features to the trash.... Why do you think that extensible packages like 3D Studio Max SDK or any compiled (not free) framework need you to use a single compiler (most of the time even with release constraints)...

 

Anouther problem here is this borrowing of other peoples stuff.  Their code is their baby and since it already exists this kind of gives them a disproportionate say in things.  I think that could lead to problems.

 

Since im the only one that had written a little of code here, and proposed handed out a little polished draft of a coding standard (because i had it written before even think to do a XCom Remake. it was written in spanish and i had only to translate it), im supposing you are throwing this to me. The thing that i have to say about this is:

 

I had always try to do the things in a democratic way. Even accepting things that i dont like... for example i didnt like either the Fight for Freedom subtitle (for your very same reason) but i didnt make a big problem out of it... And you know why? Because that its not even important... We are being generating trouble out of nothing... I only wanted to contribute to a bunch of fans (like me) that wants to give something for nothing. And there are a lot of guys here that want the same, for instance Micah had prepared a web page to promote my demo, even before i had decide to help you guys... Jim DiGriz had found excelent resources on the web and told me about them... With Gangsta i had very large chatting about how to structure the code and we came to a general - not complete - aggrement... Margant had prepared a nice design doc layout... Timil had try to configure the CVS and we had lots of forums chatting too, and we finally found out how it works. And a lot of people who had tried the demo and reported bugs and suggestion, i really apreciate how they give something for nothing because i had to finish the thesis before i can give out the source of most of the stuff.

Given that i had been here for almost 2 month, the only thing that i had found is that you are not interested in democracy (and at first you advocated for it), neither in an elders council (unless you dont have a super veto power)... you only want to do things in you way.

 

At the start of the project i had said it is better a democratic leadership position, and i even turn down the idea of being a leader myself. But given what is happening here i think that we are going straight to that road.

 

And about the case that i was the only one to add code, its because i had been writing it even before i had decide that i will not use that codebase in the thesis, because i will show other things in it (not a completly functional geoscape).... So if you have a problem i can take away the code and let you add your own...

 

Maybe i sound a little rude, and thats what i meant. Because with all the things that you had been posting, disqualifying me without any purpose and domain knowledge, you had annoyed me. If i dont know i say that im speculating; If i dont i have a lot of articles to back me up on the issue at hand.

 

I always say "Greetings", but not this time.

Red Knight

Link to comment
Share on other sites

Guest stewart

I understand why you may be upset, that was not my intention; sorry. More on that later.

 

Hardware and OS concerns are going to be paramount in those parts of the game where "being slow" being noticed matters. But in this particular case, with the exeception of the Geoscape display and the air-interception stuff speed is not an issue. This game is far less complex and involved than a 3D shoot-em-up or a realtime battle simulator, like Starcraft.

 

As for black box modules, ideally there could be problems when passing classes and more complex objects such as that. BUt there are easy enough ways to deal with that (passing elementry types only say and letting all accessing of class data members be done by the calling module, for example is one solution).

 

Now, onto the other-peoples-stuff thing. Perhaps, I wasn't clear, I tried to speak in the hypothetical; rather than to sound accusatory to you in particular. But if someone has produced a lot of code on their own, nevermind how they might behave, other people might be inclined to behave as though their opinion is the only one that matters or that at least it matters more than others. As you say, you've been democratic about this but these things could happen anyway inspite of your good behavior.

 

In the other discussion that I was involved in, there I was also talking in the hypothetical or general. The Fight for Freedom thing for example. That merely acted as the catalyst issue that got me thinking about how decisions are reached and the implications of that method. Sure I hated that name, but that wasn't the focus of what I was talking about. Here my concern was keeping people on-board in the project by having a process that minimizes alienation. The point there was to try to have a system which took into account very strong and weak opinions on things rather than just yea or nay. The problem there, I guess, is that people thought I was only thinking about the stupid name thing. The fact is a proper decision process is something that needs to be esablished early. Most people, not unreasonably, might simply say, well we'll just vote on it. That's not bad but there are problems with that. I tried to point them out and devise a method for dealing with them. That's hardly being undemocratic.

 

And the source-code thing, I'm concerned about someone having a disproportionate say on things (not nessessarily because they insist on it but because people without thinking give it to them), that's hardly being undemocratic either.

 

The it-must-be-MY-way thing. I regret if that is the impression I have given. I think in many discussions I have said "If you feel this strong about it then fine, nevermind, I won't object anymore.", the programming convention discussion we're involved in comes to mind for example. Sometimes I do argue in a determined way, but if you believe in something should you? Nonetheless, here I always try to be polite, and never personal, I think I've succeeded in that. Take for example the Fight for Freedom thing, I tried to be very clear that it was nothing personal and said so specifically a number of times.

 

Finally, I did not mean a personal slight to you at all. Your thesis looks very slick; I haven't looked at your code yet but I'm sure it's good. That being said, I'm going to use VC++, I paid a lot for it afterall.

Link to comment
Share on other sites

With no offence Stew. I also think you should be more to the point. Sometimes your generality seems way too much. Projects will never be done if you start pulling their bounds into realms that are undecidable.

I (personally) belive that democracy is good but the CROWD is never good enough for anything someone has to take charge and be blamed for it, but otherwise no action will be taken since people WANT TO BE DEMOCRATIC. In any case I think that some of your points are way to general to be brought to discussion. But maybe thats just me.

 

And as far as what IDE to use - who the heck cares, PEOPLE! if you want to use the one u have please DO, HOWEVER THE DEFAULT COMPILER SHOULD BE ESTABLISHED AS ONE AND STARNDARDS OF CODING AS ONE SO THAT you can still use what u want but modify it to that standard before you start submiting in onto CVs. If VC++ does not do ISO it is still possible to do code in VC++ and have someone to port this code into ISO gcc compiler without problems, ALTHO the restriction should be SET : NO POSTING ON CVS UNLESS GCC compliant.

 

I think I made a clear point here.

Adios

:alientalk: :alientalk: :alientalk:

Link to comment
Share on other sites

First of all i had to say that i agree 100% with margant on this issue.

 

Hardware and OS concerns are going to be paramount in those parts of the game where "being slow" being noticed matters.  But in this particular case, with the exeception of the Geoscape display and the air-interception stuff speed is not an issue.  This game is far less complex and involved than a 3D shoot-em-up or a realtime battle simulator, like Starcraft.

You are right 3D shoot-em-up or realtime battle are quite a resource eatears (most of them have strong realtime AI, fast paced movement, etc)... But this kind of game is no as "far less complex" as those... let me explain you why... First XCom is pretty simple in the game rules, we (or at least i) are looking to a modern look of the same simple games rules with compelling graphics. But a modern look bring with it... compelling Physics (if you blast a building), graphics (it would be unfair to say that graphics is pretty easy, if you think about cool effects like explosions, or model animation... you still have a LOT of that stuff in a slow paced game like XCom), credible AI (i dont know too much about this, but most of the industry people say it quite difficult and resource consuming to make it right, leave out to make it fast).... We (because i think im not the only one here) expect a lot more than the original for a remake. And that adds a lot of complexity (more than we can handle, believe it or not)...

 

As for black box modules, ideally there could be problems when passing classes and more complex objects such as that. BUt there are easy enough ways to deal with that (passing elementry types only say and letting all accessing of class data members be done by the calling module, for example is one solution).

Ok, nice solution, but forget about extendibility.... and you will end up writing hundreds of lines of code to only give the executable a nice marshalled data stream and a lot of headaches to debug and mantain it too... CORBA and COM do exactly that, but you should give thanks that you dont have to write the marshalling code... on the other hand, i will not write a marshalling system, thats overkilling...

 

Now, onto the other-peoples-stuff thing.  Perhaps, I wasn't clear, I tried to speak in the hypothetical; rather than to sound accusatory to you in particular.  But if someone has produced a lot of code on their own, nevermind how they might behave, other people might be inclined to behave as though their opinion is the only one that matters or that at least it matters more than others.

Well theres no hypothetical here, but we will not start that argument again... But if you had taken a little time to read what the lead programmer of Allegro had written (i had posted the article in the forum) you shouldnt even think about it. Let me summarice... If someone had written a lot of code, maybe others might be inclined to his opinions, and you know why, because he might be good after all and everybody trust him in taking the important desitions, and give the overall direction. You should read "The Cathedral and The Bazzar" and other texts about the Open Source community. For instance if John Carmack (for those who might dont know him, he is the most talented and respected programmer of 3D Shooters - the creator of DOOM, and Quake- , and he knows a lot of games and graphics, to the point that NVidia give him first the prototypes of their boards to test before going to production) comes to the forum, and said something is wrong and give good reasons against it... He had my respect and i will trust his word because he is really talented on what he do... hope will got to the point on that... Allegro's lead programmer said he had to battle against a lot of thing that are already happening here. And i respect him because Allegro is a 2D Graphics API that had been used for more than 7 years (quite a lot in the computer industry), he must know what he is saying. (I didnt use it by myself but know some people that had, and after a little investigation on the case found a lot of good comments about it).

 

Here my concern was keeping people on-board in the project by having a process that minimizes alienation.  The point there was to try to have a system which took into account very strong and weak opinions on things rather than just yea or nay.

Minimizing alienation is good, but you cannot agree with God and the Devil at the same time. The ones that have a Very Strong opinions most of the time is because they had earn respect in the community (working), the ones with weak opinions still had to prove themselves... And i agree with margent that must be someone to take the blame of every project deviation (someone could be more than one). What if Tanenbaum hadnt said that he wouldnt permit to extend Minix... First we shouldnt have a simple OS to work in University, second maybe Linux would have never become what it is today with Linus Torvald as the head of it.

 

Sometimes I do argue in a determined way, but if you believe in something should you?  Nonetheless, here I always try to be polite, and never personal

I can say you failed on the last one... but nevermind on that issue.

 

That being said, I'm going to use VC++, I paid a lot for it afterall.

You can use whatever you want on you house (we will not watch you as you program), i will use Borland one and didnt make a big trouble about it, provided i have the makefile for GCC to test it. You can either add the makefiles for VCX in the compilers directory to easy the creation of the project group to others (as i had done on the Borlands one). But as i had say you must be very careful, all code must be GCC compliant, and forget about "ifdef VC5" because in that case theres no point to define a compiler as a default after all. And as i had said VC5 is far from being ISO Compliant, you should use at least VC6 and BE CAREFUL on what you use (libraries, language facilities, headers, etc) because most of them are not GCC compatible.

 

Greetings

Red Knight

Link to comment
Share on other sites

Guest stewart
It's pretty clear that there are some "human" rather than "software" related issues here that need to be address and dealt with. I think that side of a project is very important too. However, I'm going to be away for a week, so we can pick this up afterwards.
Link to comment
Share on other sites

Personally, I don't want to be forced to use anouther set of tools.  Maybe I'm the only one maybe not.  But I think the way around this is to divide this thing into several modules/libraries; those where there maybe serious problems of this nature perhaps can employ a single compiler on that "team".  Me, I'm interested in doing number crunching stuff and not OS/hardware interfacing stuff.  So if I can produce a "Black box" with expected domains of input and expected ranges of output.  I figure me using VC_X or .net or whatever should be good enough.  After all we can post the executables so that people with other compilers can snag them so they can link with 'em.

 

I'm not interested in being an open source evangelist, I just want to get some of my ideas into an XCOM remake.

 

Anouther problem here is this borrowing of other peoples stuff.  Their code is their baby and since it already exists this kind of gives them a disproportionate say in things.  I think that could lead to problems.

ISO C++ *Is* the standard. I think we should program according to standards. It's not about being pro Open Source or anything. It is more about writing clean code which become impossible if every compiler ever imagined is supported. Really it is Microsoft's fault if their compiler is outdated and not up to ISO C++ standards. They were on the ISO C++ board afterall. I don't know how visual c++.Net does when it comes to the standard but then .Net might not be for game development either. I remeber earlier that you didn't want to worry about making things compatible with linux. It basically the same thing here that we don't want to make the code ugly to make things compatible with every old C++ compiler out there. The advantages of using the standard is that the code will be more clean, reusable, portable and organized. There really are no advatages in making the code ugly just so every compiler out there can compile it since GCC is on almost every platform out there. Also using ISO C++ now has advantages for the future since eventually every C++ compiler out there will be ISO C++ probably in the future. Honestly I think the reason that Visual C++ might not be ISO C++ ATM is that I think microsoft is trying to push people away from C++ and get them to become C# developers for their .Net platform.

Link to comment
Share on other sites

Finally, I did not mean a personal slight to you at all.  Your thesis looks very slick; I haven't looked at your code yet but I'm sure it's good.  That being said, I'm going to use VC++, I paid a lot for it afterall.

Well the only problem might be that VC++ *might* be the wrong tool for the job just like Visual Basic might be for some people. ISO C++ is the standard just as ANSI C is the standard for C. I mean this is like if when ANSI C first came out and someone said they would still use their Standard C compiler (Standard C being the standard before ANSI C). The reality of it might be that the VC++ you paid for might be outdated. Like I said I don't know what the case is for the .Net version of VC++. There other compilers out there that have ISO C++ support besides Borland and GCC from doing searches on the net so it really isn't just two compilers that support it. Anyway, GCC is available on Windows and has surpassed VC++ in almost every aspect except for a nice IDE.. Just because something is free doesn't mean it isn't better. Alot of commercial companies like Intel, IBM and Apple have contributed code to GCC.

Link to comment
Share on other sites

With no offence Stew. I also think you should be more to the point. Sometimes your generality seems way too much. Projects will never be done if you start pulling their bounds into realms that are undecidable.

I (personally) belive that democracy is good but the CROWD is never good enough for anything someone has to take charge and be blamed for it, but otherwise no action will be taken since people WANT TO BE DEMOCRATIC. In any case I think that some of your points are way to general to be brought to discussion. But maybe thats just me.

 

And as far as what IDE to use - who the heck cares, PEOPLE! if you want to use the one u have please DO, HOWEVER THE DEFAULT COMPILER SHOULD BE ESTABLISHED AS ONE AND STARNDARDS OF CODING AS ONE SO THAT you can still use what u want but modify it to that standard before you start submiting in onto CVs. If VC++ does not do ISO it is still possible to do code in VC++ and have someone to port this code into ISO gcc compiler without problems, ALTHO the restriction should be SET : NO POSTING ON CVS UNLESS GCC compliant.

 

I think I made a clear point here.

Adios

:alientalk:  :alientalk:  :alientalk:

Well perhaps someone could keep a seperate VC++ branch if they want to. I'm not for reducing the quality of the code just to support some old compiler like visual C++ 6.0 especially since eventually VC++ might become fully ISO C++ complient if Microsoft didn't get everyone to switch to C#. And I don't want to offend you stewart but the other thing is that it seems like you are making a personal choice that you have to use VC++ or bust vs. downloading GCC or free borland to work on the project. Why not try working on visual C++ until a problem arrises. I'm not sure if anything we use ISO C++ wise yet brakes VC++ and we might get lucky. But standards are made for a reason and VC++ is a non standard C++ compiler ATM. And it is possible it is that way mainly because of a Microsoft ploy to move people to C#.

Link to comment
Share on other sites

http://support.microsoft.com/default.aspx?...B;en-us;q243451

 

 

ok here is a list of unsurported features of ISO C++ in Visual C++ 6.0. One of the selling points microsoft is doing for the .Net version is better ISO C++ support... One of the ones on the list that really bothers me is Out-of-class-definition for member template classes and functions (14.5.2) not supported.

 

I like out of class definitions because they keep the main header file clean and game code usually has to be clean.

Link to comment
Share on other sites

  • 1 month later...

Just have read to discussion about development. And have some thougts about it. As I programer I'm using VC++ 6 & VC++ 7 at work - my strong suggestion would be to use VC++ 7:it has a better ISO compability, IDE is much better than VC++ 6 & so on. My experience show, that #define is good mainly for one purpose - demo version's; it's better to use if, switch structures in other cases. Linux apps use a lot #define's - that's true ;)

Do you have architecture specs? development plan?

 

|

\-- bin

| \-- win32

| | \-- debug

| | \-- release

| \-- linux

| ...

\-- doc

\-- include

\-- lib

| \-- win32

| | \-- debug

| | \-- release

| \-- linux

| ...

\-- obj

| \-- win32

| | \-- geoscape

| | | \-- debug

| | | \-- release

| | \-- battlescape

| | ....

| | ...

| \-- linux

| ...

\-- src

| \-- geoscape

| \-- battlescape

| ...

\-- data (2/3D models, textures & so on)

 

Have you decided, what modules you will have? what would be game final version directory structure? what about graphic engine - 2D isometric or full 3D?

Explosion in UFO is only 1 level - destroy all ground floor, but upper building levels will stand ;)

At work I use tortoiseCVS client - it's simple, but functional :-) give it a try

Link to comment
Share on other sites

Ok you can use VC++7 as long as it can correctly compile the code from this project. Looking at microsoft's own site there was a problem with VC++6 that could be a problem with VC++7. The problem is that VC++6 does not allow one to move the template definitions out of the object definition and have a template declaration there instead. I'm going to attach some sample code from a unix project I worked on. Your job will be to use that code as a guideline to write a test for VC++7. If that test fails you will have to use either Borland or gcc to compile the project. Anyway, There is no excuse for VC++ not compiling ISO C++ code considering that Microsoft was on the ISO C++ standard board.
Link to comment
Share on other sites

I just played with that shared stuff with my Visual studio .NET, and after a bit of tweaking of my new project based off that it went fine. So there are two conclusions that could be drawn:

 

1. VC7 has improved ISO C++ compatibility.

 

Or.

 

2. I stuffed it up :D

 

[EDIT] Red Knight and I have now determined that both of the above are true, I did stuff it up, but with code thats actually written properly the template stuff still compiles.

Link to comment
Share on other sites

[EDIT] Red Knight and I have now determined that both of the above are true, I did stuff it up, but with code thats actually written properly the template stuff still compiles.

Wait a second.. did you run it. Sometimes things compile but don't run right. :)

Link to comment
Share on other sites

×
×
  • Create New...