With the failure of my platform game, too many ideas, too many starting overs because I wasn't happy with it.
I now got it into my head that I want to make a first person shooter. Which is barely within my abilities and might make it fun enough for me to finally see something through to the end.
So I need your suggestions and your help to make it work though, mostly I want to know you guys want out of a game of this style.
You sound like me. Every time I start up a new project I get a few weeks into development, then realize I want to add a feature the engine I created doesn't easily allow for or I find out there's an alternative scripting method that's much less resource intense so I end up going 'back to the drawing board' a few times before I have anything nearly completed enough to showcase.
I don't fathom how creating an FPS is going to be any different. Sprite mapping, collisions, and camera controls in Mode7 or the Raycasting object are all kinda complicated - arguably more complex than scripting a platformer. Good luck, though. I hope future complications don't force you to reprioritize this project too.
ChrisD> Employer: Say, wanna see a magic trick?
ChrisD> Employee: Uhh… sure, boss.
ChrisD> Employer: Your job! It just disappeared! Pack your things and leave! Pretty good trick, huh?
I am using Looki's OpenGl extension, which I had to get off my old hard-drive because all the websites have stopped having them for download for some completely stupid reason but it is a great and easy to use extension with well made examples. Amazing extension!
Particularly, I am basing this of the 3D Maze example that comes with it, as it has all the code I need to start off.
it seems to lag (blame OBS) but actually it runs smooth at 80 fps
I threw this together in 2 days, so as far as i know anything is possible with opengl extensions, i even made doom clone called foom (fusion doom... lol), though i never finished it since i never figured out how to calculate collisions at odd angles.. i probably should go look at doom source code
What does the event structure look like? Would you compare it to actually learning a separate coding language at the point you can make a game like this? How complex of a design is required to do something on the same level of performance?
it seems to lag (blame OBS) but actually it runs smooth at 80 fps
I threw this together in 2 days, so as far as i know anything is possible with opengl extensions, i even made doom clone called foom (fusion doom... lol), though i never finished it since i never figured out how to calculate collisions at odd angles.. i probably should go look at doom source code
My God, why did no one make games with this thing? Ive seen some properly awesome stuff including that Resident evil 2 engine.
its pretty simple, load everything, create stuff, update stuff & check for collisions. (77 different conditions, though im using luascript)
And yes making something like this in mmf2 is really close to making same thing in different language (since its all about problem solving). Its not really that complex after you get the hang of it, at first its confusing to think in 3 dimensions (xyz) but after you realize that opengl's X and Z is the same as mmf2s X and Y in topdown view.
however if you really want to take advantage of opengl you'll have to write it in some other language (C++, C#, java..)
@ andyuk
well, i was thinking of turning this into a full game though mmf2 is making this little harder since i cant mix luagl with events :7
edit: Oh and if you guys are wondering how im doing collision in 3d:
(this is kinda hack-y way)
check for collision in 2d (topdown), after that send both object's z value (alt. val.), object id and their alt value for height to xlua function, and xlua then fires another function if they collide
xlua:
function collision(z, z2, height, height2, id, id2)
if((z < z2+height2) and (z + height > z2)) then
--print("collision!")
collided(id, id2) -- mmf2 function
end
end
its possible to do full collision checking in xlua (x y z instead of z only)
edit2: i just noticed im referencing to opengl's y as z in my code