Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remake some assets and enhance game quality #104

Merged
merged 127 commits into from
Feb 27, 2020

Conversation

Buom01
Copy link
Member

@Buom01 Buom01 commented Oct 13, 2019

Hi,

Bored of the old aliens creep tag, I began to remake some old assets.

Changes:
- Remake creep.tga in 512x512 (with Inkscape). A basic one but could got bump map easily.

  • Animate creep tag in 256x256 (with Inkscape mainly). (Quick preview: https://youtu.be/u65gsvazk2U of 512x512 old flat design)
  • Option to get back simple growing creep tag
  • Retake a similar screenshot for credits in 1920x1080 with anti-aliasing
  • Remaking stars for main menu, assuming that default one should not shine when the game is called Tremulous (with Blender)
  • Remaking main menu model to got nebula on larger screen, mainly on the ingame menu (with an old Blender version). It also permit to limit to model deformation getting better visual result at main menu.
  • Enhance loading screen too
  • Remaking nebula as I can, something more realistic (with Blender)
  • Remake quickly shining star placed behind the dark planet on the main menu (with GIMP)
  • Simplify the connecting screen by using an adaptation of main menu model
  • HD scrollbars
  • Rounded/Folded/Square border corner (Based on Korx, enhanced with more customization)
  • Colorize UI for aliens / humans, colorize players list
  • Transparent UI + stars background
  • Move UI styles variables to a dedicated file
  • Simplified OpenGL2 (Create a new "Render" menu with detailed options #58) with multisampling (anti-aliasing) and range marker options
  • Better particles (aliens: traces on walls and glowing acid; humans: buildables smoke)
  • Remake progress bars
  • Make object more close to floor (they don't fly anymore)
  • ComboBox have now its own arrow
  • Add automatic screen mode in menus
  • Modify .gitattributes and don't break images anymore
  • Remake slider
  • Allow to reset options (cvar) by pressing backslash of delete (Yes/No, Multi, and slider)
  • Remake shaders (weapons/upgrades, buildables, players/classes)
  • Remake models (remove double vertices, subdivide and proper smoothing with blender) (Done for all aliens)
  • Model (Class/Weapon/Buildable) preview in menus (Somtime weapons shaders don't load properly. I should also clean the code a little).
  • Impact mark are now drawn over all texture in ATCS (removing nomarks with a .mtr file)
  • Remake armory UI (sorted by state (upgrade/locked/needed))
  • Auto sell arm when buying a better one (aka auto free blocking slots when buying an item)
  • Complete ghost model preview + first frame of building animation
  • Create overmind growing animation
  • HD game icon
  • Recreate missing levelshot image
  • You can use your numpad to write numbers !
  • Global review on UI, and text effect review
  • Downloading progress bar
  • Autoconvert bind boost to bind +button8
  • Force server to send surrounding entities
  • review of alien sense + show nearby aliens things

Issues:

  • Remade aliens object have bad strands UV (actually not so bad)
  • Probably no way to make DynamicLights shade both entrance and outrance with default .particle file. I will problably enhance the synthax.
  • Even with default particle systems, particle systems make FPS drop with OpenGL 2 (Disabling range marker help a lot)
  • Particle reach the limit, but increasing max particles does nothing
  • Marks reach the limit, but increasing max marks does nothing

Other idea:

  • Should remake all strands for new creep tag

Other idea than I probably will not do:

  • Reactive UI (autorefresh)
  • Better error when evolving/upgrading arm
  • Renew chat balloon with per team style (It's seem currently partially implanted, I could import it from korx, then enhance)
  • Renew heartbeat music with https://soundcloud.com/lemaki/tremulous-theme-2
  • Animate class preview
  • Avoid to reload exact same asset on each reload
  • Show ghost buildable to teammates
  • Separate metallic shading from humans player model (Should remake humans model)
  • Rework humans assets (that's more complex)
  • Each buildable should have its own explosion (Should remake all buildable models and texture before)
  • Creep tag should be folded when intersect a wall
  • Creep tag launched by an adv granger on a human should be visible on the 3D model (currently on the floor)
  • Replace ATCS by ATCSHD
  • Replace ATCSHD's texture with PRB one provided by the author of textures, with fallback.
  • Provide some wallpapers and maps
  • Provide texture pack like https://forum.grangerhub.com/t/release-evillairs-ex-texture-pack-repackage/1920/23 with the game
  • Spawning animation (aliens should spawn with some green acid/blood, humans could be faded like building buildables or nodes could get animed)
  • Impact mark should render better (mainly for creep when intersect a wall). Should also work on buildables and player (mainly acid)
  • Mumble integration (maybe with a launcher?)

Notes:

  • Because UI borders haven't anti-aliasing, rounded corner show up a lot better on high-res. Some little graphical issues persists in all cases.
  • Some models have now more than 1000 vertices, that will not work on non patched client. That's why I created a new extension for them: the .md3000
  • Requested feature was omitted at compile time when using on GPP my data's pk3, and segfault with my compiled gpp_11 vm folder. Don't know if it's normal.

Question:

  • If my assets are accepted, where could I publish sources file (blender/inkscape/uncompressed png file) for public future enhancement ?

@dGr8LookinSparky
Copy link

Hello @Buom01 , thank you for your pull request :) ! I'm probably not going to have time to properly review this pull request for a few more weeks, but I will get to it. In the meantime feel free to adjust/add as you see fit.

I have noticed a minor code error though, you define UI_DrawCorners() as a static function in ui_main.c and call it in ui_atoms.c. That shouldn't be static since it is used in another file, and you should add a declaration in ui_local.c so that the function can link.

As a side note we are using a separate repo for work on the game logic ( https://github.com/GrangerHub/tremulous-game-logic ) , that is the repo that Unitremia and GrangerLab uses. At some point I'll be combining that repo and this repo so that the new game logic is included in our client releases. We do have a repo for the new assets we are using for the new game logic, but it is way out of date. I need to make the time to clean up our repo arrangement. For now, it works for you to submit these kinds of asset/ui changes here, and anything we accept here I can port over tot he game logic repo too.

@Buom01 Buom01 changed the title Remake some assets Remake some assets and enhance game quality Oct 22, 2019
@dGr8LookinSparky dGr8LookinSparky self-requested a review December 17, 2019 10:02
@dGr8LookinSparky
Copy link

I'm going to have time to review this pull request next Tuesday.

@Buom01
Copy link
Member Author

Buom01 commented Dec 17, 2019

Fine,
I'm currently working on final reviews, mostly bugs / retrocompatibility

@dGr8LookinSparky
Copy link

Sounds good :)

@cengique
Copy link
Member

On Christmas day @dGr8LookinSparky ?? :) Let me know if you need another set of eyes for the review..

@dGr8LookinSparky
Copy link

Christmas is on Wednesday, the next day ;) . Still an extra reviewer would be good @cengique , @Buom01 has done a lot of work (which is very much appreciated, thank you for your contributions @Buom01 :) ), there is a lot to test with this pull request, and it is definitely good to double check.

@cengique
Copy link
Member

@dGr8LookinSparky ok, will do! I will try to pull and test this week some time.

@dGr8LookinSparky
Copy link

Awesome, thanks @cengique :) !

@dGr8LookinSparky
Copy link

As a side note @Buom01 , our reviews is not a hard deadline for you, you can continue to push commits to this pull request while we are reviewing, and after this pull request is in a state where it is approved, if you have more updates you would like to include beyond what will be in this pull request, you can always submit additional pull requests.

Copy link
Member

@cengique cengique left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to compile and run the changes on Linux. Some comments:

  • I see a lot of remakes of opening screens, which look good
  • alien creep markers on the radar is hard to see
  • alien creep range bubbles are red and a bit overwhelming, but look good
  • progress bars show up as empty/invisible for me

Copy link
Member

@cengique cengique left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments continued:

  • in build/armor UI some items show as locked. Not sure if we had this before or it's a new addition.
  • new heartbeat music a good idea

@cengique
Copy link
Member

@dGr8LookinSparky I left some comments above. I think you are probably a better person to review the changes since it contains a lot of assets.

@dGr8LookinSparky
Copy link

@cengique , will do, it is still good to have another pair of eyes to review a major update like this. :)

@Buom01
Copy link
Member Author

Buom01 commented Jan 9, 2020

  • alien creep markers on the radar is hard to see

I'm reviewing alien sense color, but I think I should set an options similar to ranges marker one, setting what is visible or not

  • alien creep range bubbles are red and a bit overwhelming, but look good

Assuming you are talking about range marker, I could review color's alpha: I just tried to make it looking better currently (animations, etc...)

  • progress bars show up as empty/invisible for me

I only found bugs/potential miscode of my downloading progress bar. If you don't see new "Sci-Fi" progress bar at all (eg when loading map), verify your build (sometime I had to remove the build folder to get a correct build)

  • in build/armor UI some items show as locked. Not sure if we had this before or it's a new addition.

That's a new addition, aiming to make the game easier to understand for newbies

  • new heartbeat music a good idea

Unfortunately I think that music should got an additional separated pull request, mainly for fluidity. In the same PR I could integrate some media like game introduction.

For now I could just change the music, but I think that it could denature the game's aspect.
About my first suggestion of new Tremulous music, is a CC BY-NC 3.0 license a problem ?

At the other hand, I think that it could be better to have multiple music, like Unvanquished

Current todo list:

  • Review alien's colors on the radar
  • Less invasive range marker There a bug: In some case it's rendering twice. Else it's light enough I think.
  • Review downloading progress bar
  • Find solution for particles limits
  • (heartbeat music)

