Remember the ninja rope in Worms? Well I suddenly got an idea to make a simple gung-ho action game of swinging, dodging and destructing. My knowledges in C or C++ is simply inexistant and I seek YOU with the lust to help me write the engine. I would take care of all graphics and other conceptual design issues (but if you're eager to participate in those fields, I won't shunt you away). The game is to be simple and focused on good arcade gameplay.
-Linus
Anyone? The premise is very much like Wik and the Fable of lost souls, albeit the collecting and puzzleing is exchanged for brainless destruction.
If you're interested in what I can contribute graphics wise, check out www.riotamot.com.
Sounds like an interesting concept (who didn't enjoy the ninja ropes?). I bet you'll find someone to programme it for you, being an awesome artist and the author of the legendary Permanent Daylight.
I'd help you out if I wasn't nearing my last semester of college.
I hope you get a nibble.
-MillsJROSS
It seems you're not actually looking for a 'C-Wiz', but for someone who's good at coding platformers. Luckily, you don't need to delve into the deeper complexities of C/C++ to do rope swinging and whatnot.
Do you know http://www.gamedev.net? If you're looking for C-programmers, this is a good place to start. There's a 'Help Wanted' forum, too.
Good luck! :)
Is it your intention to create this game completely from scratch? If not, I'd suggest taking a look at Game Maker (http://gamemaker.nl/), which seems to be a pretty good program for making action games (kind of the "AGS of platformers," in my opinion). Although you're encouraged to register it (20 USD or 15 Euros), you can make complete games with the free version.
I also agree that Game Maker is the ideal route if you want to make a platformer with a minimum of fuss. I coded a grappling hook rope swinging thing for Ninja Mon quite easily in it using line draw and collision functions, and I believe someone even wrote some kind of rope type script for it if you don't want to do it yourself.
Mapping out the concept of how to do it is rather basic, actually. Wherever the rope is tied to is considered the source or start point and is fixed, while the end points for the rope vary based on how you want it to perform (does it swing back and forth like a pitfall rope, does it swing realistically, etc). Obviously, realistic swinging motion requires more than simple line draw routines, but you can actually get a pretty close effect just using an animated sprite as well. It really depends on how much effort you want to put into it and how you want the rope to perform. In the case of getting a simple rope that fires from the character to a location, it's absolutely trivial in Game Maker. You just create an object that is 'thrown' from the player to some location (perhaps the mouse cursor position) and then a line is drawn from the player to that point. In the case of it hitting something to cling to, a simple collision check is made and the object is held there, and then you allow the player to swing towards it using basic angle calculations. This is probably more than you wanted to know, but if you decide to check out Game Maker it could be useful.
Why do it in Game Maker when he could have someone do it in C?
I say make some of the art and then post on some forums. Not only might it spark more people's interest, but you'd get more actual coders and less newbies that think they rule because they can make Tic-Tack-Toe.
Because it would be easier to design a platformer in Game Maker than to do it from scratch? That's like saying why use AGS when someone could just code an adventure game maker for you...But wait, someone did!
I think if anything, this would be a good excersize for any programmers to try their hand at making a simple engine. Game Maker will decrease production time, though. It's just a question of if a programmer wants this to be a learning experience, or just wants to help someone make a game.
-MillsJROSS
Quote from: Evil on Fri 04/08/2006 03:01:33Why do it in Game Maker when he could have someone do it in C?
Using Game Maker (or AGS) handles all the dirty work for you, allowing you to focus on creating the game itself.
Think about it. If you were doing this from scratch, you'd have to write code to:
- directly read input from the keyboard/mouse/joystick
- display graphics on the screen, probably with different subroutines to support different graphics card
- play audio on the speakers, again with different subroutines to support different audio cards
- handle differents processor speeds so the game runs the same on all computers
- since you're using C or C++, you'll have to handle memory allocation
- etc., etc., etc.
That's a lot of work going on "under the hood," even if you only use the built-in scripting languages for Game Maker/AGS. You can basically say "draw this sprite" or "check if the up arrow is being pushed," and it does it for you. If you were working from scratch, you'd have to write the code to do these things. Even professional companies license other companies' game engines to make their own games (especially for FPS).
There's still a lot of work to be done even if you use one of these programs. For example, 2ma2 will still have to script out his entire fighting engine, and what happens when (for example) you get punched, or fall into a pit, or get hit with a knife ....
I believe (and I'm no C expert), that there are "plug ins", if you will, to do most of those things. Keyboard input, processor speeds, audio. I'll give you that it'd be harder to do all of the graphics, but Game Maker is kind of cliche. If it was so simple to make that decision, why wouldn't major companies just use AGS or Game Maker?
Obviously because game companies are only interested in high quality 3d platforms like the Doom and Unreal engines-- which, consequently, many companies do get licenses to. I don't see how Game Maker is cliche...Or even how the statement fits.
As far as actually coding an engine goes, most people who go to the effort to do so will not simply get libraries to handle everything for them. I know this because I've been there. Also, since 2ma2 stated a lack of programming knowledge, a premade engine is a logical choice.
If someone told me they made a game in Game Maker, I'd probably find it less impressive then in C.
And if he's looking for a programmer, a lack of programming knowledge doesn't make a real difference.
If you use some free game programming libraries, that already handle your keyboard/mouse/joystick input, graphics that support other cards, audio that supports other cards, handles different processor speeds, then you're already there. There's no reason you'd have to program these yourself.
Obviously, using the engine will be easier, and have faster results. The other way, you have more control about every little detail, but you have to then program every little detail. I would say, though, creating your own engine would look much better on your resume (for a programmer), than using an existing engine.
As far as major companies not using AGS or Game Maker, it's really just a simple matter of what AGS and Game Maker bring to the table. A quicker way to make games. However, with engines like this, your game will have a lot of code that isn't really necessary for that game. And there might be something they want to code that AGS/GameMaker can't handle.
I disagree to the fact that most people won't use libraries. If libraries exist, and are free for you to use, and you'd rather write code rather than use an engine, than why wouldn't you use those libraries? I'm sure some programmers do start from scratch, but why reinvent the wheel? I can understand people doing it purely for the pleasure of figuring out how to do it, but if you want to write code, but save lot's of production time, libraries are the middle ground between an engine and code made from scratch.
I do think using Game Maker in this situation would be more ideal, though. Not sure how using an engine like this would be considered cliche. Probably just smart.
-MillsJROSS
Quote from: Evil on Fri 04/08/2006 04:53:30
but Game Maker is kind of cliche. If it was so simple to make that decision, why wouldn't major companies just use AGS or Game Maker?
what are you talking about?
If he can find a programmer then using C is no problem of course, as people said there are plenty of easy libraries around, it ends up not really any harder to code in C than GM as long as you're experienced with the language, but I think people are suggesting GM because nobody has offered to code... So I'd recommend GM too, 2ma2. You managed to code a platfomer in AGS, right? It'll be a lot simpler in GM, and I'm sure you can get people to help you out coding the extra bits you want, if you need to.
QuoteI disagree to the fact that most people won't use libraries. If libraries exist, and are free for you to use, and you'd rather write code rather than use an engine, than why wouldn't you use those libraries? I'm sure some programmers do start from scratch, but why reinvent the wheel?
But learning and total control are precisely why people choose to write their own engine from scratch in the first place, not to mention the belief that what they want isn't out there already. My platform engine uses no third party libraries of any kind, and most of the reasons are obvious:
1. Total knowledge of what you are working with.
2. No reliance on someone else's code.
3. The learning process.
4. Many of the truly useful libraries aren't free--not if you ever intend to market your engine or games made with it.
5. You don't have to deal with someone else's shoddy code and glitches--just your own.
6. The feeling of accomplishment.
Creating my own scripting language was easily one of the most fun (and frustrating at times) things I've ever done. Is it better than say Python? No, but it's specialized for what my engine does, I now can code a scripting language myself, and I can tweak it for performance enhancements and most importantly: it's mine.
That said, creating an engine yourself pretty much isn't necessary with the wealth of engines around that cover just about every type of game, so when people do so it is usually to broaden their knowledge and amass useful programming skill.
I'll look into gamemaker..
Quote
But learning and total control are precisely why people choose to write their own engine from scratch in the first place, not to mention the belief that what they want isn't out there already. My platform engine uses no third party libraries of any kind, and most of the reasons are obvious:
I'm not arguing that people don't choose this route. I'm arguing that many programmers will indeed use libraries. While the attainment of knowledge, and having done something yourself, is noble (and fun!)...I don't think it's necessarily the only way for programmers to go.
Quote1. Total knowledge of what you are working with.
Using libraries, especially some open source ones, doesn't take knowledge away.
Quote2. No reliance on someone else's code.
This makes it seem that relying on ones own code vs. a person who may be more studied in the library they made, is a good thing. I don't necessarily agree...it's why I use standard libraries.
Quote3. The learning process.
You spend more time learning the actual craft of game making if your not worried about every tiny detail. If you're not interested in making libraries for sound/gaphics and other multimedia, then why bother.
Quote4. Many of the truly useful libraries aren't free--not if you ever intend to market your engine or games made with it.
That doesn't disclude the fact that there are also many truly useful libraries that are free. I also don't believe that because something is free, it's crap.
Quote5. You don't have to deal with someone else's shoddy code and glitches--just your own.
This is pretty much the same as number two. And once again, this is under the assumption that your code will be better.
Quote6. The feeling of accomplishment.
This is a feeling that can be achieved with either route.
I'm not saying your route it wrong...I'm just saying, neither would be using libraries. Also, neither would be using Game Maker. Once again, it's all about what your personal goals are.
-MillsJROSS
Taking a rundown of GM, I have come to the conclusion that it is not worth the effort trying to abuse the engine. Much like Clikteam products, it works well making games of the most common fashion, but the way it handles collisions is not suitable, and call me lazy but I have interest in learning a wholenew system just to learn how to work around it. Better then learning C. The search goes on..
Ever heard of liero? http://www.liero.be/
It's alike real-time worms (has ninja ropes and weapons inspired by it), and sounds similar to your idea.
The thing is, since development on liero stopped, clones and hacks have been produced with added networking support, more weapons, greater degree of customization etc.
The main page of the Liero wiki (accessible via liero.be) provides info and links to these clones.
Gusanos (a GPL'ed Liero clone in C++) might be of particular interest to you, and the larger projects have forums where you could try recruiting people.
I don't really see what GM lacks in collision support that you'd need... it's really nothing like clickteam products. You wouldn't be working around or abusing anything, this is pretty much what GM is for... platformers with bitmap collisions.
If you don't want to learn the engine, fine... I guess you'll have to wait for a coder to appear.
I've had some experience with Gmaker and I don't see the MMF comparison either. Gmaker can do collisions with the pixel-perfect sprite, or with a rectangle set at whichever dimensions you want, or with a pixel-perfect mask independent of the sprite itself... I don't see any problems there. This is open-ended enough for customization without having to work around the engine, I think.
Well, you could just learn Allegro, DirectX or OpenGL; it's not that hard if you know how to code.
In the end, the programming logic is the same, no matter what you're using. I successfully coded a platform engine with the same code in both MMF and C++/Allegro, the only difference being that I had to code my own collision and blitting in Allegro.
I'm still using MMF because I've worked with it a lot and it's easy to use and customizable enough for me. Same with AGS.
I see no problem in coding rope swinging in MMF, GameMaker, Allegro or even AGS. You'll find skilled people for all these development packages if you don't want to code by yourself.
Also, if the drag and drop collision options in game maker aren't robust enough you can just as easily create a script function to handle collisions using the collision check functions (which is what I did). This allows you to, for example, make only the tops of some platforms solid so you can jump up through them like certain old platformers. Also, if you don't want to create a robust collision system yourself there are at least 2 GOOD ones I know of already made for game maker. One is a super mario-esque style collision script for tile-based games that comes with an example game and is well commented. The other is for collision masks for non-tile based games.
GM uses objects for their collissions in the same fashion TGF or MMF does. What I strife for is a rendered enviroment, much like Lieros.