To start off with, I just lost the first incarnation of this post, so... Yeah :/

I really need another project to work on. I can currently answer most of the questions people have regarding numerous programming languages: C, C++, Java, C#(To an extent), ASM, TI Basic, and Python. Unfortunately, I have yet to write anything in some of those languages, and barely anything in others. But when I try to write stuff in those languages, I usually start getting lost, lose managability, or become unmotivated by the end of the day.

Knowing that I haven't written anything for real in these languages tends to depress me. In C#, I have written a really bad math-based-RPG that somehow got 3rd place in TSA, but the code was awful and got to be really difficult to edit. Not to mention, it didn't really use objects at all, and would have easily been switched to some procedural language like C. In C, I have written a really bad Checkers clone for the Prizm. Many parts of that project were bad, too. For instance, at the very beginning, I didn't use black for the sprites, which made it have a really odd shade of grey when displaying them. In ASM, I have written some better programs, such as the physics-y sandbox game, and an almost complete, but highly buggy, LMC interpreter.

So, I guess what I am asking is for some project that will help me get better at code managability, fast coding (as in, how fast I can get those programs working and started, as well as the speed of the finished product), and is overall pretty fun to work on. I would prefer it to be a graphical game for some library that is easy to work with. That rules out SDL, because the syntax for using it is pretty scary to me. I would also need to rule out ASM, TI Basic, and C#. The former two because I want to get more into computer-oriented programming. And the latter because I don't have Windows on this computer any more. My languages of choice for this would be C or Go, because I love the way C works, and because Go seems like it would be pretty fun, as well as easy to set up on this laptop again. I would also want to be able to work on this for about 3 days to a week, and have some pretty good game made.

With that in mind, can you all help me come up with something?
You should write a CALCnet/gCn game that you can also play on the computer using Merth's library.
souvik1997 wrote:
You should write a CALCnet/gCn game that you can also play on the computer using Merth's library.
I think that's a great idea! I would definitely enjoy helping you with what aspects of that that I can, and it certainly seems to cover all of the concerns you stated as well as two of the languages.
I would prefer not to do something in ASM if at all possible. I tend to just use ASM for when I am at home, without Internet, and bored. It takes too long for me to use it for normal programming, or for actually getting a project done. Most of the things that I do in ASM start as just random little ideas, and require that I have full attention on it. Not something I can easily do with Internet, which I would need to work with CALCnet (because of how it works, and because I would need to use the gCn server).

Would you mind giving any other ideas?
Hmm, how about a platformer written in C?
souvik1997 wrote:
Hmm, how about a platformer written in C?

Not really sure where to begin with that. When I try to do platformers (the Castlevania variety), I end up starting with a tilemapper, and then realize that I have no idea how to do smooth scrolling, or if I should draw the map and try to draw small portions of the already-rendered map to the screen. If I made it past that, somehow, I'd work on minimal physics and see if I can get collisions, then I would try to add in items, which would start to make the code hard to manage. If I somewhere got past that, I'd try to set something up for enemy movement, or maybe buttons, doors, map-switching, etc. But by that time, I really don't know what I am doing.

So I guess a better question with this is, how would I make my code managable from the beginning? Or is it one of those things that you really have to do it yourself before you start to get it?
Ooooh, how about an ASCII tilemapper -> platformer in C using ncurses? That would be pretty cool, I think. Regarding the plan that you mentioned, you sound like you have it pretty well-thought-out; what do you mean that you don't know what you're doing? It sounds to me like what you might be missing is sufficient planning before you start. I try to have a vague idea of what features my programs and games are going to have before I start, and then decide a good way to subdivide the development so that I can code and test, code and test. To take the z80 Obliterate (and the Prizm one, for that matter) as an example, I first wrote and tested the main menu, then basic map rendering, then network stuff to cycle between players, then the parabolics and damage, then scoring and game-over stuff, and finally the AIs. I had a vague idea that those were the major pieces of the development cycle before I started, so I was able to proceed in an orderly fashion. It's important to try to subdivide your code into files (although I'm a bit hypocritical on that), use in-band or out-of-band documentation, for example comments, descriptive labels or function names and variable names, or even a notepad or text document where you jot down thoughts, progress, and/or decisions that seem obvious to you at the time but might not be clear when you come back to your code after a one-week, one-month, or one-year hiatus. There are few hard-and-fast rules I can give you as far as code manageability; it's more something that you'll learn over time starting from a few good practices and figuring out what works the best for you.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement