I would like to get some opinions on whether i should develop my game using a physics engine (farseer physics seems to be the best option) or follow the traditional tile-based method.
- its a college project, my first game, but have 4 years academic programming experience
- Just want a basic platformer with a few levels, nothing fancy
- want a shooting mechanic, run and gun, just like contra or metal slug for example
- possibly some simple puzzles
I have made a basic prototype with farseer, the level is hardcoded with collisions and not really tiled, more like big full-screen sized tiles, with collision bodies drawn manually along the ground and walls etc. My main problem is i want a simple retro feel to the jumping and physics but because its a physics simulation engine its going to be realistic, whereas typical in air controllable physics for platformers arent realistic. I have to make a box with wheel body fixture under it to have this effect and its glitchy and doesnt feel right.
I chose to use a physics engine because i tried the tile method initially and found it very hard to understand, the engine took care of alot things to save me time, mainly being able to do slopes easily was nice and the freedom to draw collision bounds wherever i liked, rather then restricted to a grid, which gave me more freedom for art design also.
In conclusion i don't know which method to pick, i want to use a method which will be the most straight forward way to implement and wont give me a headache later on, preferably a method which has an abundance of tutorials and resources so i dont get "stuck" doing something which has been done a million times before!
Let me know i haven't provided enough information for you to help me!
IMO, a physics engine will save you a lot of time and, since this is for a school project, I'd suggest you look into using it. Having to write code for controlling movement and collisions will take much of your time. Also, there's a program called Gleed2d which can make maps for you, and I've seen where farsse and gleed2d have been used together: farseer and gleed2d
I don't know what farseer physics provides, but, typically, you can make the physics acts how you want them to, including wonky platformer moving-in-the-air type things.
FWIW, writing the movement and collision detection code can be fun and very educational, but, in this case, with time constraints, I'd stick to the physics engine approach.