View Full Version : Game Programmers and Mod Creaters


The Conquerer22
Nov 03, 2007, 05:46 PM
if anyone has an ablility to create, develop, program, or do anything dvelop games please post here because I would like to create a game with a few people but I have no programs and abilities to develop games and whatever else.

Carabodes
Nov 03, 2007, 06:10 PM
if anyone has an ablility to create, develop, program, or do anything dvelop games please post here because I would like to create a game with a few people but I have no programs and abilities to develop games and whatever else.
I suggest you do some selfstudying by visiting this thread (http://forums.civfanatics.com/forumdisplay.php?f=158).

Thorvald of Lym
Nov 03, 2007, 06:13 PM
There are a number of sub-forums under Creation and Customization you may find useful:

Modding Tutorials and Reference (http://forums.civfanatics.com/forumdisplay.php?f=177)

SDK/Python (http://forums.civfanatics.com/forumdisplay.php?f=271)

Utility Programs (http://forums.civfanatics.com/forumdisplay.php?f=176)

If you still can't find what you're looking for, try posting specific requests in relevant forums. You'll get more professional attention from there.

The Conquerer22
Nov 03, 2007, 06:19 PM
thanks Guys

any other suggestions

Chieftess
Nov 03, 2007, 07:59 PM
Are you looking to create any games in general (i.e., not Civ related)? Or, do you want to create mods for Civ4?

Chieftess
Nov 03, 2007, 08:13 PM
Actually, I've decided to move this thread to the computer talk forum.

The Conquerer22
Nov 03, 2007, 08:16 PM
alright, fair enough

to refresh people's memories this is the point of the convo:
if anyone has an ablility to create, develop, program, or do anything develop games please post here because I would like to create a game with a few people but I have no programs and abilities to develop games and whatever else.

game not totally civ related, differences that people can vote on in different forums(hopefully the proper ones,lol)

Chieftess
Nov 03, 2007, 08:42 PM
Ok, I'm going to write up a short thing on creating a game...


I've posted elsewhere about what's called a "Software Development Life Cycle". (See the "How is a patch made" thread in the Civ4 forum for more info). There's always the temptation to just dive in and start coding WHILE you are deciding what to put in the game. This is a very bad method. In fact, most large games might go through 1-2 years of planning (or more) before any code starts to be written - not including any prototyping during the design phase. The same is true with any program (not entirely limited to games).

I will use a platform game (i.e., like Super Mario Brothers) as an example.

Identification - Right now, you're scratching at the first phase where you want to make a game. But, what kind of game? A civ-like game? A RPG (The most challenging, IMHO)? A simulation? A Puzzle? A Card game? What will this game do? If you want programmers, artists, and designers, they will need to know what's expected of them.

Example - The game to be created is a platform game called Gem Mountain. The object is to recover all of the gems in each level. It is a 2D side scrolling game. (Do note that actual "Executive Summaries" are much, much larger than this.)

Feasibility Analysis - What compilier are you going to use? There is a free compilier called Dev C++, which uses many freeware addons (the best route if you don't want to give Microsoft anymore money then you have to). If you use .NET 2.0, then you're gonna have to make sure that the developers have .NET 2.0, and that those who play the game have the .NET 2.0 framework. How big is your game? If it's big, then does everyone have enough time to work on it? Will they expect to get paid for it? A programmer can make anywhere between $35,000 (on the very low end) to $100,000 (on the very high end) - maybe more in places like the west coast. Will this game be made before everyone moves on to the next operating system, by which your program might not run anymore. Another part to this is cost-benefit, which for someone doing it during their free time isn't going to make much of a difference. In the real world, it has to do with running into other projects, and maintaining a budget.

This game will be created on Dev C++, of which is a common programming language. This will allow Windows users to play it without needing any special platforms like .NET.

Analysis - Once you arrive here, you can brainstorm what's in the game. You decide the entities in the game, and how they relate to each other.

For example:

Hero - can have two abilities, selected by button A and button B.
Items - Are shown as icons, and can be picked up and put into an "Item bag".
Item Bag - Holds 256 items.
Level map - contains the data for creating the map. There will be 100 levels.
Enemy - A sprite (graphic) that represents a bad guy, and has various stats.

Potion - An event item that increases HP.
Candle - An event item that lights up an area around the player.
Slingshot - An event item that shoots out a round ball. If it hits an enemy, it removes it from the screen.

And so on. This is very simplified, but the purpose is to develop a sort of database structure to hold all of this information. (There's much, much more to this, actually). One of the most important steps in this process is the "wishlist", or your musts and wants. The idea is to write down the list features, and write from 1 to 5 how important it is to the game. 5 is a "must", and 1-4 is a "Want". Feasibility plays a part here, too. For example, you might have this really cool item system in mind, but it's hard to program, so it might be a 1 or 2.

Design - Here you make up prototypes. In this case, it may be how levels look, sketches of sprites in the game, coding a framework that simulates (but not create) the game. Sometimes, a prototype can be used as a base for the actual game itself. The next step is to figure out how much to put into the game -

Barebones - Take only the "Musts". The wants can be added in an expasion patch.

Standard game - All of the musts, and some of the wants (maybe ones listed as 3 and 4).

Bells & Whistles - Everything! This will take the most time.

Coding - Now you create the game, but, make sure you have a good plan. You could create engines, that is, one person does the Menu/Item system, another does the graphics part, and the other does the game. In this case, you will need "Dummy functions". For example, the menu programmer might make a prototype of the game so they have something to access the menu from.

Testing - Once the game is maybe 80% finished, you can start to have testers. This usually begins when the game is playable. In the case of our example, maybe the first 10 levels are playable.

Implementation/Maintainence - Now comes all of the documentation (written during coding and testing, too), and building the installer (there's many out there that you can download) to install on player's computers. Maintainence (going from analysis to coding/testing again) are bug fixes, design (gameplay) changes, fixing exploits, and expansions.

mdwh
Nov 03, 2007, 08:44 PM
I recommend http://gamedev.net for finding like minded people.

People are going to want to know what contributions you will be making - if you have "no abilities", or nothing other than ideas, it's very unlikely that people are going to want to develop your game for you. Unless you pay them money, of course.

A better approach may be to learn programming yourself - again, gamedev.net is a useful resource for this.

Chieftess
Nov 03, 2007, 08:44 PM
game not totally civ related, differences that people can vote on in different forums(hopefully the proper ones,lol)

But what KIND of game? :)

Just saying, "I'm making a game and I need help!" isn't going to get you many takers. Different programmers have different skill areas. A programmer who wants to work on a RPG doesn't want to join your team, only to find out that it's making a 2D Asteroids side scroller clone, for example.

mdwh
Nov 03, 2007, 08:49 PM
What compilier are you going to use? There is a free compilier called Dev C++, which uses many freeware addons (the best route if you don't want to give Microsoft anymore money then you have to).For free as in beer, Microsoft give away free "express" versions of their Visual Studio compilers/IDEs - see http://msdn2.microsoft.com/en-gb/express .

The Conquerer22
Nov 03, 2007, 09:53 PM
what does it do

kcwong
Nov 03, 2007, 10:13 PM
Visual Studio Express has a lot of stuff removed - those are convenient libraries, and without them, you might find it a pain in your hindquarters to code something as trivial as drawing an empty, undecorated window.

You will either need to look for 3rd party ones (there're plenty of those, and most are better than what Microsoft provided), or code at the lowest level.

If you're not doing fancy 3D graphics for a game where lightning fast response time is required, I think Java would be an easier language to start with... plus it's completely free. The development kit from Sun Microsystem is free, various great integrated development environment are free, an overwhelming amount of 3rd party libraries are free, etc.

The Conquerer22
Nov 03, 2007, 10:21 PM
ok what is the most helpful for begginers and gets the best graphics possible for begginers?

kcwong
Nov 03, 2007, 10:40 PM
Are you going to get your hands dirty and program yourself, Conquerer22?

If so, don't assume that learning how to code would be a fast process. Many programmers devoted their lives in programming... it's a skill that takes years to master, and you have to keep learning your whole life as hardware and software evolves.

You should set aside your game ideas and learn programming first - and do not focus on how to program a game. You need all the basics before you can make start learning how to make a game.



But on the other hand, if you just want to recruit programmers to implement your ideas, you would find yourself having very little luck. Look at the various game developer sites' forums... search and you will find there are literally millions of similar requests. Read the replies to those requests, and you will see why.



For learning Java, I suggest these sites:

Sun Microsystem's tutorials: http://java.sun.com/docs/books/tutorial/ They made Java, so it's the best place to learn Java.

Java Ranch: http://www.javaranch.com/ It's a Java programming site/forum that gears toward helping new Java programmers.

Bruce Eckel's "Thinking in Java" e-Books: http://www.mindview.net/ He provided the books online free... buy his book if you want a hard-copy.

Chieftess
Nov 03, 2007, 10:58 PM
ok what is the most helpful for begginers and gets the best graphics possible for begginers?

Graphics and beginners should never, ever be used in the same sentence. :p If you're starting from scratch, I would suggest getting Visual Basic (or C/C++). There are several options...

VB6 - A bit outdated, but doesn't require huge .NET framework files. You can use image files for graphics. Since you are a beginner, I would not recommend you using graphics engines like DirectX. They'll only discourage you. If you insist, let an 'expert' create one.

Dev C++ - This is the C++ compilier that's free. You can create a DOS application (easier way, but no fancy graphics), or Windows (Windows code is a bit cryptic).

Visual Studio 2003 - Uses .NET 1.1, and is the first of the .NET compiliers.

Visual Studio 2005 - Uses .NET 2.0.



From what I read in your email, and the fact that you're just starting out, I would suggest this -

Use Visual Basic 6.0 (The express versions of Visual Studio are trial versions, I think). Learn the basic controls (label, textbox, image, combobox, frame etc.). You'll need to think up an interface. Since yours is an civ themed RPG, maybe have a battle screen with 1-4 images (or however many characters you have) on one side, and several on the other side that you fight against. Use buttons as your events (fight, item, etc.).


Now, an RPG is one of the more ambitious things to program, so I would really suggest starting simple in a 'DOS' environment (Dev C++, DOS application mode).

Classic DOS RPG structure --

Graphics - Use an ASCII map, and arrow keys (you'll have to google this, BTW) to scroll the map. The center tile of the map is 'you'.

Events - Anything on the screen that you can interact with. Stepping on a tile that is a "city" will change the map. Pressing the "talk" button when facing a sprite will make them talk, or do a series of events. You will need an event engine for this.

Battles - A special screen showing sprites on each side, and a background. There is a menu option (fight/item/run, etc.). This is also an 'engine'.

Menu - Yet another, though smaller, engine.

Item database - Anything that your character can use (effectively triggers an event, or adds an effect).

Example:

* Armor - when equiped (that's another little data structure), all equiped armor values are added up.

* Health item - Adds +50 hp (not max) to the unit.

* Hammer - Creates an even that opens the item repair screen.


If your programming experience is null (that means nothing. :p), I would suggest this -

Take a programming course. You'll need to know about variables, if statements, for/while loops, arrays (containers in the Microsoft languages), functions, procedures, classes, etc.

The Conquerer22
Nov 03, 2007, 11:00 PM
thanks for the tip, maybe I can get someone to help me create the game, like someone works on the mod then I program the game later, could that work

Chieftess
Nov 03, 2007, 11:12 PM
thanks for the tip, maybe I can get someone to help me create the game, like someone works on the mod then I program the game later, could that work

That's backwards!

To create a mod, one needs the engine, or some base to work with. You can create a mod and game seperately, but you would have to do so concurrently. That is, the modmaker needs to know what functions and stuff they can use. I think what you want is a level designer, not a mod maker. RPGs generally don't use mods, and if they do, that increases the level of complexity in programming.


I'm about to go to sleep for the night, but start slowly. Make a few simple games using the code you know. i.e., if you can use a for loop and if statements, make a game that functions as a quiz, asking maybe 10 questions, and giving the result.

The Conquerer22
Nov 03, 2007, 11:22 PM
sounds fair,thanks for the tips, Im in the same boat as cheiftess, pce out lol

P.S. My bad on the mod maker thing I apologise.

oh yah one last thing add what you want so I can learn more

mdwh
Nov 03, 2007, 11:51 PM
Visual Studio Express has a lot of stuff removed - those are convenient libraries, and without them, you might find it a pain in your hindquarters to code something as trivial as drawing an empty, undecorated window.What sort of things are missing? Presumably Dev-C++ wouldn't have those either?

Edit: According to Wikipedia, it lacks "MFC, ATL, OpenMP support and 64-bit compilers, nor does it include a resource editor". Well, MFC is no great loss (and isn't available under other compilers AFAIK), as you say there are (far) better alternatives available, and I believe it's now replaced by .NET, which does work under the Express compilers. I wouldn't want a beginner to go anywhere near MFC, and on the contrary, I'd say it's a pain in their hindquarters to try using it ;)

mdwh
Nov 04, 2007, 12:01 AM
(The express versions of Visual Studio are trial versions, I think).They're not trial versions - they never expire. They just lack some features - see http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express .

(Though personally I'm still using Borland C++ Builder Pro 4 that I got off a CoverCD years ago ... mainly out of habit, I haven't bothered to move my projects over to Visual Studio!)

kcwong
Nov 04, 2007, 12:15 AM
What sort of things are missing? Presumably Dev-C++ wouldn't have those either?

Edit: According to Wikipedia, it lacks "MFC, ATL, OpenMP support and 64-bit compilers, nor does it include a resource editor". Well, MFC is no great loss (and isn't available under other compilers AFAIK), as you say there are (far) better alternatives available, and I believe it's now replaced by .NET, which does work under the Express compilers. I wouldn't want a beginner to go anywhere near MFC, and on the contrary, I'd say it's a pain in their hindquarters to try using it ;)

Agreed about MFC. ;)

But ATL is needed (maybe not for coding games), and in Express you do not have remote debug. I think attach to process is not available as well.

The Conquerer22
Nov 05, 2007, 09:01 PM
so anybody willing to help me?

The Conquerer22
Nov 07, 2007, 04:26 PM
or just can you give me advice in what would be best for me specifically and others who have no knowledge of the stuff

ParadigmShifter
Nov 08, 2007, 03:14 PM
I recommend gamedev.net too, I'm a member there.

I work full time writing games so I'm too busy to help other people except answering questions etc. for fun.

If you want to learn programming I recommend Python (www.python.org I think).

EDIT: Yikes, avoid C++ if you are learning (and MFC, which is C++ also, and ancient and rubbish and stupid and replaced by .NET forms). C# or Python.

Chieftess
Nov 08, 2007, 06:06 PM
EDIT: Yikes, avoid C++ if you are learning (and MFC, which is C++ also, and ancient and rubbish and stupid and replaced by .NET forms). C# or Python.

I know many people who would say just the opposite (learn C++ first, not Basic). Now, C++ API with DirectX... I *would* avoid with a 9 1/2 foot pole!

MarkC1
Nov 09, 2007, 02:00 AM
I know many people who would say just the opposite (learn C++ first, not Basic). Now, C++ API with DirectX... I *would* avoid with a 9 1/2 foot pole!

and those people are morons

how can you even think of giving an amateur not only the problem of discovering abstract programming concepts but also the problem of learning tedious C++ syntax as well as complete lack of automatic garbage collectors and so on.....

Chieftess
Nov 09, 2007, 05:40 AM
and those people are morons

how can you even think of giving an amateur not only the problem of discovering abstract programming concepts but also the problem of learning tedious C++ syntax as well as complete lack of automatic garbage collectors and so on.....

I guess colleges do. The first programming course (at least 10 years ago) was C/C++, and using DOS, or at least a Borland C++ 4.52 console window. We didn't have javascript or java classes, either - web programming was still in its' infancy.

ParadigmShifter
Nov 10, 2007, 06:37 AM
Well don't learn basic unless you want to program databases.

I learnt Pascal at school and then C on a training course. C isn't too bad (I wouldn't recommend it for beginners either however, my knowledge of Pascal made C alot easier).

It took me about 6 months to learn C++ to a decent level of competence, after programming in C professionally for 6 years. C++ is hard (powerful, but difficult).

EDIT: There is a saying "In C it is easy to shoot yourslef in the foot. With C++, you can blow your whole leg off and reuse the bullet".

Chieftess
Nov 10, 2007, 09:04 AM
Personally, I don't like Basic for databases. Sure, it's easier, but Basic (especially VBA in MS Access) has this tendency to want you to bind controls right to the database. One of your customers made a mistake and wants to cancel? Oh well! They can't, since when you bind a control, you effectively write to the database immediately. Of course, you can use code, but then you can't use subforms since it wants a bound form in the first place... Those are just some of the annoyences I have with VBA. :)

Shadylookin
Nov 10, 2007, 05:38 PM
and those people are morons

how can you even think of giving an amateur not only the problem of discovering abstract programming concepts but also the problem of learning tedious C++ syntax as well as complete lack of automatic garbage collectors and so on.....

I know many people who would say just the opposite (learn C++ first, not Basic). Now, C++ API with DirectX... I *would* avoid with a 9 1/2 foot pole!

Most of the programmers I know say to avoid visual basic. As far as I know there's no way to compile it in any other operating system than microsofts. which alienates mac and unix/linux users. Though i've never personally programmed in it.

The majority of recommendations are to start with python or java. At my college we started with java. Python is very popular in the open source world, plus you can customize civ4 with it.

mdwh
Nov 10, 2007, 05:48 PM
There are some BASICs out there with games programming in mind - e.g., Blitz Basic. Although traditionally BASIC has a bad reputation for a beginner's language (whilst it's easy to learn, it doesn't teach too many skills useful for learning more advanced languages), something like Blitz Basic does have the advantage of being much easier to get into games programming, where as with things like C, you'll be stuck with command line stuff for ages.

For a beginner's language more generally, I've thought Java was a good language at teaching object oriented programming (certainly much easier than C++). It also comes with 2D graphics libraries as standard, so it's easier to get started writing simple 2D games. But it won't be a great language for writing more advanced games.

If you were up for learning the likes of C/C++, I would strongly recommend using one of the various graphics or game engines out there, rather than writing it all yourself in DirectX / OpenGL (unless you have a particular interest in writing engines). There are plenty of free ones, e.g., SDL, OGRE, Irrlicht. But even then, you really want to learn general programming before you start messing around with that.

MarkC1
Nov 14, 2007, 05:06 AM
you're showing your age Chieftess :P
I didn't mean to advocate Visual Basic , just wanted to comment on recommending C++ to people coming from no programming background.

The world has moved on to .NET and Java

Chieftess
Nov 16, 2007, 07:20 PM
you're showing your age Chieftess :P
I didn't mean to advocate Visual Basic , just wanted to comment on recommending C++ to people coming from no programming background.

The world has moved on to .NET and Java

:old: You young whipper snappers! :p

(Yes, I know the world's moved on to .NET, I program using it.)