Giter VIP home page Giter VIP logo

base's Introduction

Blue Nebula

Blue Nebula is a fork of Red Eclipse 1. While the Red Eclipse team have moved their game on to another engine for their latest release, 2.0, this also meant a total conversion of the gameplay, in our opinion sacrificing some of the best aspects.

Therefore, a group of eager community members have started to fork off Red Eclipse from the last 1.x series release, setting up the necessary infrastructure to (re-)establish a community around Red Eclipse 1.5+.

We thank the Red Eclipse developers for providing us with one of the (if not the best) free software shooter, providing us with so many hours of fun. We build upon their great work and continue to support and maintain it.

Download the game

The game has not officially been release yet. However, there are beta-grade builds available on our release page.

  • For Linux, we recommend using our AppImages.
  • For Windows, we consider creating an installer later on. For now, you can download a .zip archive containing both the game and the data.
  • For macOS, we provide a binary archive, too. Please note that currently those have not been tested yet. Feedback welcome!

The builds are, as of yet, fully compatible with Red Eclipse 1.5.8 to 1.6.0.

Get in touch

This project is still very young. We provide an official chatroom on the Libera.Chat IRC network. Our channel is #blue-nebula. Please do not hesitate to get in touch with us!

Current state of Blue Nebula

We already provide our own master server (which also re-hosts the entries on the Red Eclipse master server) to which many more Blue Nebula servers are connected than to the Red Eclipse one. Check out our online server browser, Blueflare.

Right now we are working on creating downloadable binaries, installers etc., as a first step in our journey to a standalone Blue Nebula game.


Red Eclipse

  • A free first-person arena shooter; released as free and open source software
  • Available for Windows, GNU/Linux, BSD, and macOS
  • Features parkour gameplay, such as impulse boosts, dashing, and other tricks
  • Favourite gamemodes with an array of mutators and variables
  • A built-in editor lets you create your own maps cooperatively online
  • Download for free at http://redeclipse.net/

About

Red Eclipse is a fun-filled new take on the first-person arena shooter, built as a total conversion of Cube Engine 2, which lends itself towards a balanced gameplay, with a general theme of agility in a variety of environments. For more information, visit our Wiki or Forums.

The project is a free and open source game built on the Cube Engine 2 using SDL and OpenGL which allows it to be ported to many platforms; you can download a package for Windows, GNU/Linux, BSD, and macOS; or grab a development copy from our Git repository and live on the bleeding edge.

In a true open source by the people for the people nature, we try to work closely with the gaming and open source communities to provide a better overall experience, aiming to create a game environment that is fun and easy to play, while still having elements to master.

If you think you might have something to contribute to the game or community, please feel free to drop by our IRC chatroom or forums and talk to us directly. We try to maintain a standard of friendly behaviour in our community, so don't be afraid to speak up and have your say in building this game for us all! :)

Get Involved

You're encouraged to help the project by joining in with the rest of the community to make a better project! You can do this by participating in our Community, using the development version and reporting any issues, ideas, suggestions or comments you may have.

We chat via IRC in the channel #redeclipse on irc.freenode.net, if you don't have an IRC client you can use our webchat. You can use this service to talk directly to the Red Eclipse developers, contributors, and supporters, whether you just want to have a chat, report a problem, or make a suggestion, this is the best place to do it.

Open Source

The project is Free and Open Source, meaning that you can both use it for free and be a part of it by contributing in whatever way you can. These are the people who have helped shape Red Eclipse into what you see today. They are regular people just like you who volunteer their time or donate in the spirit of making a really cool game. Your name could be down here, too!

Founders

  • Quinton "Quin" Reeves - Lead Developer - YouTube channel @ http://youtube.com/qreeves

    • Gameplay and AI Design, Community Management
  • Lee "Eihrul" Salzman - Lead Programmer / Advisor - Check out Tesseract @ http://tesseract.gg/

    • Cube 2 Engine and Backports/Support, Speed Improvements

Contributors, Developers and Supporters

  • Adam "lycanfox" Hobson
  • Alex "ZeroKnight" George - Design/Testing, Support
  • Anup "DOS_WARRIOR" Debnath
  • Cameron "Rhubarb" Dawdy
  • Christopher "Dratz-_C" Dratz
  • Christopher "paroneayea" Webber
  • Corey "c0rdawg" Maher
  • Dale "graphitemaster" Weiler - Check out Neothyne @ http://neothyne.org/
  • Daniel "Imerion" Eriksson
  • David "srbs" Forrest
  • Erika "Favorito" Anderson - Maps, Textures, Design/Testing
  • Derek "JoJo" Stegall - Maps, Models, Textures, HUD, Sound FX, Design/Testing
  • Eddie "skedz4u" Webb
  • Henrik "ahven" Pihl
  • Jacinta "cinta" Hall - Design/Testing, Support, and making babies.
  • Jeff "Architect" Cope - Design/Testing
  • Jeroen "appleflap" Boukens - Textures, Design/Testing
  • Jonathan "Ulukai" De Nil - Maps, Testing, Support
  • Jonathan "W!ck3d" Roels - Maps, Textures, Design/Testing
  • Joseph "ballist1c" Calabria - Maps
  • Joshua "JDWhyte" Dwight
  • Joshua L. "Verbalshadow" Blocher - Some source artwork, Design/Testing
  • Kevin "Hirato" Meyer - Development Assistance, Design/Testing
  • Kirill "TristamK" Kolesnikov - Maps
  • Kurt "Kurtis84" Kessler - Textures
  • Ludwig "Sniper-goth" Boscolo
  • Luke "syreal" Jones
  • Mark "xtort-" Doodeman
  • Martin "arand" Werner - Documentation, Legal Drafting, Cross-Dist Support, Open Source Checks, and much more.
  • Matt "greaserpirate" Kalt - Maps
  • Maxim "acerspyro" Therrien - UI elements, Models, Support
  • Mike "mikeplus64" Ledger - Maps, Models, Weapons, Textures, HUD, Design/Testing
  • Mikhail "Agustis" Kashin
  • Nick "Fatal_Glory" Watts
  • Petri Lukkarinen
  • Ricky "unixfreak" Thomson - Maps
  • Riidom Li - Models
  • Rob "Lloir" Shannon
  • Robert "Homicidal" Crane
  • Robert Winkler
  • Ryan "icculus" Gordon / icculus.org - Master server and website hosting
  • Rémi "LuckystrikeRx" Clouet d'Orval - Maps, Textures, Models, Weapons, Design/Testing, Website
  • Scott Baker
  • Sergey "swooboo" Altshuller
  • Slawek "VibrantWave" Blauciak - Ambient Sounds
  • Stefan Norman and Peter McInerney - Game server and domain name hosting
  • Sébastien "sinma" Chauvel
  • Taiyo Rawle
  • Vadim Peretokin
  • Viktor "Unnamed" Hahn - Maps, Models, and other improvements
  • Wayne Bennett
  • Zachery "freezurbern" Slocum - Skyboxes
  • "Gaming Tilt"
  • "4rson" - Maps and Support
  • "bonifarz"
  • "Boognish" - Maps
  • "CD Xbow"
  • "D.a.M.i.E.n" - Maps and Textures
  • "fbt"
  • "FearFighter"
  • "Fleeky" - Models
  • "fluxord" - Crosshairs
  • "Furor"
  • "John_III" - Maps and Models
  • "Korsi" - Maps
  • "littlebabyjesus"
  • "Lyberta"
  • "nemurati"
  • "Raiden" - Maps
  • "RaZgRiZ" - Textures and Cubescript maintenance
  • "TheLastProject" - Design, Testing and Support
  • "w00p|dazza"

base's People

Contributors

acerspyro avatar amdmi3 avatar bonifarz avatar calinou avatar cg505 avatar delph avatar devnexen avatar espadolini avatar freezurbern avatar iceflowre avatar ienorand avatar jeffbobbo avatar jonathangray avatar kalev avatar linewriter1024 avatar lsalzman avatar lyberta avatar moonpaduser avatar no-lex avatar pocak100 avatar qreeves avatar shacknetisp avatar shirepirate avatar swooboo avatar theassassin avatar thelastproject avatar ulukai55 avatar voidanix avatar zaquest avatar zeroknight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

base's Issues

add unit testing framework and scaffold

It would be great if new features or refactoring could be unit tested.

Better code decoupling, enhanced stability, less stress to break things, better productivity, self documenting code etc ..

I wish I could implement it but I'm not familiar enough with C++ stack for now

Add /answer command

really simple, /answer <string> would be used to whisper the last person that whispered you.
for example, let's assume we have user0 and user1:

user0:
  /whisper "user1" test -- whisper user1
user1:
  /answer "test2" -- whisper user0
user0:
  /answer "test3" -- whisper user1

Better Recoloring of Weapons

Instead of coloring the entire texture of the weapon, I'd like to only color certain parts. e.g. the lights on the shotgun should change color according to the team. This would just be a visual "improvement" (I can't say if it'll look that much better but I think it definitely could)

Automatically spectate person who killed you

