Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / OpenFPS [Community Project / Open Source]

Author
Message
thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 15th Dec 2013 01:53 Edited at: 15th Dec 2013 02:02



Update: I've been working on this project on and off for the last few years on the SVN. The old thread got locked a while ago as progress slowed down, and it's been slow working on it alone. I've lost a lot of motivation since I originally intended the project to be a community thing. I want to accomplish three things in this thread: Showcase some of the progress I've made, create a public list of elements that need to be worked on, and recruit new members who can help finish the project!

The archived thread was here.

Summary

OpenFPS is a community project to create a complete first-person shooter game engine, and develop a game with the engine. When finished, the project will include a whole bunch of features. Since the code is open source, it will be released for free so that anyone can use it! Once finished, the engine will include a level editor, user interface system, multiplayer capability, scripting, and much more... The game being developed alongside the engine, titled Biostorm, will include multiplayer gameplay as well as a (hopefully) fun campaign mode. Quite a mouthful.

The project was started here on the TGC forums back in 2009, and is being developed with TGC software. Anyone can contribute, whether you are good at programming, music, 3d art, or anything else. We're always looking for help... No matter how much skill you have, any contribution is appreciated. No addition is too small... The goal is to have at least a few people working on OpenFPS at any given time, so that progress is always being made. So far, we've been very successful with that, but things are still far from finished. To find out how you can help, read our to-do list in this thread. Don't forget to check out the SVN (see links below) for the current project.

Showcase




Current Tasks
Tasks are sorted by category and priority.
I will add more tasks as I think of them.

Interface:
-Create Server List window
-Set up ingame player interface
-Create "loadout" / class creation setup page
-Fix chat interface to work with long lines of text
Network:
-Set up UDP streaming data for gameplay
-Create a function to find and open a free UDP port
-Figure out automatic port forwarding for UDP on the client?
Gameplay:
-Work on basic player movement being transmitted over the server
-Create Shooting system
-Create Damage system
Art:
-Create environment models (I'll post a list, basically anything is useful)
Editor:
-Design static and dynamic lightmapping system
-Set up grid-based editing for interior environments
Visuals:
-Create lighting shaders for the model

How to Help
With this kind of project, any help is really appreciated, whether it's documentation skills, coding, a model, some music, level design, or even just testing the game. Whatever you have to offer, it's going to help make this project better in the end. That said:

1) Post in this thread!
2) Download the SVN by going here, instructions are on the webpage: https://code.google.com/p/openfps/

Current Version Download
I'm currently working on a utility to allow download of the current version without an SVN! I'll upload that soon.

http://openfps.googlecode.com/svn/trunk/

29 games
17
Years of Service
User Offline
Joined: 23rd Nov 2005
Location: not entirely sure
Posted: 19th Dec 2013 02:14
I had a look at some of the videos on the old thread and it does look really good, it shows a lot of promise.

I'm won't be able to contribute to this but thought I'd wish you all the best.

one of these days I'll come up with a better signature
thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Dec 2013 05:27 Edited at: 26th Dec 2013 05:35
Thanks!

A work-in-progress screenshot:

It's christmas, but in the world of OpenFPS, it's always summer. The sun shines down on the beach and reflects its bright aura off the surface of the ocean. You can hear the gentle crackling of the fire and the distant sounds of the seagulls. It's quiet, a little too quiet for a world at war...



I'm proud of how this looks! The screenshot shows off a number of things. You can see the terrain with a blend-mapping shader applied. The palm trees are a new feature, I'm working on generating instanced plant coverage for maps based on a "statics map", which is just an array of which tile locations should have trees or grass. You might notice none of the models have any lighting yet, the simple shader lighting I was using looked terrible so I just removed all lighting for this screenshot. I'm still looking for a good realtime shadow shader which will work for both day and night. Another alternative would be to implement a lightmapping system but Dark Lights is too glitchy for my liking and programming a lightmapper by hand involves some complex concepts. Lighting is something I need a lot of help with, so if any of the shader gurus read this, care lend me a hand with creating a good system? In addition - I'm using the SPARK plugin for the two particle systems in this screenshot. One of them is the smoke, can you guess which part of the scene is the other particle system?

