Let's Start Coding...?


JamineBourne

Still Fresh
Joined
Jun 29, 2007
Messages
12
A while back, I put up a request for a game called "Blades of Exile" by Spiderweb Software, thinking that it would be worth getting a GP2X just to play this game in a moble manner. There were two sympathesizers and no takers. So I've decided that since nobody else will do it, I'll do it. The only problem is, I have absolute zero experience in gaming code, or source code, or linux code, or whatever it is. In other words, I'm a complete and utter lvl .01 noob in this field. How would I start on my way to porting this game to the GP2X? Is there some kind of class that I have to take, or a divine "Guide" that explains everything in two paragraphs? How do I become a dev for the GP2X? Is it a simple hobby, or a long iternis full of utter, skepith failure? Does it take years to get into or just a few weeks? (The last few questions have no real bearing if I do it or not. I'm just trying to get the scope of what I want to do.) Thanks for the help!

---------------------------------
eheu! tuus ancilla est flamma!
 
JamineBourne said:
Is it a simple hobby, or a long iternis full of utter, skepith failure? Does it take years to get into or just a few weeks? (The last few questions have no real bearing if I do it or not. I'm just trying to get the scope of what I want to do.) Thanks for the help!
Since you want to port a game of this size, it's a serious commitment. It will take months, if not years, of practice before you can actually get to work on this particular project.

I took a look at the code. It's big, complex and it's not in SDL, meaning in practical terms that you'll have to rewrite huge chunks of it. It's not a simple project. Start by making you're own games first, and once you learn to think like a programmer, you'll be able to make sense of other people's code.

Good luck!
 
Last edited by a moderator:
This question seems to be coming up on a regular basis. If you do a search you will be told that it takes months to learn programming and just as long, even longer sometimes, to develop a program. Then you will be told to that you should learn C by the the C fans, while the Fenix users will insist that you should start using Fenix.

In fact you must always write your code in C and it is really easy. All you have to do is follow Mr.jabberwocky's guides for idiots by an idiot.

My feeble contribution to the debate was to try and document the process for you. You could do a lot better than read this thread. I have posted the source code from that thread here. Two people have said they found it useful, you could be the third.

Currently I am trying to do the same thing again, but this time actually showing my sorry excuse for code as we go along, so all the leet coders can laugh at me while polishing their university degrees.

I hope I have described how to get hold of the tools you will need. It is early days yet, but there is a little bit of code already written and instructions how to get it working.

Hopefully anyone following will suffer the whole development cycle in a much shorter period of time than if they were to do it alone.

Because it is ongoing you will be able to ask questions and I, or hopefully someone who knows what they are talking about, will give you an answer.

If you would like to join in the pain and frustration, the thread is here.
 
Last edited by a moderator:
Mr.Jabberwocky said:
In fact you must always write your code in C and it is really easy.
Not a biased view at all. <_< ........

In reality you code in what ever language suits you best. I code in Fenix as I found it easy to get to grips with and have gotten good results from it. There are many other languages you may prefer as well such as python and java and then there are programs like 'game editor' which to a certain extent take away some of the effort of coding all together.

My advice is if you have no understanding of coding at all is to forget dev'ing for the gp2x for a while and start by learning to code some simple programs in 'Basic'. AFAIK most people took their first steps using basic (myself included) and although it won't be of much use dev'ing for the 2x it will help you to learn the principles of programming. Once you feel comfortable with it you can move onto more complex languages.
 
Last edited by a moderator:
ruckage said:
Not a biased view at all. <_< ........
Mr.Jabberwocky said:
....Then you will be told to that you should learn C by the the C fans...

.... In fact you must always write your code in C and it is really easy....
Feeble attempt at humor lost when written down. Sorry.

If your main objective is to port this one game then you don't really have the luxury of choosing which language to use. Fenix is a good language for beginners otherwise. I recommend C because it is what I am using in my PSSST thread.
 
Last edited by a moderator:
Mr.Jabberwocky said:
This question seems to be coming up on a regular basis. If you do a search you will be told that it takes months to learn programming and just as long, even longer sometimes, to develop a program. Then you will be told to that you should learn C by the the C fans, while the Fenix users will insist that you should start using Fenix.
Not me, I know a tiny bit of C and a fair bit of Fenix but if the user seems intelligent I recommend C. If they seem 'less gifted' then I recommend Fenix as a stop gap to get going.
 
Last edited by a moderator:
QUOTE
If your main objective is to port this one game then you don't really have the luxury of choosing which language to use.

But it's not like he'll jump right into porting that game, as his first programming work. It takes months to become comfortable with programming in general, so he might as well start with an easier language than C. How about Fenix? That's great for learning about variables, loops, as well as input, music, and graphics, all through quick and simple functions. No SDK's to set up, no lib headers to include, just a simple compile button. If I would have found Fenix before Basic, I would have chosen Fenix for sure :)

http://fenixonfire.gp32x.de/

Suggesting that his first program is a loop that prints odd numbers to a command line is not fun at all. Why not a loop that prints 10 sprites over a colourful background? It's all about having fun and seeing results, right from the beginning.

Then, get a C book. You'll understand things much better after you'll have gotten some practical experience in programming.
 
If the final aim is to port this particular game, surely it would be better to learn C from the beginning, rather than learn another language and then relearn a new one.

Learning C is the relatively easy part.

If you're using Windows, you could try building the game as is so you have a reference and then the hard work begins.

The language is only part of the problem, looking at the source, you'll need to know about Windows programming especially for the graphics - MSDN is useful for finding out what functions do (but not for learning how to do it).

You'll have to decide what you're going to replace the graphics with (SDL, Allegro or do it yourself) and port the game (on Windows) to use this. You could do the rescaling at this point.

The last bit is cross-compiling for the GP2X and changing the controls.

I think you're looking at least a year to do all this.
 
Alex. said:
Then, get a C book. You'll understand things much better after you'll have gotten some practical experience in programming.
I didn't understand C at all until I did some fenix then I understood it perfectly, I just find its often easier to create the sort of games I like to make with fenix so I haven't really pushed on with C.
 
Last edited by a moderator:
sam fisher said:
If they seem 'less gifted' then I recommend Fenix as a stop gap to get going.
Let's hope none of the thickos you recommended Fenix to reads this thread, eh ? :lol:
 
Last edited by a moderator:
Alex. said:
But it's not like he'll jump right into porting that game, as his first programming work. It takes months to become comfortable with programming in general, so he might as well start with an easier language than C. How about Fenix? That's great for learning about variables, loops, as well as input, music, and graphics, all through quick and simple functions. No SDK's to set up, no lib headers to include, just a simple compile button. If I would have found Fenix before Basic, I would have chosen Fenix for sure :)

Then, get a C book. You'll understand things much better after you'll have gotten some practical experience in programming.
Parkydr said:
If the final aim is to port this particular game, surely it would be better to learn C from the beginning, rather than learn another language and then relearn a new one.

Learning C is the relatively easy part.

If you're using Windows, you could try building the game as is so you have a reference and then the hard work begins.
Hmm... Two opposite takes. I now understand that I should start low to build up, you know, something really simple like suggested. So should I skip this "basic" language entirely and head right on to C/Fenix? What are the ups and downs of C and Fenix?

Parkydr said:
I think you're looking at least a year to do all this.
This doesn't deter me at all. In fact, I think it's good to have an ongoing hobby. Thanks for all the help guys. You did infinately better than any other forum would have been. I like the encouragement. (Mr. Jabberwocky, good idea for a thread.)
 
Last edited by a moderator:
JamineBourne said:
What are the ups and downs of C and Fenix?
I don't think basic is a serious option. Fenix is this year's basic.

The advantages of C are :

It is a compiled language not interpreted. You can distribute your work as a single file without an interpreter. It will be faster.

It has to be the best documented language in the universe - all free on the web.

It is a tiny language in itself - but there are libraries for anything you may want to do. For games, SDL seems to be the flavor around here. This too is widely documented in Web land.

For your objective, you only have to learn one language. I think this is significant.

The concepts you are going to have to learn apply across all languages. It is beyond me how using one language over another makes them any easier to learn.

I will leave it to a fenix expert to explain the advantages of fenix. I would not be able to do it justice.
 
Last edited by a moderator:
Fenix is just easier, It also allows you to do things you would do in a game much more easily. Unfortunately, its 12:31 and im too tired to write a big explanation as i've just bee wrestling with overflowing chars.
 
Hello,

You have to understand that creating a game and porting a game are two different things.

Porting a game requires technical knowledge about your system that is not directly correlated to programming skills. It's more about hacking compilation options, and make minor but not straightforward modification to the code. Starting trying to port a game with no prior knowledge of all this is likely to be extremely frustrating. In your specific case, you could first check that the code is available (mandatory), and that there is a Linux/SDL version of the game (otherwise welcome to hell).

Programming a game is much more fun for a beginner. Select a language, and try to make something very simple like pong or a basic shoot-em-up or whatever, and then you will know if you like programming or not.

Fenix seems to be a good option (I have not tried it), because you can develop on your PC, then easily port your games to GP2X (it is possible in C/Linux too, but a bit less straightforward).
 
hal9000 said:
Hello,

You have to understand that creating a game and porting a game are two different things.

Porting a game requires technical knowledge about your system that is not directly correlated to programming skills. It's more about hacking compilation options, and make minor but not straightforward modification to the code. Starting trying to port a game with no prior knowledge of all this is likely to be extremely frustrating. In your specific case, you could first check that the code is available (mandatory), and that there is a Linux/SDL version of the game (otherwise welcome to hell).

Programming a game is much more fun for a beginner. Select a language, and try to make something very simple like pong or a basic shoot-em-up or whatever, and then you will know if you like programming or not.

Fenix seems to be a good option (I have not tried it), because you can develop on your PC, then easily port your games to GP2X (it is possible in C/Linux too, but a bit less straightforward).
Thanks! I appreciate your feedback. There is a source code for the game, but I'm pretty sure that there's no Linux/SDL version. :( Mabye once I get some knowledge of programming, I might be able to make some kind of clone of it...
 
Last edited by a moderator:
Back
Top