I'd like to make the camera automatically start spectating the person who killed you after you died (ofc with a few secs delay). this will be customizable in a new tab in the Gameplay options called "Spectator"

Votable Bot Offset

The Ability to choose the botoffset for the next round during map voting.
This feature would still maintain compatibility with Red Clients since the votings of those would use the default botoffset of the server.

Guidelines for refactoring

Game is a masterpiece but its code is twisted as hell.

I think it would be a good thing for health of the project to refactor stuff when we have opportunity to.

However the project is currently lacking guidelines about this. This ticket is to discuss and debate about these guidelines.
Here's some example points :

  • is refactoring allowed at all ?
  • what can(not) be refactored (what is worth refactoring, what must not be refactored not to break things etc..)
  • maximum size of refactoring PRs
  • is refactoring can be in the same PRs/commits as bugfixes/feature add ? or should be completely alone ?
  • are refactorings must be at all times first be approved in a ticket dedicated for this ?
  • minimum code quality for it to be considered as a refactor
  • other stuff

Once these guidelines completed, that will prevent people from working hours on a PR that will get refused for X reason, as well as motivate people to refactor code because they will be aware of what they are getting into.

Favourite Servers list

Add the ability to mark a server as favourite to show them on top of all other servers in the serverbrowser.

Manage triggers server-side in editing

First seen in: Red eclipse 1.6

Observation: In editing triggers works client-size and don't impact other players