Attachments

Login to view attachments
Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Dec 2013 21:49
Quote: "can you guess which part of the scene is the other particle system"


The birds? Loving the colour management

thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Dec 2013 23:23 Edited at: 26th Dec 2013 23:24
Thanks! I went through a lot of effort to ensure the textures matched each other because in the past I've had the problem of models not matching in style. I actually spent the most time on the palm tree model, which I created by modifying a free palm tree model. I'm really proud of how that fits into the environment. The bottom of the tree is extended below the ground to ensure the tree is connected to the ground even when tilted or raised up. In addition, the model doesn't require any transparency and is very low poly (298 tris). This is going to be important in the future when scenes have a huge number of trees. I spent about 4 hours modifying my existing model so it wouldn't need alpha mapping and it was definitely worth it because I noticed a huge performance gain.

For the birds, I found this animated gif online:



I converted it to a sprite sheet and applied it to a SPARK particle system which supports spritesheet animations!

I've finished the network module but I'm having a lot of trouble motivating myself to work on the character controller because I'm having too much fun developing the graphics, which is what I enjoy the most.

Attachments

Login to view attachments
Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 28th Dec 2013 21:25
Yes indeed, very true; finding motivation and even finding the time can be difficult; a part of the whole challenge.

Have you tried out Mattys Imposter plugin? It is quite a handy tool for detail management; essentially turning distant objects into billboards, a bit like what you did with the bird, just with 3D objects rendered for you onto plains. I managed to get it to work with tree party a year ago in my project.

thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 29th Dec 2013 00:38
No I haven't tried it, the fact that it's a paid plugin and I am short on cash has kept me from it! But even if I owned the plugin personally I wouldn't use it for this project since the intention is for this to be open source and therefore anyone should be able to contribute without spending any money. I'm using plenty of plugins, but none that are paid. It's a shame because sometimes plugins have features I'd really like (for example DarkNet) but I can't use them in this project. But then again, it forces me to figure out things by hand and come up with creative solutions.

Monk
14
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 30th Dec 2013 00:12
Hey, thenerd! Awesome work on this.
It's great to come back and see that this is still alive. Unfortunately I'm still in no position to come back an help but hopefully a load of people will be able to help you finish off this project, like you, and it, deserve!

thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 2nd Jan 2014 04:52 Edited at: 2nd Jan 2014 04:52
Thanks Monk! Nice to know you remember the project. Yeah, the aim is to get a group of people like we had on the original thread. It's a lot harder nowadays... the forums aren't as busy.

Some progress screenshots below... I've added two big things to the editor - lightmapping and brush editing. The brush editing is a tool which allows you to place down 3d boxes and other primitives on a grid layout. This is useful for building interiors, such as the bunkers shown in the screenshot which were built entirely within the editor. I also finally got around to integrating all the separate lighting systems into one. I have Darklights running (just in-editor since it's a paid plugin) for the brush lightmapping which is very high-quality, useful for indoor scenes. At the same time, I've developed a fast and lower quality raycasting lightmapper using Sparky's collision plugin. This generates directional shadows on the terrain and water, which look almost seamless with the Dark Lights lightmap. There are still a few texture bugs that are likely problems in my lightmapping code, and I haven't set up the Dark Lights system to save lightmaps which will involve saving both the lightmap and modified meshes.



After some prototyping I've decided to move away from realtime shadow shaders and use entirely pre-built lighting. The performance hit the game would take from a realtime shader isn't worth the visual gain, especially considering the processing power is needed elsewhere.

Attachments

Login to view attachments

Login to post a reply

Server time is: 2022-12-09 15:13:30
Your offset time is: 2022-12-09 15:13:30