Project Infinity, announcing the first ever Pro-Made Port!
4 posters
Project Infinity, announcing the first ever Pro-Made Port!
Hey guys, though I'm keeping this on the hush hush(sorta), I decided I could let my clan mates know about this now After years of... err... dissatisfaction with ZDoom(The way it's coded, one of the developers, the total disregard of standards that is completely Microsoft-esque and requires OTHER ports to accomidate ZDoom, not to mention other crap), I have decided to code my own source port. I've been studying C privately for quite a long time, not to mention other crap, so I've got a bit of experience under my belt. Currently the name is still pending, but it's codename is "Project Infinity". Join #projectinfinity if you are interested on Skulltag IRC.
The project page and source code is here:
http://github.com/MP2E/projectinfinity
Source code will always be open under the GPL, you are free to contribute!
What is this port, why should you care, what features does it offer that other ports do not?
It's my go at the way I believe New School Doom SHOULD be. Something, standard, efficient, not littered with old projects and other crap that Doom ports are plagued with. The focus is editing. I want literally EVERYTHING to be easily editable, hardcoding will be explicitly avoided. And by standards, I mean I don't want lumps put everywhere as needed in a wad, I want one extensible, nice easy format(Probably UDMF with a few adjustments) that EVERY port can benefit from. The idea is that I want to communicate and cooperate with other ports so that we can all benefit from these changes.
Another huge difference, is that I want a whole different layer of editing. What do I mean? Well, as you can edit Doom files before running them in a port, what about editing them AS the port runs? What about dynamic map geometry?(Moving sectors, transforming sectors, other nice stuff!) All possible. How? I plan on storing ALL of Doom's runtime info(All objects, map stuff, things, whatever) all into a series of highly organized folders that exist in the ports memory. Each object will be a text file that can be editable on the fly with a library that has been ported to pretty much every programming language out there already, meaning EVERYTHING can be edited in game! Heck, you could make an ingame map editor if you wanted!
So how am I going to do all this? Where am I currently?
Well, I wanted a fresh start, so I chose to base this port off of Chocolate Doom v1.3.0, a very very nice, clean, and commented codebase. The only current problem is all of Doom's annoying bugs So first on the list is removing all of these, I am around 25% finished with this(by my own estimate).
So basically I want to:
- Fix all of Doom's bugs(Screw oldschool compat, that'll be reimplemented later)
- Clean up source in other ways
- Rewrite everything to be completely object oriented
- Implement standard scripting language(Lua? CScript? Something similar)
- Externalize all objects, actors, and wad data
- Add support for Hexen, Heretic, and MAYBE Strife with externalized actors and behavior
- Put in the virtual filesystem crap(dynamic editing)
- Rewrite the Doom Renderer to allow slopes, linked portals, maybe 3d floors, all sorts of portal tricks, 3D midtex, and other very nice things. Also REMOVE dependence on BSP(why has no one done this?)
- Wad format needs to be standardized and finalized for easy editing
- NETCODE YAY!
- Client/Server architecture, rip git code for delta packets, and create a system using backwards reconciliation to make sure lag is very very minimal
- Probably debug for a very long time....
- Feature suggestions?
Help is appreciated, but not required! And if you want to learn C or you want game making tips(it doesn't even have to be to contribute to the port) go ahead and join up on the IRC, I'm up for helping you in any way I can(Heck, already tutoring like 3 people)
The project page and source code is here:
http://github.com/MP2E/projectinfinity
Source code will always be open under the GPL, you are free to contribute!
What is this port, why should you care, what features does it offer that other ports do not?
It's my go at the way I believe New School Doom SHOULD be. Something, standard, efficient, not littered with old projects and other crap that Doom ports are plagued with. The focus is editing. I want literally EVERYTHING to be easily editable, hardcoding will be explicitly avoided. And by standards, I mean I don't want lumps put everywhere as needed in a wad, I want one extensible, nice easy format(Probably UDMF with a few adjustments) that EVERY port can benefit from. The idea is that I want to communicate and cooperate with other ports so that we can all benefit from these changes.
Another huge difference, is that I want a whole different layer of editing. What do I mean? Well, as you can edit Doom files before running them in a port, what about editing them AS the port runs? What about dynamic map geometry?(Moving sectors, transforming sectors, other nice stuff!) All possible. How? I plan on storing ALL of Doom's runtime info(All objects, map stuff, things, whatever) all into a series of highly organized folders that exist in the ports memory. Each object will be a text file that can be editable on the fly with a library that has been ported to pretty much every programming language out there already, meaning EVERYTHING can be edited in game! Heck, you could make an ingame map editor if you wanted!
So how am I going to do all this? Where am I currently?
Well, I wanted a fresh start, so I chose to base this port off of Chocolate Doom v1.3.0, a very very nice, clean, and commented codebase. The only current problem is all of Doom's annoying bugs So first on the list is removing all of these, I am around 25% finished with this(by my own estimate).
So basically I want to:
- Fix all of Doom's bugs(Screw oldschool compat, that'll be reimplemented later)
- Clean up source in other ways
- Rewrite everything to be completely object oriented
- Implement standard scripting language(Lua? CScript? Something similar)
- Externalize all objects, actors, and wad data
- Add support for Hexen, Heretic, and MAYBE Strife with externalized actors and behavior
- Put in the virtual filesystem crap(dynamic editing)
- Rewrite the Doom Renderer to allow slopes, linked portals, maybe 3d floors, all sorts of portal tricks, 3D midtex, and other very nice things. Also REMOVE dependence on BSP(why has no one done this?)
- Wad format needs to be standardized and finalized for easy editing
- NETCODE YAY!
- Client/Server architecture, rip git code for delta packets, and create a system using backwards reconciliation to make sure lag is very very minimal
- Probably debug for a very long time....
- Feature suggestions?
Help is appreciated, but not required! And if you want to learn C or you want game making tips(it doesn't even have to be to contribute to the port) go ahead and join up on the IRC, I'm up for helping you in any way I can(Heck, already tutoring like 3 people)
MP2E- Posts : 40
Join date : 2010-04-28
Re: Project Infinity, announcing the first ever Pro-Made Port!
as long as it has backwards reconciliation or some form of unlagged, I'm cool with it
Ruin- Posts : 386
Join date : 2010-03-21
Age : 36
Location : Puyallup, Washington
Re: Project Infinity, announcing the first ever Pro-Made Port!
15 billion years later, I have not made a single commit :V
Wartorn- Posts : 12
Join date : 2010-04-19
Location : miaou
Re: Project Infinity, announcing the first ever Pro-Made Port!
It sounds pretty damn good, I'm sure it will be a nice port.
Wartorn- Posts : 12
Join date : 2010-04-19
Location : miaou
Permissions in this forum:
You cannot reply to topics in this forum
|
|