Any other programmers here?

Dirty Dog

Avatar by CnC ^^
Majin Tenshi said:
From what I've read about you lot wanting to make a Berserk game, I'd suggest you take the approach I've taken with all my major programming projects: Work in stages of functionality. Start out with simple goals, but design those goals so that they can be advanced upon. WIth something like flash, I think you'll hit a wall at some point, I recomend C++.
I agree completely here.

My last 3d project was with openGL, and I've always had a good head for "spatial reasoning," so a 3d game doesn't sound too bad. I'm vaguely competent1 with 3d graphics , but I've always done movie level poly counts rather then game level.

The biggest problem I see is I don't know the math for 3d collisions with rotations. I've considered it some and haven't been able to devise an effective approach myself. I think that means its either annoyingly simple or mind-numbingly complex (or maybe in a way, both). I imagine its something that wouldn't be too hard to look up, but I consider not being able to effectively solve one of the fundamental problems of the project myself to be a bad sign.

If you're tallent pool doesn't have a head for it though, I s'pose its a bad idea.
Well, I suck at spacial reasoning. :( So you've definitely got me beat there...
And yeah, I don't think we've got the necessary knowledge available atm, so 3D would be a bad idea.

From what I can tell, we've got a wide variety of skill levels here. Unless I misread, we've got novice, college, and career level programmers. Now I've never really worked on a group project2, but the varying skill levels in this group seem like an extra complication in addition to the normal dificulties.
If you're calling me a novice because I'm self educated, that's a bit off. I've dedicated most of my spare time over the past two years to learning programming, although I do unfortunately lack knowledge of uncommonly used libraries that are really necessary for the type of stuff i want to do (boost.asio, IOCP, etc) due to lack of decent examples (and documentation) online from which to learn.

However; I know WINAPI (this includes windows as well as processes/threads/fibers), OpenGL (never really tried 3D though), Windows GDI, Common Controls and Common Dialogs, Windows Sockets, GLFW (small cross-platforming library for OpenGL), GMP, SDL, Win32 SEH, etc.
I also know basic assembly (not enough to create a useful application from scratch, but enough where I inline it in nearly all of my programs), which isn't really much to brag about but it's a useful bit of knowledge for sure.
I could go on and on, but I'm sure you get my point by now.

That is because a real degree usually requires at least a year and a half worth of genEd stuff so if you are talking about an associates which is a 2 year degree, the genEd portion will dominate it. If you want short termed focused studies then you would be better off doing certifications; it is advisable in many cases really. It does not take a CS major to be your average network or system Admin. Those kinds of certifications take 6 months to a year.
Well, I showed the necessary classes and stuff to the old school x86 programmer I mentioned a few posts ago and he told me not to waste my time. He also says not to waste my money on programming certifications, apparently most employers won't take them for a position requiring real programming ability. I've also checked a few of them out and they all seem really stupid, mostly based on knowing how to use a specific tool (for example, almost all of Microsoft's programming certifications require extensive .NET knowledge, which to me is the most useless programming tool out there).


What development tools are you guys using for C++? I have DevC++ and Borland Builder at the moment. Not sure yet what my class will use in the fall though.
I use Dev-C++ sometimes, Code::Blocks other times. Mainly depends on the size of the project, I prefer Code::Blocks for large projects because it's easier to manage large codes and it compiles more intelligently. Dev-C++ doesn't take long to load (Code::Blocks takes about a minute for me), so I use that for quickie stuff.
I had Visual Studio 2005 express for awhile but never used it for anything but debugging (disasm rox).
 

Majin_Tenshi

The can opener went bye-bye...
Dirty Dog said:
If you're calling me a novice because I'm self educated, that's a bit off. I've dedicated most of my spare time over the past two years to learning programming, although I do unfortunately lack knowledge of uncommonly used libraries that are really necessary for the type of stuff i want to do (boost.asio, IOCP, etc) due to lack of decent examples (and documentation) online from which to learn.

However; I know WINAPI (this includes windows as well as processes/threads/fibers), OpenGL (never really tried 3D though), Windows GDI, Common Controls and Common Dialogs, Windows Sockets, GLFW (small cross-platforming library for OpenGL), GMP, SDL, Win32 SEH, etc.
I also know basic assembly (not enough to create a useful application from scratch, but enough where I inline it in nearly all of my programs), which isn't really much to brag about but it's a useful bit of knowledge for sure.
I could go on and on, but I'm sure you get my point by now.
Hell, I'll be the novice if ya like. I don't have much of an idea how I rate in the world at large. My university is fairly small, and has a smaller CIS department. Out of the traditional students, I'm the big fish in the small pond. (don't have a sense for the older students anyways, and my perceptions might be skewed by being the tutor)

I value "understanding" well above "knowing stuff." I know very few libraries. I've barely touched C++, the class I coded a game for in it had a prebuilt game engine so I didn't even have to write any classes. I'm comfortable with javax.swing.*, basic C, I got what I needed from OpenGL. I've done a few other things but I couldn't just sit down and start coding them.

One of the funniest things in my little pond is that the people in the classes I'm in get the impression that I know everything before I take the class. In actuality, I just work out the implementation from the introduction. Without the introduction, I wouldn't know much more then them, and would be lucky to even figure out where to start looking if I needed the concept. I'm far to lazy to be really self taught.

My point was that that we've got a variety of skill levels and I suspect the relevance of each individual's knowledge base is equally varied. I haven't really had any group projects but I'm guessing that its more difficult when people don't know what contributions to expect from each other. Harder still when individuals don't know what they can expect from themselves.
 

Dirty Dog

Avatar by CnC ^^
Majin Tenshi said:
Hell, I'll be the novice if ya like. I don't have much of an idea how I rate in the world at large. My university is fairly small, and has a smaller CIS department. Out of the traditional students, I'm the big fish in the small pond. (don't have a sense for the older students anyways, and my perceptions might be skewed by being the tutor)
I'd say I'm intermediate in practice and knowledge, but novice in theory; whereas those of you in college are probably intermediate/advanced in all three.

I value "understanding" well above "knowing stuff." I know very few libraries. I've barely touched C++, the class I coded a game for in it had a prebuilt game engine so I didn't even have to write any classes. I'm comfortable with javax.swing.*, basic C, I got what I needed from OpenGL. I've done a few other things but I couldn't just sit down and start coding them.
Yeah, I actually understand a good deal of the API/Libraries I listed, though. =P
OpenGL still confuses me a bit sometimes, admittedly. Those damn matrices! :troll:

One of the funniest things in my little pond is that the people in the classes I'm in get the impression that I know everything before I take the class. In actuality, I just work out the implementation from the introduction. Without the introduction, I wouldn't know much more then them, and would be lucky to even figure out where to start looking if I needed the concept. I'm far to lazy to be really self taught.
Well, I can't claim I didn't have help at the start. I learned Java though AP Computer Science in high school. In fact I got a 4 on the AP Computer Science AB exam :p. Once I had learned one Object-Oriented C-syntax language, learning a new one on my own was easy enough.

My point was that that we've got a variety of skill levels and I suspect the relevance of each individual's knowledge base is equally varied. I haven't really had any group projects but I'm guessing that its more difficult when people don't know what contributions to expect from each other. Harder still when individuals don't know what they can expect from themselves.
Well, that's the beauty of working in a team. We can each take a job that we're best suited for. For example, I'm best suited for code organization and hand optimization. I'm capable of doing implimentation as well, but I'm willing to bet that you or Serpico would be better at that than I am.
 

Serpico

Farnese is the bomb diggity
Dirty Dog said:
Well, I showed the necessary classes and stuff to the old school x86 programmer I mentioned a few posts ago and he told me not to waste my time. He also says not to waste my money on programming certifications, apparently most employers won't take them for a position requiring real programming ability. I've also checked a few of them out and they all seem really stupid, mostly based on knowing how to use a specific tool (for example, almost all of Microsoft's programming certifications require extensive .NET knowledge, which to me is the most useless programming tool out there).

I use Dev-C++ sometimes, Code::Blocks other times. Mainly depends on the size of the project, I prefer Code::Blocks for large projects because it's easier to manage large codes and it compiles more intelligently. Dev-C++ doesn't take long to load (Code::Blocks takes about a minute for me), so I use that for quickie stuff.
I had Visual Studio 2005 express for awhile but never used it for anything but debugging (disasm rox).

Well, that is somewhat true about the certifications by themselves. You are going to need to have projects and experience listed with it. Sometimes the people doing the hiring don't really know what they are looking for but they want to see some formal educational achievement listed. That is about the extent of what it is good for. On the flip side to that some people THINK they need a CS grad when they don't. You always have the option to freelance though or develop software on your own.

I picked up code::blocks, SDL, and ogre3D yesterday. CB loads fine for me and seems better than DevC++. Gonna mess with those when I have the free time. As of right now I have limited knowledge of C++ syntax and libraries. Flash bypasses the need for multimedia libraries so thats more realistic for me until I get a chance to familiarize myself with what I need to develop in C++.

Dirty Dog said:
I'd say I'm intermediate in practice and knowledge, but novice in theory; whereas those of you in college are probably intermediate/advanced in all three.


I am sure you are still ahead of me in practice. As you said getting a degree requires that I waste time on english classes and social sciences, and it is quite true. I have a solid grasp of the fundamentals, and theory, but not a lot of free time to implement and experiment.

Well, that's the beauty of working in a team. We can each take a job that we're best suited for. For example, I'm best suited for code organization and hand optimization. I'm capable of doing implementation as well, but I'm willing to bet that you or Serpico would be better at that than I am.

It would be jumping the gun a little for me right now. However, I am not against the idea. The 2 algebra classes I am in now will finish next month, then this fall I am taking, algorithm design, C++ programming, and trigonometry/calculus. At that point I would be willing to start working on a project. In spring, I have advanced C++ and more algorithm, design and math classes. (All will be a huge help, especially the maths for 3D)

Assuming we were organized by then, and if by chance Greyscale does more character models, and would allow us to use them I think a 3D project would work out. I know myself and several others can do object modeling.

And of course, GNM would write the plot :carcus:
 

Dirty Dog

Avatar by CnC ^^
Serpico said:
Well, that is somewhat true about the certifications by themselves. You are going to need to have projects and experience listed with it. Sometimes the people doing the hiring don't really know what they are looking for but they want to see some formal educational achievement listed. That is about the extent of what it is good for. On the flip side to that some people THINK they need a CS grad when they don't. You always have the option to freelance though or develop software on your own.
Yeah; like I said I'm learning for myself.. I'll develop on my own (or with friends), as I do now. I'll also probably try out rentacoder.com sometime, a friend of mine suggested that to me.

I picked up code::blocks, SDL, and ogre3D yesterday. CB loads fine for me and seems better than DevC++. Gonna mess with those when I have the free time. As of right now I have limited knowledge of C++ syntax and libraries. Flash bypasses the need for multimedia libraries so thats more realistic for me until I get a chance to familiarize myself with what I need to develop in C++.
CB loads fine for you? Might just be because my computer's 3 years old.
As for the C++ syntax, it's almost identical to Java's (minus a things it inherited directly from C).


It would be jumping the gun a little for me right now. However, I am not against the idea. The 2 algebra classes I am in now will finish next month, then this fall I am taking, algorithm design, C++ programming, and trigonometry/calculus. At that point I would be willing to start working on a project. In spring, I have advanced C++ and more algorithm, design and math classes. (All will be a huge help, especially the maths for 3D)
Maybe this time next year you could teach me a thing or two. I won't have enough time to continue learning at the rate I've learned over the last two years soon, so you'll probably at least be my equal.

Assuming we were organized by then, and if by chance Greyscale does more character models, and would allow us to use them I think a 3D project would work out. I know myself and several others can do object modeling.

And of course, GNM would write the plot :carcus:
Sounds like a decent idea. Maybe by then I'll have a bit more 3D experience/knowledge, too. >.<
 
Not that anyone asked for my opinion, but my basic thought is that a small, quick, simple and fun Flash game would be better than a more complicated 3D "game." Maybe a side scroller with Chibi characters, or a Dragon Quest style RPG, etc. I think those ideas might fairly feasible for a single person / small team volunteer project.

3D might seem easier, and to a certain point it is, but it also has its problems... Specifically, I find it rather more difficult to create comic/comically styled 3D art. If you plan on going for a realistic art style, that's more than likely also dictating the tenor of your game. I don't know about anyone else, but I have very different expectations for a lighthearted Flash game than a more serious looking 3D endeavor. Meeting those expectations is damn hard these days just because there's so much good stuff already available.
 
A programmer here as well. I know assembling language, C++, VB, VAL3 (for industrial robotic arms) and ladder programming for Programmable Logic Controllers. Regarding 3dmodeling and animation I would recommend Cinema4D since it's learning curve isn't to steep.
 

Serpico

Farnese is the bomb diggity
Denial said:
Not that anyone asked for my opinion, but my basic thought is that a small, quick, simple and fun Flash game would be better than a more complicated 3D "game." Maybe a side scroller with Chibi characters, or a Dragon Quest style RPG, etc. I think those ideas might fairly feasible for a single person / small team volunteer project.

You are right, and personally I intend to update my flash project. I'm still interested in trying to code something a bit more high end than that though, both for the challenge, and the learning and experimenting involved.

ELEKTRO said:
A programmer here as well. I know assembling language, C++, VB, VAL3 (for industrial robotic arms) and ladder programming for Programmable Logic Controllers. Regarding 3dmodeling and animation I would recommend Cinema4D since it's learning curve isn't to steep.

I've used Maya, 3Dstudio, and Blender. I got the farthest in Maya. C4D looks good, but I probably intend to avoid doing modelling as much as I can till I have a clear schedule.
 

Dirty Dog

Avatar by CnC ^^
ELEKTRO said:
A programmer here as well. I know assembling language, C++, VB, VAL3 (for industrial robotic arms) and ladder programming for Programmable Logic Controllers. Regarding 3dmodeling and animation I would recommend Cinema4D since it's learning curve isn't to steep.
Free program?
I've only used blender personally, but I found it fairly hard and stopped after figuring out how to make some very basic stuff like weapons.

also, I find it odd that you listed VB and assembly together. I'm guessing you only learned it because it's so commonly used now, right? :troll:
 
Well, 5 years ago I programmed in C and C++, in Borland's Builder 4 and 5, just for graduation works, never by hobby. Did all that generic data holders (queues, stacks, trees, hash table..) sorting algorithms.. anyway, I still can use pointers :guts:, but never got into serious projects, and I would like to improve my studies..
Actually I turned to Java for like 2 years, and I think it has a perfect enviroment to program any gaming programming tools, like map editors, sprite and animation editors.. . For the game engine itself, I still think C++ should be the choice, obviously for performance issues in Java , along with a well documented API like Allegro, and SDL. But a 2D game entirely in Java runs OK in most low level machines.

Anyway, I agree to the opinion to stick to little projects first. I was planning to start a Mugen fighter editor this July vacation, using Java, the Eclipse project is still on the scratch.
A side scroll 2d game may not be a challenge for most guys here, but to get straightly in OpenGL may be a wrong, hard step. I've seen a guy going berserk in the laboratory once, trying to make colision boxes to work.

It would be great to start a project with people here. Great opportunity for learning
 
I'm a simulation programmer working on a Homeland Security project at the moment. Most of my work over my programming life has been with 3D graphics, 3D physics, and artificial intelligence, so I am capable of making a 3D engine from scratch(and have done so). For those of you pondering the question of 2D or 3D game development, I'll just tell you bluntly : make a very simple 2D game with a very small group of people. And you probably shouldn't look at C or C++ unless you've completed some large projects beforehand.

Writing large projects in C\C++ is a very delicate thing that usually requires several miserable failures before the first success. The first large 3D graphics project I ever attempted was to write a rendering engine that would load Quake 3 Maps and character files. It took me close to a year to get it working properly, but some memory mismanagement issues created a bug that would cause the renderer to tint everything purple randomly. So one out of 3 times I ran the thing, the graphics would all be tinted purple. I never found the memory overflow that caused it. C\C++ allows you to shoot yourself in the foot very easily. I've perfectly workable 3D engines since then, but that first one was a partial failure. Nobody wants to play a game that randomly turns purple.
 

Dirty Dog

Avatar by CnC ^^
mike.william said:
I'm a simulation programmer working on a Homeland Security project at the moment. Most of my work over my programming life has been with 3D graphics, 3D physics, and artificial intelligence, so I am capable of making a 3D engine from scratch(and have done so). For those of you pondering the question of 2D or 3D game development, I'll just tell you bluntly : make a very simple 2D game with a very small group of people. And you probably shouldn't look at C or C++ unless you've completed some large projects beforehand.

Writing large projects in C\C++ is a very delicate thing that usually requires several miserable failures before the first success. The first large 3D graphics project I ever attempted was to write a rendering engine that would load Quake 3 Maps and character files. It took me close to a year to get it working properly, but some memory mismanagement issues created a bug that would cause the renderer to tint everything purple randomly. So one out of 3 times I ran the thing, the graphics would all be tinted purple. I never found the memory overflow that caused it. C\C++ allows you to shoot yourself in the foot very easily. I've perfectly workable 3D engines since then, but that first one was a partial failure. Nobody wants to play a game that randomly turns purple.

That's what I love about C/C++, though. It's incredibly close to the hardware; in fact I believe they are the only high-level languages that are low-level enough to allow direct memory access (int*) (also one of the few that allows inlining of assembly, although unfortunately the assembly syntax differs from compiler to compiler). Sure, that leaves you open to more fuck-ups, but most of those fuck-ups would be doable in VB or C# or Java too...

Also, you could simply use C/C++ to do the core work (IE, any graphics and networking) and compile them into libraries for use in another language (such as VB), which would be used for continued development. That way you'd have the benefit of being close to the hardware where it really counts, but far enough from the hardware during the continued development to keep you from needing countless hours of debugging over a novice error.
 

Majin_Tenshi

The can opener went bye-bye...
Dirty Dog said:
Sure, that leaves you open to more fuck-ups, but most of those fuck-ups would be doable in VB or C# or Java too...

I disagree. Well, I don't know much about how VB really works, and nothing about C#, but I've spent plenty of time with java. C++ allows for memory leaks, java doesn't. While conceptualy simple, pointers can be complicated to implement, they're transparent in java. Java forces you to do exception handleing in some situations, which is another way you can screw up a C++ program.

At my university, most of the teaching is done in Java. The students comeing out mostly have never dealt with C++ or the above mentioned problems. I wish I had more opportunity to do worthwhile stuff with C++.
 

Dirty Dog

Avatar by CnC ^^
Majin Tenshi said:
I disagree. Well, I don't know much about how VB really works, and nothing about C#, but I've spent plenty of time with java. C++ allows for memory leaks, java doesn't. While conceptualy simple, pointers can be complicated to implement, they're transparent in java. Java forces you to do exception handleing in some situations, which is another way you can screw up a C++ program.

At my university, most of the teaching is done in Java. The students comeing out mostly have never dealt with C++ or the above mentioned problems. I wish I had more opportunity to do worthwhile stuff with C++.
True, some of those fuck-ups aren't possible in the languages I listed, mostly because they don't allow direct memory pointers.
And Java's one of the main reasons I decided not to go to college, I didn't want to spend 4 years studying a language like that.
 

Majin_Tenshi

The can opener went bye-bye...
Dirty Dog said:
True, some of those fuck-ups aren't possible in the languages I listed, mostly because they don't allow direct memory pointers.
And Java's one of the main reasons I decided not to go to college, I didn't want to spend 4 years studying a language like that.

Well, KU, where I might be doing graduate studies, teaches in C++ as I understand it. I am slightly concerned about makeing the adjustment.
 
Dirty Dog said:
Free program?
I've only used blender personally, but I found it fairly hard and stopped after figuring out how to make some very basic stuff like weapons.

also, I find it odd that you listed VB and assembly together. I'm guessing you only learned it because it's so commonly used now, right? :troll:

Cinema4D isn't free but there is always google . VB is great for making quick applications and a must have for any engineer interested in making his life easier.

Knowledge in electronics, logic circuits and assembling language can give you a whole different perspective on how processors work, how to modify them and finally how to improve them. Right now I am working on learning Fuzzy logic to use them mostly for programming of control systems. I am first going to try and implement it to an inverse pendulum that we have at work to see if I can improve the time it takes for the system to stabilize itself. Below is an example of one

http://video.google.com/videoplay?docid=707656243872363793&q=pendulo+invertido&total=11&start=0&num=10&so=0&type=search&plindex=1
 

Serpico

Farnese is the bomb diggity
ELEKTRO said:
Knowledge in electronics, logic circuits and assembling language can give you a whole different perspective on how processors work, how to modify them and finally how to improve them. Right now I am working on learning Fuzzy logic to use them mostly for programming of control systems. I am first going to try and implement it to an inverse pendulum that we have at work to see if I can improve the time it takes for the system to stabilize itself. Below is an example of one

http://video.google.com/videoplay?docid=707656243872363793&q=pendulo+invertido&total=11&start=0&num=10&so=0&type=search&plindex=1

Thats pretty neat. Technology like that will come in handy for the robots when they take over the earth so that they don't lose their footing and make fools of themselves in front of us organics.
 
Serpico said:
Thats pretty neat. Technology like that will come in handy for the robots when they take over the earth so that they don't lose their footing and make fools of themselves in front of us organics.

yeah so asimos grandchildren don't fall down some stairs
 
Top Bottom