Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Average

If you were designing a 2.5D Software FPS...?

Recommended Posts

If you were building a software-renderer based 2.5D FPS engine today (Let's call it DooM NG) what would you do differently from all the old classics? What lessons could be taken from the current thinking in coding or aesthetics? What advantages does modern hardware/tech have that would make things possible that couldn't have been achieved 'back in the day'? What lessons are there to be learned from the different philosophies of all the source ports out there? Etc, etc...

Basically, it's one of those "If Doom was made now..." threads!

Personally, I would make the base code much more modular and moddable so that gameplay mods can be more easily used side by side and so that aspects of the interface etc could be changed more easily. For instance, the demo playback of Doom has caused compatibility issues across source ports and the save game structure could do with some tweaks for more usability...

Share this post


Link to post

I'd probably have to be forced at gun point (or with a million dollars) to work on a software-rendered 2.5D FPS again :-)

Assuming that though, I would make a Quake2-ish renderer with colored lighting via lightmaps and 3D skeletal models for enemies and weapons, client/server networking, and a darn good (plus easy to use) scripting language for game logic on the server and HUD/UI on the client. Also a built-in map editor. And ponies, lots of ponies.....

Share this post


Link to post

I don't know what I'd do on the engine side, besides give it excellent controls and options to bind them to any key (with flexible mouse support). Doom was actually one of the better games control-wise, a lot of early FPS are almost unplayable because of the choppy processing (low framerate?) and the terrible keyboard controls that give me carpal tunnel. I'd definitely have the graphics and actors such stored and defined externally for easy modding.

As far as games go, I've always wanted to see a classic style free roam FPS. It would be like, the Fallout 3 of the '90s. I've seen some good environments and non-linearity in some of those old games of course, but I've yet to see one that's truly free roam (Daggerfall doesn't really count for me, it's not a shooter and the controls are horrid).

Share this post


Link to post
Average said:

If you were building a software-renderer based 2.5D FPS engine today (Let's call it DooM NG) what would you do differently from all the old classics?

I'd make it hardware-rendered 3D. I might let the map format remain 2.5D though. Something like glquake is as retro as you can possibly hope to go.

Average said:

What lessons could be taken from the current thinking in coding or aesthetics?

Multithreading I guess. Also, less hacks.

Average said:

What advantages does modern hardware/tech have that would make things possible that couldn't have been achieved 'back in the day'?

Modern tech has huge amount of processing power hidden in their GPU, which can be accessed through standardized libraries such as OpenGL or DirectX.

Average said:

What lessons are there to be learned from the different philosophies of all the source ports out there? Etc, etc...

The modding interface ought to be consistent and straightforward.

Share this post


Link to post
Average said:

What lessons are there to be learned from the different philosophies of all the source ports out there?

There will be a million different ways to do anything, none of which will be the "right way to use it" according to the grumpy developers.

Share this post


Link to post

I'd write it in C++, design everything to be dynamic and portable from the beginning, base it around a simple but powerful scripting engine, and call it something silly like DoomPLX. But maybe that's just me.

Share this post


Link to post

I'd make it with Build, because that was the most perfect 2.5D engine ever made.

Share this post


Link to post
Danarchy said:

I'd make it with Build, because that was the most perfect 2.5D engine ever made.


Most perfect, i'm not sure. Although it was a wet dream to work with back in the day, agree'd.



Knowing and seeing how video games and tech engines are these days, I would've done things different by level design. The engines themselves are incredible (If you dont push the 'One game a Year' bullshit) and they're getting better.

It's a relationship between developer/board-master and Player. Non-linearity? That's fine, secret areas? Fuck yeah. Although! My hands for level design in that formula is to have the Map fuck with the Gamer. Add a vent system, that junctions into 6 more, choose the right one to get to the end and bypass enemies, or choose the wrong 5 ones and it'll spit you back at random spots in the beginning. Or! Dont use it and fight through the enemy NPCs.

Snakes and ladders anyone?

Aside from that, i'd love to throw in the Soldier of Fortune dismembering system before they did it. It's honestly hard not to say that if it was way back then, knowing everything I know now that I would steal all the innovations from games and apply them in my own source code. C++ Language naturally and try to keep the scripts low.

Share this post


Link to post

I'd write 3 lines of pseudocode that looks like mutually contradicting schizophrenic thoughts, stare off into space and think, at a rate of one neuron firing per minute, about hopelessly nested and complex data structures undergoing off-by-1 errors and division-by-zero, miraculously make some pong clone where the ball is an imp but there's no collision detection, then hopelessly slump into a corner and start crying. Curse you skilled programmers! You're not human!

Share this post


Link to post

1. Find lost Strife source code in some dumpster...
2. ???
3. Profit!!!

Also: Quake-style console and a /proc like interface so the game state can be manipulated via any which way.

Share this post


Link to post

Now that I've seen floor over floor technology used in ZDoom, I'd stick with that. I've pretty much stopped my mapping until I figure out how to do it.

Share this post


Link to post

2.5D? Bleh! If I had the skill and was designing software engines (assuming mid-1990s computing power) I'd build the Xngine (Daggerfall, Terminator: Future Shock) with a stable codebase and proper extensibility. Of course I have no such skill, which is why we're lucky to have Lucius doing it for us.

Share this post


Link to post

I don't know about rendering, but I know about gameplay. You can take all the weapons from skulltag AND CONTRA...

But I'd say make hanging ladders like monkey bars. Turrets (on rails). Pushable boxes. Climbable things. Cover you can peak out from behind instead of circle straving. Gun lights for darkness or helmet lights. Jump. Enemies that wander or patrol instead of static hide here. Uh swing rays, climbing other than DOOM's normal fake ladder stairs. Freeze rays to do jump platforming.

Enemy diversity, small things, humanoid things, giant things.

Diversity of gameplay would be best. A method of transportation. If you can't program a car, then have a monorail and people can mod the landscape between the monorail.

Take things from other games like a balance of blue and red. If you're red, then blue can hurt you. If you get something that turns you blue then red can hurt you.

Stealth of light and scent. Things like Imps can smell you. Humans can't see you in the dark, but they can hear you and Trites can see in the dark.

Then finally randomly generating levels. Oblige does it well enough.

I can dream.

Share this post


Link to post

I'd probably scrap it all and build a hardware rendered 3D FPS engine. Assuming I knew anything about doing that, and I don't. What I know is that Doom is great in spite of its limitations, not thanks to it.

Share this post


Link to post

Absolutely DH85. That's why I suggest adding gameplay elements.

Share this post


Link to post

I'd try with Javascript. If you start using Javascript in 1995, you'll beat everyone to the whole Web 2.0 business before it's even born. Oh and XML. Everything is better with XML.

Share this post


Link to post

I've done a lot of fantastic things with Flash and Shockwave, but now companies have turned against it and html 5 was devised. :-(

Share this post


Link to post
geo said:

I've done a lot of fantastic things with Flash and Shockwave, but now companies have turned against it and html 5 was devised. :-(

Considering the fact that shockwave/flash constantly crashes on youtube for no reason whatsoever, I wonder why they're moving away from them.

Share this post


Link to post

That problem takes a bit longer to explain. Adobe wants to be put on Apples. Apple says there are security risks, which there are, but you need to be good enough to exploit them.

So to comply, Adobe has had a weekly Flash update for 6 months or longer now. Each update blocks more problems, but creates new ones until old Flash flies comply with the latest version of Flash.

Now Flash commands will pause running if you go to another program (unless its a video). Its horrible and causes errors when you go back to the program / browser you were viewing Flash in.

YET Apple now accepts apps made in Flash and Air (which is an eport of Flash). That way Apple still gets their $$$. They only allowed apps made in flash (but exported in ARM) because Android allows them.

I could go on and on.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×