Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Alternative Civs > The Courts of Candle'Bre > Stepping up to the plate....
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!
04.Sep: `FC` 2.0.5 COMPLETED AND RELEASED
27.Jul: `FC` 2.0.4 COMPLETED AND RELEASED
16.Jul: `FC` 2.0.3 COMPLETED AND RELEASED

bottom of page
  
Author
Thread   
Pages (6): [ 1   2   3   4   5   6   ]
< Last Thread     Next Thread > Post New Thread     Post A Reply
Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:17
Question  Old Post 18-01-2002 17:02 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#61 Report this post to a moderator
Re: Re: 2nd Programmer on the grassy knoll Support Apolyton or Terrorists Win

quote:
Originally posted by Sir Ralph
I suggest you to give it a try and write a simple chess program in Java.
If you succeeded and your games last less than a month, think about a chess game at 64000 tiles, with 10-20 terrain types and 60 different units.

Forget Java.


Hi Sir Ralph:

Man, you Are cranky in the morning

What you say wouldn't be significantly easier to do in C++. You are arguing in hyperbole! While Java is slower than C++ it is Not a significant amount slower in number-crunching, which is the critcal factor in Everything you talk about. The only place Java is significantly behind C++ is in making fast sexy graphics, mostly 3D ones. Frankly graphics are about 5th in importance, if that, for many of the in-depth gamers like me. Gorgeous graphics are only the tiebreaker when Immersive Gameplay, Good AI, and Reduced Micromanagement, among other things, have been achieved. The graphics limitations would be a big disadvantage in a High-volume commercial release. That's not what the project here is trying to achieve AFAIK.

In addition Java is easier to code in, especially for non-pro programmers. There are no memory leak bugs. Built-in thread support will let the AI in a Java game think in the background while the player is moving. There are many other advantages also, but this is already long enough. We are using these advantages in Clash, and look forward to showing your analysis to be faulty

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 18:03
Edit/Delete Message Reply w/Quote
#62 Report this post to a moderator
Remove this text

quote:
Originally posted by Mark_Everson
While Java is slower than C++ it is Not a significant amount slower in number-crunching, which is the critcal factor in Everything you talk about.


Agreed, assuming you pass it thru a JIT-compiler. With a virtual machine it is ways slower, believe me.


quote:
Originally posted by Mark_Everson
We are using these advantages in Clash, and look forward to showing your analysis to be faulty


Good luck.

xRamsesx is offline xRamsesx
Chieftain
of Candle'Bre
Oct 2001
time: 00:17
  Old Post 18-01-2002 18:32
Edit/Delete Message Reply w/Quote
#63 Report this post to a moderator
Support Apolyton, buy Civilization 2

Language efficiency aside (even though I think c++ is the better choice for performance reasons), if this game is to be commercialy viable too, as Vel mentioned, it needs to follow industry standards. Currently the industry standard in game programming is c++.

And lets not forget that we're starting a new project with little (or maybe even none) experience in the field. I'm assuming we're all beginners in game programming, and we're going to need all the help we can get, so we need to look at available resources on the net too. There are tons of articles on the web written specifically for game programming for c++ and directx. I haven't specifically looked for Java articles but in the gaming sites I was looking at (gamasutra.com, gamedev.net) there wasn't a whole lot of those.

Last edited by xRamsesx on 18-01-2002 at 19:27

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 19:08
Edit/Delete Message Reply w/Quote
#64 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

Libertarian:

Hey, since when is Basic a programming language?

Understand me right, I am not against Basic, and I know writing a Windows application with VB is a charm and with VC++/MFC (or even w/o MFC) it's a pain, but...

1. Basic is really not a language, it's a language family, it has no common standard and every Basic is different. Even successing versions or the same Basic are often incompatible. So you have to write "Written in MS VB 6.0" and not "Written in Basic". Plus, porting a Basic application on another platform (Linux, Mac) is a real pain.

2. Basic has definitely performance disadvantages even in arithmetical statements. One example is, that it tends ways too much to convert lengths and data types (at least the versions I know). Albeit your integer incrementing example is true, but not all formulas are that easy. And a char-to-float-to-long-to-char conversion mess costs lots of time, especially if repeated 10000 times in a row. Right, in C it's the same, but the programmer has the opportunity to program type clean or use casts.

3. I don't trust the memory management of Basic, especially if handling huge dynamic arrays (and you need a lot of them if programming an AI). Is the time of memory leaks and garbage collection really over?

4. We'll need threads (Mark_Everson is right). I even don't know if they exist in VB. Do they?

I have an example. A few years ago a friend of mine took VB classes. One of his exercises was to write a silly game, if I remember clearly it was some variant of tic-tac-toe. (Guess all programming classes have to do that ) He couldn't get along with it and asked me to help. I didn't have the time to work into VB and light handed wrote him a couple of C (not even C++) routines. A simple recursive move generator and a minimax controlled selector. Pure arithmetics, no I/O. We translated it into VB, he added a simple I/O interface and ran it. Then he complained, it would make his computer crash. In fact, the computer didn't crash, but was busy to compute the first move. It didn't finish in a couple minutes, what my C routines did in a few seconds. It was VB 6.0. Don't ask me why and what was wrong, but that was the point I decided not even to think to take Basic for any program that needs big calculations anymore.

Anyway, feel free to show me that I'm wrong. I am not jealous. Good luck!

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 18-01-2002 19:51
Edit/Delete Message Reply w/Quote
#65 Report this post to a moderator
Support Apolyton, buy GURPS/ Alpha Centauri

Well, a lot of it is just perspective.

Language v Language Family

There are a lot of varieties of C++ as well. You'll find keywords with Microsoft's compiler that you won't find with Borland's, and so on. You'll even find differences in type handling.

Type Casting

With VB, you can be as loose or as tight with type casting as you wish. In fact, you can, if you wish, declare everything as a byte (equivalent to char) type and handle all the casting yourself, or you can declare everything as a variant (no equivalent in C) and hope for the best. VB handles the stricter types no differently than any other language (within OS context and constraints).

Memory Management

VB has completely revamped its garbage collection routines. Gone are the days of the long hangs after heavy string manipulation, which brings us to your next point...

Threading

VB was using apartment threading as early as version 5.

-----

I can't say, obviously, what happened with your friend's code. I've no idea what the optimization settings were on the compiler, or even whether the code was run in the DE (where the code is interpreted). And I really don't want to get in the rut of defending BASIC, except to say that, despite what C-snobs might tell you, when you get into real-world programming, you'll find VB to be your friend.

There ARE certain algorithms that might run better in C than in BASIC, but the reverse is also true. In the end, it all washes out. The only valid complaint, in my opinion, against BASIC is portability. But that's true of C as well, where cross-portability tools can create nightmares for support infrastructure. (Just look at the trouble Civ3 had with Windows XP.) As I said before, if portability is an issue, then Java is the way to go, but its VM is an interpreter, and therefore slow.

The advantages, on the other hand, are legion. Very fast development. Incremental component object modeling. Vast scalability. Easy maintenance. Intrinsically capable of data driven design. And many more.

If your approach is to do brute-force calculation, I guess I'd go with C (or C++). But if your aproach is to emulate intelligence, I'd go with BASIC any day.

Velociryx is offline Velociryx
Moderator
of Candle'Bre
Apr 1999
time: 05:17
  Old Post 18-01-2002 20:02 Visit Velociryx's homepage!
Edit/Delete Message Reply w/Quote
#66 Report this post to a moderator
Support Apolyton or Terrorists Win

Hi all...UGH...home sick today! My boss came down with a nasty bug a few days ago, and I think I got it from him when we went to lunch. Was trying to make it thru the week, but man...I feel like a pile of reconstituted crap today (nice imagery,eh?).

I've been reading the ongoing discussion about what language to use with great interest. I won't pretend that it makes a *whole lotta* sense to my left-brained self, but here are my concerns/questions/desires:

* Graphics: I agree that the numbers and routines behind the graphics are more important for compelling game play, but, I DO think we should select a language that won't have a bear of a time handling some pretty darned good looking graphics. Oh, it doesn't have to be on par with, say, HOMM3 (where you open the map and you get wind moving thru the trees, windmills turning, shadows falling over the map, etc....but attractive is generally better than ugly, and the more attractive we can make it, the better. (I'm hoping, for example, that we can have graphics on par with Civ3....those aren't exactly state of the art, but they are appealing to the eye).

* Scalability: Beginning with something as close as we can get to the "boardgame rules" I posted here, my desire is to ramp the game's complexity up from there, adding additional layers/features to it until we have a really quite intricate system. As it stands now (glancing back over the rules posted yesterday), I think the system is fairly robust (if admittedly somewhat primative--intentionally primative, btw, based on earlier comments here).

* So...my main question/concern is: Can Java deliver the goods as the game's design stands as mentioned above? Can Java continue to deliver the goods as the game gets scaled up? I've heard from people who know both C++ and Java that they are, structurally, rather similar. I don't know HOW similar, so I'd not even attempt to fathom what a conversion from one to the other might entail (ie - if we started in one, and eventually migrated to another...that sounds to me, like it'd be a pain, similar or no...so our initial selection should be made with future goals--including making it commercially viable--in mind.

I suppose it might be easiest to break it down categorically, and simply ask the question, which language would have an easier time handling the following:

* Graphics on par with Civ3
* Scalability as the game increases in complexity
* Artificial Instinct routines
* Which would (generally) cause the game to run faster

Other questions would be:
* In looking at the "boardgame" version of the game posted last night, what technical hurdles exist in making that version of the game playable/fairly easily codable?

* What kind of timeframe would anybody guesstimate as far as getting a playable, bare-bones mock-up put together? (nothing fancy AT ALL...just the bare bones, formulae and place-holder icons for graphics).

* Simultaneous moves (per Yin's mentioning of Risk2) would be really cool, but how much of a bear would it be to impliment?

* For starters, would it be easier to create the game with no AI at all, and simply make a MP/Hotseat version, or would there be sufficient extra coding involved for that to make it a push? (I'm thinking that if we can make an MP/Hotseat version, we could use that for testing against each other, work the kinks out, and worry with developing the AI later, once we had something workable).

I'm sure there are more questions in my fuzzy brain, but the cold meds are causing the synapses in my brain to misfire....UGH...gonna take another hefty slug of Nyquil and lay down, but before I do, I'd invite anyone interested in the project to do two things:

First, look over the boardgame rules to get a feel for what I have in mind for the initial release, and tell me what won't work/what will be a nightmare to impliment, and why. There may be ways of streamlining the processes without sacrificing what intricacy exists in the system as it stands now.

Second, if you've not already done so, shoot me a PM or an e-mail at WebMaster@velociryx.every1.net with your e-mail and include what aspect(s) you'd like to help out in so I can compile a list of everybody who's interested (for easy communication with all), and see what skill sets we have to work with, and what we may still be missing.

Lib, I thank you *heartily* for your offer. It was suggessted to me earlier in PM that perhaps the Creative Design Lead (me) would not be the best choice for the project and resource management aspect of the project, considering it's vastly technical nature. I'll readily admit that while I'm a fair hand at coming up with the overall system and design, and doing the eventual documentation, I just don't know enough about the technical stuff to make informed decisions. Therefore, I accept your offer, so long as you don't mind me peeking over your shoulder to learn (cos I get the sense that it's something I'll eventually need a handle on).

And on those notes, I'm dragging myself off to bed again, but when I next pull my carcass outta the sack, I'll peek back in here....

-=Vel=-
(in the Quarantine Zone)

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 20:06
Edit/Delete Message Reply w/Quote
#67 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations: Deluxe Edition

quote:
Originally posted by Libertarian
If your approach is to do brute-force calculation, I guess I'd go with C (or C++).


Guess that was the problem with my friend's code. My routines were a brute force breakdown of the whole gametree. Made an invincible algorithm, but probably not to implement with VB.

Anyway, if you to decide to use VB I'm out anyway. Not for "religious" reasons, just I don't have a private VB copy (in fact I use Windows only for games). I vehemently refuse to use an illegal copy and won't give Mr. Gates the money for a language I don't need otherwise.

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 18-01-2002 20:11
Edit/Delete Message Reply w/Quote
#68 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

No no no!

As I said, I'm NOT recommending that we use BASIC for this project. I just wanted to set the record straight from the BASIC bashing that took place a couple pages ago. That's all.

If I were selected as project manager, I would recommend whatever tools are available, and then apportion them according to what I believe to be their best assets. VB is a real option for the final interface package especially, which could call the other routines, each written in its own native language.

But we have to wait for Vel anyway.

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 18-01-2002 20:14
Edit/Delete Message Reply w/Quote
#69 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

Oops, sorry. Just saw Vel's note.

Velociryx is offline Velociryx
Moderator
of Candle'Bre
Apr 1999
time: 05:17
  Old Post 18-01-2002 20:15 Visit Velociryx's homepage!
Edit/Delete Message Reply w/Quote
#70 Report this post to a moderator
Enter the AD-FREE zone



One step ahead of you, Master Lib (sorta) - Two posts up...

'k...Now I'm *really* going to bed...

-=Vel=-
(Germ warfare, anyone?)

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 20:19
Edit/Delete Message Reply w/Quote
#71 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations

quote:
Originally posted by Libertarian
There are a lot of varieties of C++ as well. You'll find keywords with Microsoft's compiler that you won't find with Borland's, and so on. You'll even find differences in type handling.


If you reduce your programming to ANSI C/C++, as every reasonable programmer does, it will compile at BCC, MSC, GCC and where ever you want.

quote:
Originally posted by Libertarian
... or you can declare everything as a variant (no equivalent in C) and hope for the best.


Thank God , that's what I meant by "a mess".

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 20:23
Edit/Delete Message Reply w/Quote
#72 Report this post to a moderator
Support Apolyton or Terrorists Win

Good idea to write the core in C++ and the interface in Basic . Point for you Lib. And I definitely don't want to start a Basic bashing, that would be unprofessional, just expressed my bad experiences.

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 18-01-2002 20:36
Edit/Delete Message Reply w/Quote
#73 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

I've sent Vel my phone number. When he's feeling better, he can call me, and we can get everything rolling. By starting with a good game design, the rest is made much easier. But even before that, there are certain other essential concerns, such as resources, assets, and capital, as well as establishment of rules of equity distribution.

Sir Ralph, thanks. I enjoyed the insider banter on coding. You seem to have a good level-headed approach. That bodes well for us all.

Steve Clark is offline Steve Clark
King
Colorado Springs, CO
Oct 1999
time: 22:17
  Old Post 18-01-2002 20:54
Edit/Delete Message Reply w/Quote
#74 Report this post to a moderator
Support Apolyton

Vel/Lib, you two have peaked my curiousity. Your (Lib) analysis of the programming languages is very insightful. I'll probably get into vb.net this year to see what the fuss is about. But the main thing to remember, as I have told many others through the years, is to make the tools fit the application and not let the tools drive the application.

One of the main things I have done in 20 years of being in applications development and management is QA and testing. I have always believed and tried to accomplish a very rigorous and thorough testing of any and all phases of an application or product. For a little while, I was actually a professional tester for commercial products (including one of the early versions of Excel for the Mac). At any point along the way of your ambitous project you want someone to do independent and objective testing, let me know please.

xRamsesx is offline xRamsesx
Chieftain
of Candle'Bre
Oct 2001
time: 00:17
  Old Post 18-01-2002 21:10
Edit/Delete Message Reply w/Quote
#75 Report this post to a moderator
Support Apolyton, buy Civilization: The Boardgame

Lib, Ralph, I think that idea of going with a core in c++ and a UI in VB is good for an initial mockup, but eventually the UI might need a more structured language. One thing that I think I nailed down is when you're coding in directx you pretty much need to do everything, including the interface features. So it would be nice if we could have some base classes for all UI and just inherit from them. It would speed our development time considerably since any changes would be easy to implement.

VB in its current state doesn't support inheritance. VB.net will on the other hand, so that could be a valid option. Actually if we decide to go with the .NET framework then all this discussion on VB vs C++ is not needed since VB.net and c++.Net all compile into microsoft's own definition language which in turn is compiled into machine code. So it's simply a matter of taste.

Vel, happy recovery mate, and I'll be sending you my contact info tonight when I get home.

OK, back to work now

SlightlyMadman is offline SlightlyMadman
Warlord
Baltimore
Nov 2001
time: 00:17
  Old Post 18-01-2002 21:55 Visit SlightlyMadman's homepage!
Edit/Delete Message Reply w/Quote
#76 Report this post to a moderator
Support Apolyton buy from Amazon

VB is out of the question for something like this. VB only has 2 uses in this world: Cheap business apps and macro viruses.

C++ would be a great choice, as would a 3d graphics engine, and a full musical score composed by U2. Unfortunately, none of these options are available within our limited resources.

Java gives us quick, easy development, and its OO foundations are well suited to the ambitions of this project. It also provides platform independence, and access to the wide range of great tools out there that have been developed by others to help people like us (the beanshell scripting language, for instance).

Another great reason to go with java is that I'v already started development. It's incredibly basic (I've spent about 1.5 hours on it, so far), but it's got a simple client-server framework (multiplayer will be available from the beginning).

Anybody who wants to check it out can get the code via anonymous cvs access to sourceforge.net. The project is called candlebre.

SlightlyMadman is offline SlightlyMadman
Warlord
Baltimore
Nov 2001
time: 00:17
  Old Post 18-01-2002 21:59 Visit SlightlyMadman's homepage!
Edit/Delete Message Reply w/Quote
#77 Report this post to a moderator
Suffering from ads?

Oh, I forgot to mention: The client and server are considered completely independent applications, and the AI players will actually be seperate client apps running independently.

This means that a client could be written in vb, or C++ with a 3d graphics engine, and an AI opponent could be written in assembly, or QuickBasic for all I care.

Deornwulf is offline Deornwulf
Warlord
In a state of wonderment
Dec 2001
time: 05:17
  Old Post 18-01-2002 22:00
Edit/Delete Message Reply w/Quote
#78 Report this post to a moderator
As suggestion for Vel Support Apolyton, buy GURPS/ Alpha Centauri

I have been thinking about doing a similar project and creating a better civ-like game. I am in the same boat as you in that I know little about modern programming (I can make my name fill up the screen in BASIC). I thought hard about how to get the idea off the ground and realized the best place to start is back at the beginning.......the table-top board game. You might find it easier to lay out the concepts of your game if you first construct it as a board game. (It by itself might even be commercially viable). That would allow you to work out rules and playtest before trying to program it. Civ was a boardgame first and even though it has evolved, there are still some similarities. You can contact me at using my log-on name at msn if you want to discuss this further.

Velociryx is offline Velociryx
Moderator
of Candle'Bre
Apr 1999
time: 05:17
  Old Post 18-01-2002 22:06 Visit Velociryx's homepage!
Edit/Delete Message Reply w/Quote
#79 Report this post to a moderator
Got spare money?

Step ahead of you, Master Wolf! Board game rules start on this thread, page 2....

And yes, I totally agree....having made some board games in the past, I knew much more about what would be involved there....putting everything together and doing some quick mock-ups for testing. Of course, being somewhat on the ILL side today, there's little I can do testing wise....mostly, I'm laying in bed, but I DO check here each time I rouse myself back to a standing position.

Perhaps the worst part of all is, my BRAIN is on overdrive....the body is simply not cooperating too well today...:: sigh::

-=Vel=-
(And thank you for the well wishes, by the way! Both here and in PM's!)

Velociryx is offline Velociryx
Moderator
of Candle'Bre
Apr 1999
time: 05:17
  Old Post 18-01-2002 22:09 Visit Velociryx's homepage!
Edit/Delete Message Reply w/Quote
#80 Report this post to a moderator
Support Apolyton

Madman, that rocks! Just saw your posts on my way back to the Altar of Nyquil!

-V.

PS: To make it easy to find, I'm gonna do some copy and paste magic and post the "Board Game Rules" over in the "Other Games" section of 'poly....

xRamsesx is offline xRamsesx
Chieftain
of Candle'Bre
Oct 2001
time: 00:17
  Old Post 18-01-2002 22:14
Edit/Delete Message Reply w/Quote
#81 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

The way I see it is we need to decide who the target audience is going to be. Cross-platform or just a windows environment? If the choice is Cross-platform then I think Java is the definite answer. For a windows environment then c++ (or possibly VB too). In windows there's DirectX available and it would be a true shame to not use it.

And Madman, for coding a multi-player environment, DirectPlay is available that makes it really easy. Though I have to admit Java has the upper-hand on that since the network libraries available are just ... beautiful

Thumbs up on the head-start Madman

xRamsesx is offline xRamsesx
Chieftain
of Candle'Bre
Oct 2001
time: 00:17
  Old Post 18-01-2002 22:55
Edit/Delete Message Reply w/Quote
#82 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations: Deluxe Edition

Ok, now that i've finished eating, i'd like to give my humble opinion about some of vel's questions.

-----------------------
Language Choice
-----------------------
Graphics:
If our goal is to achieve graphics on par with Civ 3 then I would say, C++, Java, and VB are all viable options. But personally I think it would be nice if we could maybe even go beyond that level. For instance 3d glows around units to represent strength, the more power the stronger the glow. A sort of halo around cities representing importance. Economic center cities would have a specific halo above them, capitols would have another one, etc. And for stuff like that, although it still is possible to do it with all 3 languages, I believe C++ is the best choice because of speed, and support (by that I mean existing libraries and code we can use).

As a side note, the stuff I mentioned above might seem too high an objective, but I think we can set our standards high, and do our best to reach them, accomodating as we go along. Personally I like the challenge

Scalability:
This is a simple answer. Any object oriented language will do for that. So Java, and C++ are both on the same wave-length here.

AI:
This really is asking, which language can do routines the fastest and efficiently? And I think the answer to that one is C++. Java, although a serious contender, doesn't match c++'s speed.

Speed:
By now its probably obvious that I think C++ is the fastest language for our purposes. Again, Java isn't that far behind, but c++ is definitly faster.

Conclusion:
For what its worth, I think we should go with c++ for almost all aspects of the game, for the above reasons, and the others already mentioned in the previous posts.

----------------------
Game Questions:
----------------------
Timeframe:
I think at this point this is anyone's guess. We still don't know how many people are willing to work on this. How much time each person is willing to dedicate. And most importantly what our exact goals are.

Simultaneous moves:
I have a couple ideas on how to implement that, and won't bore you with them right now, but I think we can pull it off. It'll be much harder than the standard turn after turn, but it'll add so much more to the gameplay that I think its worth it.

AI vs MP initially:
I think it might be easier to start with the AI. We can start with a dumb AI and beef it up as we go along. But with multiplayer, in order to start testing it you need to have most of the MP code written and tested before moving further.

Those are my opinions for now
Ok, some socializing now then back to work

Sir Ralph is offline Sir Ralph
Emperor
Long live teh Schwampel!
Dec 2001
time: 06:17
  Old Post 18-01-2002 23:07
Edit/Delete Message Reply w/Quote
#83 Report this post to a moderator
Support Apolyton, buy Civilization III: Complete

SlightlyMadman: Your client/server approach is the same as known from the FreeCiv project. It works well there.

About available resources: Borland gives his command line C++ compiler for free, I'll provide the URL if there is interest. For the core of the game we don't need an IDE, we could use Makefiles as they are used in almost all Open Source projects. Linux users could use gcc (also free); if writing good ANSI code, the compiler doesn't matter.

Java Development tools would be freely available as well, though for the core I'd prefer C++.

About writing portably: A clear Yes! The core has to be portable, and ANSI C++ with just a few wrapper classes for the platform dependent part (e.g. threads).

A vehement No to making all classes inherited from some ActiveX stuff. You'll be stuck in the Wintel empire.

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 18-01-2002 23:14
Edit/Delete Message Reply w/Quote
#84 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

Attention all who are interested in participating in the programming aspect of this project:

Please PM me, providing your e-mail address, your IRL name and age, your geophysical location, and a best time (US ET) to make contact with you. Vel and I have now discussed the project's preliminary goals, and I'd like to get your input on the programming aspects of our discussion.

tjwojo is offline tjwojo
Settler
East Syracuse, NY
Jan 2002
time: 00:17
  Old Post 18-01-2002 23:18
Edit/Delete Message Reply w/Quote
#85 Report this post to a moderator
Remove this text

The way it is going, this project is already doomed.

You have most of the people making suggestions about fancy details (like glowing units) and arguing about programming languages.

You have one guy (Madman) who has decided the architecture for it already and has begun coding in a language that has not been agreed upon.

Meanwhile, Vel is still working out the design: something which could very well take months.

Even a simple project would fail with these things stacked against it. No one should be coding anything at this point. No one should be worried about nice features (or multiplayer). Everyone who is going to work on this should be concerned about the core design.

Also, what are you going to do about configuration management. It is hard enough for three or more people to put a piece of software together when they are all sitting in the same room.

I respect the enthusiasm, but the premature loss of focus does not bode well. You all need to slow down and concentrate. Do not get excited about this project, because the grander your dreams, the longer they are going to take to realize. Take small steps and you are more likely to stick with it in the long run.

Chowlett is offline Chowlett
King
of Candle'Bre
May 1999
time: 05:17
  Old Post 18-01-2002 23:26
Edit/Delete Message Reply w/Quote
#86 Report this post to a moderator
Get a bigger avatar today!

Vel - looking over your boardgame rules, I like what I see, but could you clarify the combat engine? I don't quite understand how it would work.

As an example, let's say my 8/8/1 infantry attack your 6/6/2 Light infantry. What goes on?

SlightlyMadman is offline SlightlyMadman
Warlord
Baltimore
Nov 2001
time: 00:17
  Old Post 18-01-2002 23:27 Visit SlightlyMadman's homepage!
Edit/Delete Message Reply w/Quote
#87 Report this post to a moderator
Increase the size of your Attachments

xRam: good ideas, but way too ambitious to think about right now. The graphics will all be handled by the client, which can be rewritten later to be more flashy. For now, I'm keeping it simple.

As for the AI, if you're really that worried about speed, OOP is the wrong approach. If anyone who will be helping out with the project is really good enough to be able to attempt something more than the most basic of AI approaches, they might want to write it in assembly.

Me, I was thinking something simple and script-based. This isn't chess we're talking about here. All the AI needs to do is build things and shuffle around armies. The removal of tactical concerns is pretty much the only thing that I feel makes this project possible.

I could be wrong. Maybe I'm underestimating the skills available, and the time people are willing to put into this. Even if I am, though, we're best off putting together a simple playable proof of concept, and then completely rewriting it if it doesn't meet our needs. We'll learn enough in the process of writing the first version to more than make up for the time we spend on it.

Sir Ralph: very insightful ;) . The same approach is used by the WorldForge project, as well. I have the feeling that both of these will be valuable resources for us. If not for actual code, then for architectural insight. WorldForge actually has a java client that is similar to what we'd need for the "battle zoom" component.

LDiCesare is offline LDiCesare
King
La Ferté sous Jouarre France
Jan 2001
time: 05:17
  Old Post 18-01-2002 23:45
Edit/Delete Message Reply w/Quote
#88 Report this post to a moderator
Support Apolyton

Two comments from a professionnal programmer:
quote:
There are no memory leak bugs.

Sorry, Mark, that is false. There is hardly any memory management in java, but there can be memory leaks. We can discuss it elsewhere, and it is not a first priority concern.
Language choice:
First look at what programmers you have. If you don't have pro software coders (or hackers who read hexadecimal figures fluently), do NOT go C++. It is a very difficult language. It is very tricky. There are so many nice things you can do with it that they are prone to abuse. I do C++ at work, for nothing would I do some more at home. Learning C++ is hard. Really. When you want to create an object of class toto, do you use toto obj; or obj = new toto()... every single line of code you have to wonder about memory management... #includes can be messy if you don't code your .h correctly... If you didn't understand these and bash them away as newbie errors, do NOT try to code in C++.
VB and java have an advantage over C++: they are far easier to learn. In the long run, you will need the same programming skills in all languages, but for a large project, you should not use something complicated if you are not proficient with it. Or be ready to throw everything away and restart from scratch when you reach a certain point.
OTOH, VB for UI is a good idea, at least to begin with.

Velociryx is offline Velociryx
Moderator
of Candle'Bre
Apr 1999
time: 05:17
  Old Post 18-01-2002 23:59 Visit Velociryx's homepage!
Edit/Delete Message Reply w/Quote
#89 Report this post to a moderator
Browse Apolyton AD-FREE

Up from a nyquil nap to answer a few questions and make some sleepy-eyed comments!

Chowlett: The combat in the boardgame design works almost exactly like it works in the MB Game "Shogun" which came out slightly after Axis and Allies. Unlike Civ2/Civ3, there are no hit points and such in the boardgame iteration (and possibly not even in the computer version's early iterations....combat is either hit and kill, or hit and capture). A detailed example of the combat system is below:

Attacking Force: 3 Archers, 2 Cavalry, 4 Infantry

Defending Force (let's say a neutral province valued at 50g, so there'd be 5 Infantry to defeat)

Round One:

Attacker rolls first:
Tier One Combat (First Strike Units - Archers), 3 rolls, one hit. Defender loses an infantry. Since the infantry is not a first striker, he dies without even getting a defense roll.

Tier Two Combat: Cavalry Issues a Charge Order. They do not attack this round, but will be ready to attack next round. (Note that Cavalry may either attack with the Infantry or issue a charge....if a charge is issued, the cav. baseline attack values are doubled on the charging round, but they must pay for that in advance, by giving up one round of attack). Since the Cav are setting up for their charge, there is no tier two combat.

Tier Three Combat: Attacker rolls first, and two of his four infantry hit (so, three of the five defending Infantry are now dead) however, the defending infantry DO get to return fire, since they are a part of the Tier Three combat group. They roll against their defense values, score one hit (in this example, to keep it simple, we're considering this is a "standard attack" and not a "precision strike" so the player losing the unit decides where the loss is taken, and loses one Infantry.

Since this is a neutral province, there is no defender withdrawl option, so the combat moves to round two.

The archers have horrible luck this round, and none of them hit.

The Cavalry though, is ready for their charge, and with their double attack values, they both hit easily. Again, since this charge took place at the tier two combat phase of the round, the Infantry are unable to "return fire" and so they die.

No more defenders remain, so the combat ends, and the Province is captured.

Using this system of combat is a very simple way to foster combined arms attacks. You'll want a heavy infantry base (cheap) to soak up losses, but you'll want some troops attacking and defending at the higher tiers of combat to inflict pain on the enemy.

Also, to provide still more strategic consideration, there's the option to issue standard attacks or precision strikes. Precision strikes will halve your damage, but the advantage to them is as follows:

Under a standard attack, the player losing the units gets to choose where he takes his losses. Precision strikes don't kill as many men, but the player doing the killing can select which type of units are killed (ie - you could specifically target your opponents cav, striking them with massed archer fire before they had a chance to wheel around for their charge...less overall damage, but pinpoint damage to the opponent's force).

Game design: The core rules stand at about 90% completion. In fact, the only thing that's NOT done at this point is play-testing balance, tweaking costs, and fluff stuff like calling the techs something besides M1, M2, etc.

The only other aspect of the design that was (intentionally) left unfinished is the "Book of Fate" representing the game's Event Engine, and this was left unfinished to solicit ideas for it here....

All in all, not bad for two day's work!

-=Vel=-

Last edited by Velociryx on 19-01-2002 at 00:05

Libertarian is offline Libertarian
King

Nov 2001
time: 00:17
  Old Post 19-01-2002 00:11
Edit/Delete Message Reply w/Quote
#90 Report this post to a moderator
Increase Your PM Length

quote:
VB only has 2 uses in this world: Cheap business apps and macro viruses.


I personally managed the development of a full-blown accounting package, including payroll, accounts payable and receivable, and general ledger, written entirely with VB4 that sold for $15,000 per unit install and is used by two of the largest fast-food franchises in the southeastern US.

It has been reliable, dependable, and the clients love it because it's easy for them to use. VB bashing is soooooo last week.

 
Pages (6): [ 1   2   3   4   5   6   ]
< Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:17.
Apolyton Time is 00:17.
    top of page
Rate This Thread:
Forum Jump:
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0635 seconds (92.02% PHP - 7.98% MySQL) with 30 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net