Other idea:

  • Support for gamepad

@dGr8LookinSparky
Copy link

I think having multiple heartbeat music that might be cycled in some way each time you start the client, I think that would help keep the experience fresh longer (maybe make use of a bucket system, where a selection is randomly pulled out of a "bucket" until it is empty, then all of the selections are put back in, that would result in a semi random selection where the same music wouldn't be picked more than once, until all of the other music options have been selected, bucket selection should be its own thing in qcommon so that it could potentially be used for other applications in the game).

CC BY-NC 3.0 isn't really a problem, although we try to keep to the CC BY-SA 2.5 license mentioned in the main COPYING file, but if necessary CC BY-NC 3.0 would work for this project too.

@dGr8LookinSparky
Copy link

dGr8LookinSparky commented Jan 10, 2020

@Buom01 , I was very curious, and ended up staying up most of last night working on a general bucket selection system, and specifically getting it to work with main menu music selection (working with strings seems like it can be more tricky in this code than it should be). I have it mostly working, later tonight I'll try to finish polishing it up, and I'll put it on a separate pull request. The bucket selection system can be used for other things too. I have to instances of the bucket selection, one that can work in the game logic, and one that can work in client and tremded. the main menu music implementation required the one that works in the game logic.

The part that specifically applies to main menu background loop sound selection, can be utilized by other menus as well, if they specify in their menu script. basically you specify with the keyword which directory to scan for the sounds (can be either .wav or .ogg, and this implementation allows for up to 10 different sounds), and optionally a cvar to track which sounds have already been played, for situations where the bucket selection needs to continue after the client shuts down (which is important for the main menu music specifically).

I've found a bunch of decent placeholders for us to try with this, not sure which of them we will end up keeping ultimately, maybe a/some talented musician(s) may make more new main menu music for Tremulous for us consider for the final cut.

@dGr8LookinSparky
Copy link

I pushed the bucket selection and main menu stuff into this pull request: #107

@cengique
Copy link
Member

cengique commented Jan 13, 2020

  • progress bars show up as empty/invisible for me

I only found bugs/potential miscode of my downloading progress bar. If you don't see new "Sci-Fi" progress bar at all (eg when loading map), verify your build (sometime I had to remove the build folder to get a correct build)

That was a good point. I think I had too many vms and data files in my existing build folder. The progress bars showed back up after I removed it and rebuilt. :)

@dGr8LookinSparky dGr8LookinSparky self-assigned this Feb 27, 2020
Copy link

@dGr8LookinSparky dGr8LookinSparky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like these changes after reviewing them, very good work @Buom01 ! Somethings were on our todo, like showing a total downloads progress bar on the download menu. I'll merge this pull request into the master branch as is in this client repo.

There are some things we did differently in the tremulous-game-logic repo, and some assets that we might not be able to include there due too the backwards compatibility requirement for old clients connecting to 1.3 servers (perhaps something can be done though to ensure that only new 1.3 clients can load the new assets that might not work with old clients), but sometime next week I'll make time to port what I can from this pull request to that repo (which would probably be on the order of around 95% of this pull request).

@dGr8LookinSparky
Copy link

Maybe the version of the client should be communicated some how to the server at/near the beginning of connection. If the server doesn't get any client version, it can assume that the client is an old client, if the server does receive the client version, it can then have pk3 files meant for whatever set version and up sent to the appropriate versioned client.

@dGr8LookinSparky dGr8LookinSparky merged commit 500043f into GrangerHub:master Feb 27, 2020
@Buom01 Buom01 mentioned this pull request Dec 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants