Matrix Games Forums

Forums  Register  Login  Photo Gallery  Member List  Search  Calendars  FAQ 

My Profile  Inbox  Address Book  My Subscription  My Forums  Log Out

Programming

 
View related threads: (in this forum | in all forums)

Logged in as: Guest
Users viewing this topic: none
  Printable Version
All Forums >> [General] >> General Discussion >> Programming Page: [1]
Login
Message << Older Topic   Newer Topic >>
Programming - 3/24/2006 4:33:24 PM   
wodin


Posts: 10762
Joined: 4/20/2003
From: England
Status: offline
OK Ive decided to have ago and teach myself programming.

So I need advice. What language should I start with? Can anyone recommend any books? Also do I need any software, if so what should I buy/download?

The long term goal is to learn Java and C+. Then one day I'd like to try my hand as an indy games developer. My dream would be to come along and pick up Combat Leader and finish the game;).

So all help will be appreciated.

_____________________________

Post #: 1
RE: Programming - 3/24/2006 5:53:17 PM   
Zakhal


Posts: 2494
Joined: 1/4/2001
From: Jyväskylä, Finland
Status: offline
Eclipse is a good free editor for many languages including java.

_____________________________

"99.9% of all internet arguments are due to people not understanding someone else's point. The other 0.1% is arguing over made up statistics."- unknown poster
"Those who dont read history are destined to repeat it."– Edmund Burke

(in reply to wodin)
Post #: 2
RE: Programming - 3/24/2006 6:25:55 PM   
sterckxe


Posts: 4605
Joined: 3/30/2004
From: Flanders
Status: offline
quote:

ORIGINAL: wodin
OK Ive decided to have ago and teach myself programming.


Another convert to the Dark Side

quote:

ORIGINAL: wodin
So I need advice. What language should I start with?


If your ultimate goal is to become a wargame programmer you might have a look at what languages are used in wargame development.

The answer is mostly C++, with the odd exceptions of Flashpoint Germany and World in Flames which are written in Delphi, the guys from Koios opting for C# and managed DirectX and everything VASSAL related in Java.

I would recommend taking a look at VASSAL - it's a working engine, the tools are free and it's your shortest path to getting some experience both in programming and in wargame design.

Greetz,

Eddy Sterckx

(in reply to wodin)
Post #: 3
RE: Programming - 3/25/2006 11:18:14 AM   
JeF


Posts: 1170
Joined: 4/1/2003
From: Belgium
Status: offline
wodin,

very tough question. Vast subject. The simple choice of programming language and environment is difficult, even for seasoned professionals.

Here is a link to start with :
Amit’s Game Programming Information.

And to add to what Eddy's said about popular languages among game programmers : Python is currently used for Combat Mission Campains. Python is an easy to learn language.
I heard some bloke like to program in Delphi, an object oriented Pascal from Borland.

One more things :
I wouldn't recommend C/C++ and directX for beginers. C#, Java, Python are all environments where you don't need to take care of memory allocation as a programmer. There are more.

Vast subject indeed.

JeF.

_____________________________

Rendez-vous at Loenen before 18:00.
Don't loose your wallet !
Conquest Of The Aegean Web Development Team
The Drop Zone

(in reply to wodin)
Post #: 4
RE: Programming - 3/25/2006 12:41:49 PM   
Tankerace


Posts: 6400
Joined: 3/21/2003
From: Stillwater, OK, United States
Status: offline
Start with COBOL. Best Language you can learn.








Just kidding.

VB6 isn't bad if you are just getting started. Can't really do anything with it, but its a good intro language. I myself started out on QBasic then Visual Basic, then took courses on COBOL and C++. C++ is definately the most robust of them all, but it is hard for beginners, especially those with no programming background.

And yes for those who are wondering, I do know (or at least I did... its been a while) COBOL. Most boring, POS, redundat, and in this day and age completely worthless language out there. Suffice it to say we didn't call it Compiles Only Because Of Luck for no reason.

< Message edited by Tankerace -- 3/25/2006 12:42:02 PM >


_____________________________

Designer of War Plan Orange
Allied Naval OOBer of Admiral's Edition
Naval Team Lead for War in the Med

Author of Million-Dollar Barrage: American Field Artillery in the Great War coming soon from OU Press.

(in reply to wodin)
Post #: 5
RE: Programming - 3/25/2006 5:39:15 PM   
MikeBrough


Posts: 260
Joined: 1/30/2005
From: Scotland
Status: offline
Tankerace

Beg to differ. Boring, perhaps. But, horses for courses. When used for business logic on big iron, it holds its own against any more modern language.

A wiki for you:

'In the late 1990s, the Gartner Group, a data-processing industry research organization, estimated that of the 300 billion lines of computer code that existed, eighty percent — or 240 billion lines — were COBOL. They also reported that more than half of all new mission-critical applications were still being created using COBOL — an estimated 5,000,000,000 net new lines of COBOL code annually'.

_____________________________

Mike Brough
Proud to be an Arab

Be sceptical of the things you believe are false; be very sceptical of the things you believe are true.

(in reply to Tankerace)
Post #: 6
RE: Programming - 3/25/2006 7:33:53 PM   
sterckxe


Posts: 4605
Joined: 3/30/2004
From: Flanders
Status: offline
quote:

ORIGINAL: Tankerace

Start with COBOL. Best Language you can learn.






quote:

ORIGINAL: Tankerace
VB6 isn't bad if you are just getting started. Can't really do anything with it, but its a good intro language.


Well, these wargames were made in it :

http://www.kamikazewargames.com

quote:

ORIGINAL: Tankerace
I myself started out on QBasic


"The fastest compiler on the planet" - it said so in the adverts :)

quote:

ORIGINAL: Tankerace
And yes for those who are wondering, I do know (or at least I did... its been a while) COBOL. Most boring, POS, redundat, and in this day and age completely worthless language out there. Suffice it to say we didn't call it Compiles Only Because Of Luck for no reason.


I beg to differ - didn't program a line in it the last 2 decades but the big corporations still have lots of cobol stuff running - simply because it works, is easy to maintain and runs on everything. Demand for guys who know cobol is still high - a lot of them are in the consultancy business making a decent buck. Given that the guys leaving the schools now don't know anything about it, my guess is that demand for those guys will even increase.

Greetz,

Eddy Sterckx

(in reply to Tankerace)
Post #: 7
RE: Programming - 3/25/2006 9:19:07 PM   
Tankerace


Posts: 6400
Joined: 3/21/2003
From: Stillwater, OK, United States
Status: offline
Yeah, you guys are right. Its still in demand (oddly enough), but In my personal opinion it is worthless because it is so limited. That and most of the worthless comment is a personal hatred of the language, I don't think I ever got a program to compile right in the first three tries in my life . And god help me when I was first learning it, and debugged from the bottom up. OOOPS


_____________________________

Designer of War Plan Orange
Allied Naval OOBer of Admiral's Edition
Naval Team Lead for War in the Med

Author of Million-Dollar Barrage: American Field Artillery in the Great War coming soon from OU Press.

(in reply to sterckxe)
Post #: 8
RE: Programming - 3/25/2006 9:31:10 PM   
Nomad


Posts: 5905
Joined: 9/5/2001
From: West Yellowstone, Montana
Status: offline
A comment for the OP, 'learning' to program is learning to think logically. The choice of language is somewhat immatterial but a fairly simple Basic is satisfactory. Once you learn one language other languages are easy, it is just syntac changes.

_____________________________


(in reply to Tankerace)
Post #: 9
RE: Programming - 3/25/2006 9:40:26 PM   
Shannon V. OKeets

 

Posts: 22095
Joined: 5/19/2005
From: Honolulu, Hawaii
Status: offline

quote:

ORIGINAL: wodin

OK Ive decided to have ago and teach myself programming.

So I need advice. What language should I start with? Can anyone recommend any books? Also do I need any software, if so what should I buy/download?

The long term goal is to learn Java and C+. Then one day I'd like to try my hand as an indy games developer. My dream would be to come along and pick up Combat Leader and finish the game;).

So all help will be appreciated.


My programming background runs from 1968 to the present. Almost all that work was simulations. I have used Fortran, Basic, Assembler (8086), Pascal, C, C++, Delphi, and over a dozen operating systems on over a dozen different hardware platforms. I currently am using Borland's Delphi 2005 for programming Matrix Games' World in Flames. Prior to that I used Borland's C++ 6 to build a stand alone statistical analysis package.

At their core, all programming languages are the same: you define a variable (a place to store data in memory), you give the variable a starting value (write the initial value), you modify that value (read and then write), and you use that value (read it). A language enables you to perform those operations.

Assembler gives you very primitive tools but those tools are fine grained which lets you work with individual bits effectively and efficiently. It not so good at providing an overview / overall structure for large projects.

The difference between Fortran, C, Cobol, (et al) and the more recent languages, C++, Visual Basic, Java, and Delphi are the additional tools they provide for managing a large project. They also either come with, support, and/or can be integrated with supplemental software libraries/packages. In aggregate, they provide a wealth of existing code which you do not have to create from scratch.

To use a rough analogy here, assembler is like a saw, C is like power saw, C++ is like a set of power saws, each with a different capability.

For your purposes (programming a war game) you will want tools that provide excellent support for: screen graphics, keyboard and mouse input, and data structures for both of those plus simulation variables. You do not need: printing capabilities or databases. You might want, but do not require: internet capability and HTML. My advice here is to define the product you want to produce as best you can, without any references to programming languages. Your vision of what you want to create should be as well defined as possible - and definitely written down. It will be an invaluable touchstone for you as you proceed on your quest.

What is going to happen is that you are going to climb a learning curve, acquiring a vast amount of new information. You have to filter that information, ignoring pieces that are irrelevant to your purpose and focus only on those that are important to you. It is the proverbial fire hydraut you are trying to drink from. Don't drown. As a simple example, all the discussion about Cobol, while amusing, has no importance to you. It is a waste of your time to become even modestly curious about it. Focus on your needs.

I would suggest screen graphics as a good place to start, with equal importance on user interface and simulation. All of these are broad topics and you need to filter what you investigate or you will spent hundreds of hours and dollars on side issues. Regretably, you are practically doomed to do that anyway: I own a bunch of books and software that I never should have purchased, but they sure seemed like a good idea at the time.

If you can define a small test project, that would be excellent. You could then see what all is involved in: learning about tool/software choices, teaching yourself about each tool/topic, and actually doing the work with the tools to produce a functioning program.

I like Delphi and C++ equally well. If I were creating software for web sites, I would look seriously at using Java (1st choice) and Visual Basic. All of these work on the internet, but there are different libraries/packages to support them.

Oh, and all this stuff changes continuously. In the time that I have taken to write this, new products have been introduced. You cannot keep up with the changing world while you are doing work on a project. You must establish the tools you will use and then use them to see the project through to completion. Changes tools in midstream gets everything wet. There are enough aggravations making things work without bringing in more complexity voluntarily. I strongly advise against using any new releases of software or hardware. Working on the cutting edge causes a lot of blood loss (I speak from extensive experience on this). Go with well establish products, please.

Good luck!

_____________________________

Steve

Perfection is an elusive goal.

(in reply to wodin)
Post #: 10
RE: Programming - 3/26/2006 1:00:39 AM   
Arjuna


Posts: 17785
Joined: 3/31/2003
From: Canberra, Australia
Status: offline
Wodin,

I second Shannon's advice. Whichever programming language you choose you are going to be up for a big learning curve. I started working on our Airborne Assault engine with virtually no programming experience other than some limited database programming in 4th Dimension ( a Macintosh relational database ). Everything else I learnt on the job with a great deal of help from my colleague Paul Scobell. We decided at that time on developing in C++, primarily for speed and the STL libraries that were then becoming available.

My advice would be to choose the language to develop in and just bite the bullet. If I was starting today I would probably opt for C# again because of speed and the tremendous inbuilt support libraries, especially its ability to provide persistence support. When we strated in C++, there was no inbuilt persistence support. We ended up developing our own Panther Object oriented Database ( POD ). This consumed a good deal of time initially but has paid off handsomly over the years. C# gives you this for free. Again I relying on advice here from Paul Scobell. He's been using C# in his day job for some time now and really likes it.

Anyway good luck.

_____________________________

Dave "Arjuna" O'Connor
www.panthergames.com

(in reply to Shannon V. OKeets)
Post #: 11
RE: Programming - 3/26/2006 1:13:54 AM   
Mike Wood


Posts: 2095
Joined: 3/29/2000
From: Oakland, California
Status: offline
Hello...

I started with assembler for the IBM 360, B.A.L.. Also coded main frames in Fortran, Cobol, Easy Coder, SPS, SYS and RPG. Then went to PCs and used Assembler (8086), Pascal, Basic, Quick Basic, C and C++.

Everything I have written at Matrix Games has been in either Watcom C (SPWaW), Turbo C (PacWar) or Visual C/C++ (all other games).

If you want to be a game programmer, I strongly suggest you learn C/C++. If you want to understand the afore mentioned, I strongly suggest you learn Assembler (8086).

My Opinion...

Michael Wood

(in reply to Arjuna)
Post #: 12
RE: Programming - 3/26/2006 4:13:44 AM   
benpark

 

Posts: 3884
Joined: 8/12/2002
Status: offline
I had a similar idea, Wodin. I have no programming experience, save for a class in "Basic" in 7th grade (1983). I did a lot of research. DarkBasic was pretty cool, but didn't seem enough for what I wanted. GameMaker (http://www.gamemaker.nl/games_exe.html) seemed good as well. But I think C++ is the way to go.

I'm not sure I want to commit the time to learning it, however. I do have all the beginings of the graphics done-that's the stuff that appeals to me.

All this sure makes you appreciate a well programmed game, though!

_____________________________

"Fear is a darkroom where the devil develops his negatives" Gary Busey

(in reply to Mike Wood)
Post #: 13
RE: Programming - 3/26/2006 4:53:59 AM   
Marc von Martial


Posts: 10875
Joined: 1/4/2001
From: Bonn, Germany
Status: offline
quote:

I have no programming experience, save for a class in "Basic" in 7th grade (1983)


Yeah baby, I even managed to code my own RUN GOTO routine, LOL.



_____________________________


(in reply to benpark)
Post #: 14
RE: Programming - 3/26/2006 8:03:07 AM   
benpark

 

Posts: 3884
Joined: 8/12/2002
Status: offline
Yep. I still remember thinking "this is really boring now, but someday...someday...Squad Leader's gonna make it to the computer".

_____________________________

"Fear is a darkroom where the devil develops his negatives" Gary Busey

(in reply to Marc von Martial)
Post #: 15
RE: Programming - 3/26/2006 8:36:31 AM   
mgarnett

 

Posts: 270
Joined: 11/12/2005
Status: offline
Hi Wodin,

I think the best advice I can give is to choose a language that you feel comfortable with. I started as hobby programmer about 10 years ago and now program as part of my job (I am a forensic technology consultant). During that time I have played with a few languages and associated development environments including those from Microsoft and Borland. When I started programming for Windows, I was given advice to use C++ and so started with Microsoft Visual C++ (I had been programming a Turbo C and Turbo Pascal prior to this).

I struggled to like the language, the concepts that were easy for others to grasp were difficult for me. Eventually, somebody told me to try Delphi, and I have been programming in it ever since. Each programmer likes diffierent things and we all get a sense of achievement in different ways. I get a big sense of achievment when I can get a GUI or Windows App up and running quickly and Delphi gave me that ability. It is based on the Pascal language and, IMHO, is very powerful.

For wargame or general Windows programming, it can accomplish everything very quickly. You could literally have a GUI for a wargame up and running in a very short time, using either the Windows GDI or one of the very good free DirectX components availalbe (Asphyre or DelphiX/unDelphiX). C++ is definately the most popular game development language by far, however if you don't like the language or find it difficult to grasp, then that popularity means nothing.

Cheers

Mark

(in reply to benpark)
Post #: 16
RE: Programming - 3/26/2006 2:27:15 PM   
wodin


Posts: 10762
Joined: 4/20/2003
From: England
Status: offline
Funny enough my only experience is programming a text adventure game in Basic back in 1983 on my BB C 32K;)

_____________________________


(in reply to mgarnett)
Post #: 17
RE: Programming - 3/27/2006 3:50:27 AM   
Jevhaddah


Posts: 626
Joined: 11/24/2005
From: Scotland
Status: offline
Where to begin...

I too am an old hack from the days of punched cards and ticker tapes and Yes I also used and indeed taught Cobol which I still use as and when required.

I taught programming, among other things for 10+ years at Graduate level, back in the day it was Pascal, Fortran, Cobol, C and dum darra rum dedo dahhhh BASIC :) among others.

There are quite a few modern versions of BASIC availible now such as

Blitz Max www.blitzbasic.com

Dark Basic Pro http://darkbasicpro.thegamecreators.com/

These are commercial version's but there are also free versions of BASIC:

Just Basic http://www.justbasic.com/

BASIC is IMHO unjustly poo pooed by some, but it is amazing what can be done with it these days now that in some cases code can be compiled instead of interprated.

I use it to teach the bairns in the village a bit of programming outside of skool :)

Microsoft are giving away free (for a year) All the applications in Visual Studio Express 2006) after the year you can still use it commercially, but will have to pay for upgrades.

http://msdn.microsoft.com/vstudio/express/

There are thousands of online tutorials out there, just don't try to run before you can walk and pace yourself at your OWN pace, not that suggested by the tutorials.

If I can think of any more resourses I will update this post accordingly.

Cheers
Jevvy
Hairy Scarey Scotsman

_____________________________

I am really quite mad yoo know!

(in reply to wodin)
Post #: 18
RE: Programming - 3/30/2006 12:08:10 AM   
Marc Vaughan

 

Posts: 2
Joined: 2/28/2006
Status: offline
quote:

So I need advice. What language should I start with? Can anyone recommend any books? Also do I need any software, if so what should I buy/download?

If you're new to programming then I'll buck the general trend and suggest a nice easy language to pick up and run with - Visual Basic ... its one of the easiest to learn from a 'get something up and visible' point of view and there are a huge amount of tutorials kicking around on the web for it.

In my experience the main reason for people failing with home projects or learning programming is simply frustration at lack of progress which is most common with the more 'technical' languages like C++ because while they're 'more powerful' they do require a certain amount of knowledge and 'grunt work' to get the best out of them.

VB is more limited in that should you enjoy things enough to want to write a 'professional' game then it might be time to learn C++ but in itself you CAN (and people do) make a very impressive program, if you want proof of this the original EHM (Eastside Hockey Manager) was written entirely in VB and impressed me enough to persuade him to learn C++ and join Sports Interactive.

PS> As per usual I'm a sucker for newbie programmers attempting to make games - if you have any specific questions once you start going feel free to pester me via. PM or email (marc.vaughan@sigames.com) and I'll do my best to help.

< Message edited by Marc Vaughan -- 3/30/2006 1:00:12 AM >

(in reply to Jevhaddah)
Post #: 19
RE: Programming - 3/30/2006 12:59:09 AM   
wodin


Posts: 10762
Joined: 4/20/2003
From: England
Status: offline
quote:

ORIGINAL: Marc Vaughan
My dream would be to come along and pick up Combat Leader and finish the game;).


Great minds think alike

_____________________________


(in reply to Marc Vaughan)
Post #: 20
RE: Programming - 3/30/2006 8:23:43 AM   
Dave Ferguson

 

Posts: 302
Joined: 9/12/2000
From: Kent, United Kingdom
Status: offline
I did various bits of programing many aeons ago and a couple of years ago was looking to get back into it for recreational purposes. C++ etc etc were just too expensive so I ended up buying Blitz Plus for just over 30 pounds. It is a 2D compiled basic with C++ bits added, easy to get windows stuff up and running and a online community with tutorials and lots of examples. I was especially attracted by the operational level Kursk game. Not much to show for it though as I got tied up in game testing and recently have been playing with macro programming. Autohotkey is free and you can even do simple programming in it!

(in reply to wodin)
Post #: 21
RE: Programming - 3/30/2006 4:36:02 PM   
Jevhaddah


Posts: 626
Joined: 11/24/2005
From: Scotland
Status: offline
@Dave Ferguson : DO yoo still visit the Blitz Forums? Blitz Max is the latest from language, its 2SD only atm with Mark Sibly working on the 3D module. Various wrappers have been written for 3Impact, Ogre and Ode among others.

Cheers

Jevvy

_____________________________

I am really quite mad yoo know!

(in reply to Dave Ferguson)
Post #: 22
Page:   [1]
All Forums >> [General] >> General Discussion >> Programming Page: [1]
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts


Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI

1.422