LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 10-05-2011, 03:11 PM   #16
frieza
Senior Member
 
Registered: Feb 2002
Location: harvard, il
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233

Rep: Reputation: 406Reputation: 406Reputation: 406Reputation: 406Reputation: 406

sounds like a good idea, the best idea would be to use baby steps
here's what i would suggest
1) flesh out what you have already
2) separate out the storage of data into a database
3) separate the logic of the game from the user interface using an api (local function calls)
4) create a network based interface using the api you created in step 3
5) design a basic network based client using the existing interface, re-worked to work with the network based interface.

after that, then you can wory about what kind of graphical interface another consideration later on down the road will also be user authentication for network based games, that way rule breakers can be banned from using the server.

good luck
 
2 members found this post helpful.
Old 10-06-2011, 01:50 AM   #17
anon02
Member
 
Registered: Aug 2011
Posts: 223

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by frieza View Post
sounds like a good idea, the best idea would be to use baby steps
here's what i would suggest
1) flesh out what you have already
2) separate out the storage of data into a database
3) separate the logic of the game from the user interface using an api (local function calls)
4) create a network based interface using the api you created in step 3
5) design a basic network based client using the existing interface, re-worked to work with the network based interface.

after that, then you can wory about what kind of graphical interface another consideration later on down the road will also be user authentication for network based games, that way rule breakers can be banned from using the server.

good luck
Nice ideas, I will probably implement them when I get 1.0_0 out of the door, hopefully this Saturday. I redesigned the website, polished the new game features, and have some more web stuff to do before it can go out.
 
Old 10-06-2011, 05:44 AM   #18
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by frieza View Post
one more thought
as for client interface, a terminal interface using ncurses would probably be the easiest from a coding stand point, but least appealing to the masses these days
Quote:
Originally Posted by frieza View Post
sounds like a good idea, the best idea would be to use baby steps
here's what i would suggest
1) flesh out what you have already
2) separate out the storage of data into a database
3) separate the logic of the game from the user interface using an api (local function calls)
4) create a network based interface using the api you created in step 3
5) design a basic network based client using the existing interface, re-worked to work with the network based interface.

after that, then you can wory about what kind of graphical interface another consideration later on down the road will also be user authentication for network based games, that way rule breakers can be banned from using the server.

good luck
IMO, that's overkill/not a good advice. I'd advise to keep things simple as long as possible, and add features only when they're required and program cannot be improved without adding them. If OP follows your advice, it might easily take 11 years to finish the program, as it happened with ADOM. I already saw several projects destroyed by this kind of thinking - "let's add feature X! OOOH, let's also add feature Y!!! Let's make it 3d and revolutionary!!! Let add shaders" (and a year later development team still doesn't have a single playable demo. Pathetic...).

The best advice I could give is to code as little as possible, but make sure that your code is human-readable, easy to maintain, and implements all features you need. Minimum amount of code with maximum functionality. Once you start worrying about "client-server" architechture and "multiplayer functionality" at early stages of development, you'll wander off into magical fantasy land and will spend next 50 years in total bliss writing unnecessarry obscure features that will not improve your program in any way, but will eat your development time and increase program resource usage. See YAGNI for more info. Even if you THINK you'll need something later, don't implement it now, since it is very likely that this feature will not be necesary or there will be different way to implement it. Always concentrate on current task and nothing else. Your main goal is to complete program and fix bugs. Everything else is secondary.

Quote:
Originally Posted by frieza View Post
as for graphical you will have a choice, either 2d graphics or 3d graphics, 2d will probably be easier in some ways, it all depends on what you intend, and whether you ether know how to make 3d models and skin them or not, or how good you are with 2d graphic maniuplation tools such as the GIMP
2D and 3D requires artists. If you don't have artists (or money to hire one), you should forget about it.

Last edited by SigTerm; 10-06-2011 at 06:11 AM.
 
Old 10-06-2011, 10:04 AM   #19
anon02
Member
 
Registered: Aug 2011
Posts: 223

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by SigTerm View Post
IMO, that's overkill/not a good advice. I'd advise to keep things simple as long as possible, and add features only when they're required and program cannot be improved without adding them. If OP follows your advice, it might easily take 11 years to finish the program, as it happened with ADOM. I already saw several projects destroyed by this kind of thinking - "let's add feature X! OOOH, let's also add feature Y!!! Let's make it 3d and revolutionary!!! Let add shaders" (and a year later development team still doesn't have a single playable demo. Pathetic...).

The best advice I could give is to code as little as possible, but make sure that your code is human-readable, easy to maintain, and implements all features you need. Minimum amount of code with maximum functionality. Once you start worrying about "client-server" architechture and "multiplayer functionality" at early stages of development, you'll wander off into magical fantasy land and will spend next 50 years in total bliss writing unnecessarry obscure features that will not improve your program in any way, but will eat your development time and increase program resource usage. See YAGNI for more info. Even if you THINK you'll need something later, don't implement it now, since it is very likely that this feature will not be necesary or there will be different way to implement it. Always concentrate on current task and nothing else. Your main goal is to complete program and fix bugs. Everything else is secondary.