How to reproduce:

  1. Place for example a door and a trigger (let's say an toggle-action one)
  2. Ask another player to stand on the top of the door
  3. Open the door and see that the other player isn't impacted by the door opening

Capture d’écran de 2020-06-11 12-50-34

Though in an other mode than editing the triggers work fine

Remove crc

I think that this entire crc stuff could just be removed since it keeps you from playing downloaded maps until you rename them, and if you do, they play just fine. I can't see the purpose in this system.

make CI consider warnings as errors

For now, CI only checks if things build. It does not implement any automated tests, nor warning potential regressions.

I suggest to use -Werror in the builds, and for each compiler disable the actual currently known warnings, so that new warnings will trigger failure.
Long term goal would be to remove all disabled warnings, for all compilers.
I also suggest using both clang and gcc, as they have different warnings, and gcc does include false negatives (-Wunreachable-code).

On my current master, I have this list of warnings that are actually generated by clang with -std=c++14 -Weverything -Wall -Wno-c++98-compat-pedantic -Wno-c++98-compat -stdlib=libc++ -Wno-documentation -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command :

-Wcast-align
-Wcast-qual
-Wcomma
-Wconditional-uninitialized
-Wconversion
-Wdeprecated
-Wdouble-promotion
-Wembedded-directive
-Wexit-time-destructors
-Wfloat-conversion
-Wfloat-equal
-Wformat-nonliteral
-Wformat-pedantic
-Wglobal-constructors
-Wgnu-anonymous-struct
-Wgnu-zero-variadic-macro-arguments
-Wimplicit-fallthrough
-Wmissing-noreturn
-Wmissing-prototypes
-Wmissing-variable-declarations
-Wnested-anon-types
-Wnull-pointer-arithmetic
-Wold-style-cast
-Wpacked
-Wpadded
-Wpointer-bool-conversion
-Wredundant-parens
-Wreserved-id-macro
-Wshadow
-Wshadow-field
-Wshadow-field-in-constructor
-Wshift-negative-value
-Wshift-sign-overflow
-Wshorten-64-to-32
-Wsign-compare
-Wsign-conversion
-Wswitch-enum
-Wtautological-type-limit-compare
-Wunreachable-code-break
-Wunreachable-code-return
-Wunused-macros
-Wunused-parameter
-Wunused-template
-Wvarargs
-Wweak-vtables
-Wzero-as-null-pointer-constant

Thus, using the -Wno versions of those would, combined with -Werror, allow CI to detect more regressions.
I think most of those warnings could be considered an actual bug, and be treated by individual PRs.

Keyboard Navigation for GUI

It'd be really nice to be able to navigate through menus using UP, DOWN, RIGHT, LEFT, SPACE, RETURN and TAB

Voiceline playback is "buggy"

I've experienced a few issues with the voiceline playback e.g. your own voicelines sometimes only play on one ear, that they get cut off when you respawn/the round ends/you die or sometimes they don't even play at all. I'd like to take a look at the code and make following changes: Don't cut off voicelines, Make sure voicelines always play, and make own voicelines always play on both ears (maybe even all voicelines)

Improve @ mentions

Instead of pain white text when mentioning someone's nickname, I think it would be nice that player mention gets it's own colour and a badge (that small symbol next to the nickname).

Adding glass material in material list

Pressing in editing mode "numkey 0" opens a material list. However it's strange that all materials including 'hurt', which doesn't have it's shortcut key, are in the material list. Even though it says it's not recommended to use glass, I think adding this material to the list won't hurt anybody really.

Strangely, glass even has it's own colour change list.

The only way I know how to add glass is by typing in the chat "/glass".

Resource Pack Importer

An in-game GUI that allows you to select and import custom resource packs for the game, e.g. changed weapmodels, changed sounds, etc.

This is how such a menu could look like:
GUI

Logo for Blue Nebula

We need a new logo, as discussed in #25.

@SalatielSauer made a proposal, see #25 (comment). Even if it might just be used temporarily, it doesn't look bad at all. The main criticism I have it's not a vector graphic, which would be better in the long term. Something in SVG that also looks good in grayscale resp. with some clear contours which could also work in high-contrast situations.

To be able to use @SalatielSauer's logo e.g., as a base, we need to clarify licensing. @SalatielSauer what license is your logo published under? Would something like the CC By(-SA) 4.0 Intl. work for you? We need one that grants us and everyone else the right to also modify it and create derivatived works.

Adding new on-screen text for specific action: 1 shot 2 kill

Whenever you hit head, you get those fancy texts appearing like "headshot!" or doing combo kills "x2" 3x"... I thought about that it could be possible to add more of those. For example: There is also not so often happening but an interesting one. When you hit 2 players, with 1 rifle shot and kill both of them. It would be nice to implement separate text for this.

Wayland videodriver uses lower color depth

First seen in: current master

Observation: switching the SDL_VIDEODRIVER to wayland causes the game to use a lower color depth, this is mostly noticed by the "clipping" of the gradients' color

20200718142833

How to reproduce:

  1. launch the game with SDL_VIDEODRIVER=wayland on wayland

I searched the issue list and checked that this is not a duplicate ✅
I tried to rename my config.cfg, and the problem also occurs with default settings ✅

IRC-style highlighting

#50 inspired me to this idea. We should add some chat highlighting feature, like you have in most IRC clients. Whenever you are mentioned (and this has become fairly easy with #37), the client should display the entire line in a special, highly visible (maybe even customizable) color. This is a very non-invasive, subtle but powerful way to inform users about lines which affect them.

One thing to look out for is, whatever color is used, the game must still make sure that when a color code is used in such a message, that part is highlighted in some way. I could imagine something like "if same color then display that part in white font color".

Improve Bot whispers

currently bots apparently answer EVERYTIME you whisper somebody, let's instead make it so they don't react to whispers at all but instead give them their own command to interact with.
I propose:
/bot and /bots
syntax:

/bot <bot_name/cn> <command/command_num>
/bots <command/command_num>

Ping in HUD

I want to add an option to toggle the ping inside of the HUD, like the FPS

Converting every file in the src/game folder to our codestyle

I'd like to start to go through every file in src/game and remove things like in-line if statements, append spaces before and after operators, stuff like that, I know that sounds like much but I think I can do it in a very short amount of time so it won't interfere with any of our other stuff

Review intellectual property and copyright violations

As per the Red Eclipse Mark Policy (a copy of which you have in this repository), I hereby ask that you respect the intellectual property and rights of the Red Eclipse project and remove our copyrighted materials.

  • The name "Red Eclipse Legacy" is not a permitted use of the "Red Eclipse" name, as it is likely to cause confusion with the false belief it is an official product by the Red Eclipse team and in turn harms the community. Part of our plan included re-releasing v1.6 on Steam under the name "Red Eclipse Legacy" at a later point (and is already available on GameJolt under that branding), which has now been confused by the existence of this improperly named fork.

  • The files "icon.png" and "logo.png", along with all derivatives and imagery, are provided under the provisions of the Red Eclipse Mark Policy. The use of these images in this project is not only illegal, but it serves to further confuse people as to the nature of the project.

I don't much appreciate people trying to piggyback on the hard work I've put in over the last decade. A lot of time and effort has gone into establishing the Red Eclipse brand and related intellectual properties, and I've been more than generous in making sure everything you need to make a fork is free and open source - but I had one simple rule: please don't use our name and logos. You of all people should have respected that.

I'm trying not to get upset and do the right thing by coming and asking nicely. I'm not interested in an argument or a debate on the issue. Should the matter not be resolved within 10 business days (close of business 11th June 2020), I will unfortunately have to take further action in order to protect the interests of the Red Eclipse project.

ease use of fast cooldown weapons

Currently, "fast cooldown weapons" do not have indicators allowing players to know they can fire anew. The default setting is set at 1000ms in the variable indicatorminattack.

This means several attacks:

  • rifle1
  • sword1/2
  • shotgun1
  • grenade1/2
  • mine1/2
  • pistol1/2

Which includes some of the most powerful weapons are artificially made harder to use to anyone that does not know the existence of this variable (those are only the weapons without fullauto, too).

I propose to change the default value of this variable. The value it should have is hard to say... beha suggested on irc to use 400ms, which would enable it for every non-fullauto weapons but the pistol, while still not clobbering fullauto weapons

GUI Design Goal: Moving outputs from the console into the graphical interface

e.g. connecting to a server, instead of printing "Connecting To Server.." show a big green "Connecting..." inside the serverbrowser entry where previously it stated the Players and the game info. The main reason is because of focus, usually people focus on where they click so if you click on a server entry in the serverbrowser you would expect something to happen there, but instead it shows in the upper left corner.

Pickable items that can be used once can duplicate

If you carry around any pickable item like rocket, mine or grenade, there's a bug that must be fixed.

When someone kills you just at the right time when you use the item, not only will the item be used, but you can pick it up again. This creates catastrophic results when someone uses something like a rocket, kills and after the rocket is shot, other player picks it up like nothing happened and uses it again.

This bug is very common.

Damage Indicators

color screenedges in a red-ish tint to indicate that you're taking damage, or maybe that you're low on health. Why? Because there is no real way to see that you're taking damage when you disabled sounds. This would therefore also help with accessibility.

Add operators to CubeScript

I think if we want to continue using cubescript we have to make some serious improvements, and for readabilities sake I'd say we should start by adding operators. so instead of (+ 2 9) we'd have (2 + 9) I do not know how we can do that yet, but we have to do it eventually

Fix up sound loading

Currently sounds are registered and added to a list but the sound being loaded correctly depends on them being registered in the correct order.
e.g.

(Cubescript)
registersound "sounds/sfx/chat" // S_CHAT
registersound "sounds/sfx/mentioned" // S_MENTIONED

and in C++ we have an enum like this
enum { S_CHAT = 0, S_MENTIONED = 1 }
(very simplified)

what I want to do is simply make it so you have to give an index to register a sound
e.g.

(Cubescript)
registersound "sounds/sfx/chat" 0 // S_CHAT
registersound "sounds/sfx/mentioned" 1 // S_MENTIONED

I think this would make the code a lot safer.

Option to mute/hide chat entirely

While playing in serious matches (for example duels) you don't want to hear or see the chat at all. I think it would be nice to have option to turn off chat while playing until you are in spectator mode.

Internationalization

We want to localize the game. Therefore, we need to implement I18n in the code base. To do so, we:

  • need to decide on I18n strategy
  • find a suitable I18n framework/library (e.g., gettext)
  • implement I18n interface in Cubescript (provide a function to interface I18n framework, basically)

Once we resolve all these points, we can then start to wrap all strings in the game (including Cubescript) which require localization, and then set up e.g., Weblate and have people translate the game. This process, the actual Localization (L10n), should be tracked in a separate issue.

Adding empty commandbuf to history

You can navigate through your commandbuf history already using UP and DOWN already, which is great.
But I'd like to have the ability to press DOWN once more when being at the most recent entry of the history to get an empty commandbuf

Game locks up with one core maxed out

First seen in: current master

Observation: the game would freeze with one core on 100% usage until its killed

How to reproduce:

  1. Play normally
  2. When spectating, switch cameras and sometimes the bug will trigger (cannot be reproduced easily)

I searched the issue list and checked that this is not a duplicate ✅
I tried to rename my config.cfg, and the problem also occurs with default settings ✅

Switch to OpenAL for positional audio playback

I suggest the switch from the default SDL_mixer to OpenAL for positional audio playback, as this would enable us to have audio occlusion and onstruction, which would help make the sounds sound a lot more realistic and be more helpful for orientation

Create Separate Weapon Variable Menu

I'm adding an extra menu for editing weapon variables to make the process easier, this what my earliest prototype looks like
string
:
when you change a variables value (so it isn't the default anymore) it'll be highlighted in orange:
var-changed

The main inspiration and a big part of the code was taken from @IceflowRE, big thank you again.

You'll have the ability to import and export custom configs for each weapon separately (see Import and Export buttons at the top), tho I still have some alignment issues there.

The upper scroll part is for general values like Name, Colour, etc. while the lower scroll part is for variables that have separate values in primary and secondary attack

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.