2D and 3D requires artists. If you don't have artists (or money to hire one), you should forget about it.
Nice tips. I have a weird sort of method of making it, with a short (2 day) roadmap, and then a longer (90 day) roadmap. The 2 day one I have where I talk to people, get ideas, organise them, sort them into importance (A major bug will be higher than a weapon idea) and try to get them done in 2 days. If I cannot, I put them to the next 2 days, and order it. This may seem stupid as one idea which takes a while may not get done, but eventually I will find space.
That way I work on one thing but know what the next is so I can work around that. The 90 day roadmap is that every 90 days I have 10 days to get to *.1_0, 10 more for *.2_0, 10 more for *.3_0, and so on, so I can be able to get the next release candidate out. In the case of 1.0_0 it has gone over to 119 days as I found quite a large bug, fixed it, and then had to get the website ready after that. Both are just targets, it does not matter if I do not reach them. As for requiring artists for the art, I use GIMP to render images (The lava tool is awesome), but cannot do that much. I may just keep to terminal based for now.
 
Old 10-06-2011, 10:42 AM   #20
frieza
Senior Member
 
Registered: Feb 2002
Location: harvard, il
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233

Rep: Reputation: 406Reputation: 406Reputation: 406Reputation: 406Reputation: 406
Quote:
Originally Posted by SigTerm View Post
IMO, that's overkill/not a good advice. I'd advise to keep things simple as long as possible, and add features only when they're required and program cannot be improved without adding them. If OP follows your advice, it might easily take 11 years to finish the program, as it happened with ADOM. I already saw several projects destroyed by this kind of thinking - "let's add feature X! OOOH, let's also add feature Y!!! Let's make it 3d and revolutionary!!! Let add shaders" (and a year later development team still doesn't have a single playable demo. Pathetic...).

The best advice I could give is to code as little as possible, but make sure that your code is human-readable, easy to maintain, and implements all features you need. Minimum amount of code with maximum functionality. Once you start worrying about "client-server" architechture and "multiplayer functionality" at early stages of development, you'll wander off into magical fantasy land and will spend next 50 years in total bliss writing unnecessarry obscure features that will not improve your program in any way, but will eat your development time and increase program resource usage. See YAGNI for more info. Even if you THINK you'll need something later, don't implement it now, since it is very likely that this feature will not be necesary or there will be different way to implement it. Always concentrate on current task and nothing else. Your main goal is to complete program and fix bugs. Everything else is secondary.
um I think you missed my point
each bullet point I listed is supposed to be a separate major release version, and yes I realise it would take years
I was simply suggesting a logical order of how things should be built onto each other as the game evolves so the op DOESN'T end up biting off more then they could proverbially chew
perhaps step 1 should have been 'have a clearly defined set of goals before starting', i've seen projects end up in development hell myself, having been involved in such a project
I said baby steps after all, not follow all my steps in one go.

Quote:
Originally Posted by SigTerm View Post
2D and 3D requires artists. If you don't have artists (or money to hire one), you should forget about it.
well yeah, but that's why i suggested a minimal interface first, then see if the op can't get some artists, or learn some art.
 
Old 10-06-2011, 10:48 AM   #21
anon02
Member
 
Registered: Aug 2011
Posts: 223

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by frieza View Post
um I think you missed my point
each bullet point I listed is supposed to be a separate major release version, and yes I realise it would take years
I was simply suggesting a logical order of how things should be built onto each other as the game evolves so the op DOESN'T end up biting off more then they could proverbially chew
perhaps step 1 should have been 'have a clearly defined set of goals before starting', i've seen projects end up in development hell myself, having been involved in such a project
I said baby steps after all, not follow all my steps in one go.


well yeah, but that's why i suggested a minimal interface first, then see if the op can't get some artists, or learn some art.
I might take some of your ideas to the later on editions (4.0_0 and higher, I have ideas for 2.0_0 and 3.0_0, yet nothing for 4.0_0 and higher...)
 
Old 10-06-2011, 11:55 AM   #22
frieza
Senior Member
 
Registered: Feb 2002
Location: harvard, il
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233

Rep: Reputation: 406Reputation: 406Reputation: 406Reputation: 406Reputation: 406
exactly, i was simply suggesting an order of operations where one step would build upon the previous, not a timetable or versioning scheme of any sorts
 
Old 10-07-2011, 01:15 AM   #23
anon02
Member
 
Registered: Aug 2011
Posts: 223

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by frieza View Post
exactly, i was simply suggesting an order of operations where one step would build upon the previous, not a timetable or versioning scheme of any sorts
As I said in my previous post, I will probably look into your ideas for the later versions. I have the website ready, and have a few more bugs in the program, and I am still working on release artwork, I may be able to get it out soon.
 
Old 10-07-2011, 12:19 PM   #24
frieza
Senior Member
 
Registered: Feb 2002
Location: harvard, il
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233

Rep: Reputation: 406Reputation: 406Reputation: 406Reputation: 406Reputation: 406
very nice, i look forward to seeing what you have put together
 
Old 10-07-2011, 04:17 PM   #25
anon02
Member
 
Registered: Aug 2011
Posts: 223

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by frieza View Post
very nice, i look forward to seeing what you have put together
I added a villain mode ready for multiplayer, the first release candidate will be out hopefully tommorow
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
GUI Interface nealt Linux - Newbie 6 09-19-2009 08:11 AM
Bind gui interface bdavide Linux - Newbie 5 06-15-2008 08:12 AM
GUI interface to mplayer praveen_repelle Linux - Desktop 2 02-01-2007 05:38 AM
C user interface gui rino.caldelli Programming 2 01-07-2006 02:10 PM
SU under a gui interface??? TuxNewb Linux - Newbie 4 12-07-2003 06:19 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 04:36 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration