Hi all,
Denis covered all of the major features we’ve been working on recently in his last post a couple of days back, but only now have I gone through the hundreds of SVN and mercurial revisions and compiled a rough changelog (note; this is not complete and new features such as adaptive tonemapping and other features/fixes will be added before final release).
Alpha 2 (September 2010)
========================
Nutshell
--------
* Updater water shader
o Fixed blackness
o Improved refraction
* Fixed several engine exploits
* Improved rendering performance
* Updated VGUI (transition effects and improved stability)
* Added FP16 HDR
o With luminance-based bloom
o Controllable via ConVars
* Fixed terrain morphing
* Added background map support
* Updated post processing shaders
* Fixed all reproducible bug reports from Alpha 1
* Fixed BSP V19 and V20 loading algorithm
* Improved overall security of engine and closed several exploits
Common
------
* [Engine] Fixed server crash exploit
* [Engine] Fixed model jitter when game is paused
* [Engine] Added background map support
* [Material System] Fixed “fullbright bug”
* [Material System] Improved rendering performance
* [Engine] Fixed dynamic lights rebuilding every frame
* [GameUI] Fixed loading dialog presuming singleplayer when starting a multiplayer server
* [GameUI] Fixed many KeyValues errors in Options dialog
* [GameUI] Updated multiplayer dialog layout
* [VGUI] Fixed ImagePanel crash
* [VGUI] Updated file open dialog
o New icons
o Completely fixed
* [Engine] Fixed “startmovie” saving corrupt TGA files
* [Engine] Fixed loading screen not rendering
* [VGUI] Added transition effects to all VGUI panels (fade in/fade out)
* [Material System] Added luminance-based bloom
* [GameUI] Fixed advanced video dialog title
* [VGUI] Added maximize/restore to native VGUI apps
o Also features drag-to-restore (like Windows 7 Aero)
* [Material System] Added FP16 HDR
o Can be disabled via –ldr command-line option
o Added mat_bloom_vignette to control vignette
o Added mat_bloom_multiplier to control bloom amount that is multiplied with framebuffer
* [Engine] Updated IP ban system
o Clients are now informed of their remaining ban time
* [Engine] Minidumps now contain vital information such as modified ConVars and console log (see dumpinspect tool)
* [Engine] Greatly optimized code with industry-standard static code analyzers
* [Material System] Added vignette effect to create an awesome show of HDR+ToneMapping within the bloom shader
* [Material System] Added color correction
* [Engine] Nearly fully fixed terrain morphing
o Physics objects now collide with the morphed terrain vertices
* [Engine] Flagged “host_timescale”, “host_framerate” and “host_speeds” as cheat ConVars
* [Engine] Fixed BSP V19 and V20 loading algorithm
* [Engine] Fixed “buildcubemaps”
* [GameUI] Fixed several leaks due to file contents being loaded into memory but not later being freed
* [Engine] Fixed ClientPrintf using an out-dated protocol
* [VGUI] Ctrl-A now selects all text in the text entry
* [VGUI] Fixed stack corruption when adding wide-char strings in AddItem
Game
----
* Added red trail and glow to grenade
* Fixed shotgun shoot time
* Added cl_enable_player_sprays to enable/display player sprays
* Added “giveammo” and “giveammo_all” ConCommands
* Updated weapon icons for all retail weapons
* Updated post-processing shaders
o Enable via pp_sobel, pp_monochrome, pp_grayscale
o Also try pp_grayscale_fade to slowly fade from colour to grayscale
* Fixed water blackness as a result of a bad clipping plane
* Fixed flames not being removed when a player dies
* Updated rain precipitation
o Updated rain tracer texture (now refracts)
o Added rain splashes
* Fixed Kill entity I/O input on players resulting in a crash
* Fixed physics object crash on some maps
* Fixed AI follower crashes
* Bullets now have the same force on physics objects as retail
* Fixed weapon_sniperrifle taking a long time to autoreload
* Fixed bots not being kicked to make room for new bots in bot_create
* Optimized fire for lower end machines
* Fixed crash upon destroying client flame entities
* Fixed AR1 fire modes
* Added text to show AR1 fire mode switch
* HMG1 now does a 3 round burst when using secondary attack instead of switching between firemodes
* Fixed several leaks due to file contents being loaded into memory but not later being freed
* Increased damage for 357 weapon ammotype to 75
* New grenade model
* New 357 model
* Added reload function to HMG1
* Fixed AR2 fire animation
Tools
-----
* [mdldecompile] Added model decompiler which decompiles V37 models to SMD
* [mdlconverter] Added model converter to convert models from V36 to V37
* [studiomdl] Fixed studiomdl to write proper V37 models (with shared animation support)
* [WC] Fixed memory leak when using error.mdl
* [WC] Prevented infinite loop when unable to load error.mdl
* [dumpinspect] Added a little utility that reads the ASCII comment userstream of a minidump and prints it to console
Just so you know we have been working our asses off for the past few months! More news to come shortly (hopefully videos and screenshots).
On a side note, the rain update video was never publically posted on the blog, so here it is:
Peace out.
Update (16/08/10, 19:34 GMT): added approximately 15-20 more changes to the log.
Hey all,
It’s August! With that said, I’d like to give everyone an update on the state of R2.
One of our goals in R2 was to learn from our mistakes in R1. We dropped the ball there and we apologize :^). That’s why we dedicated large blocks of time to playtesting and code reviews. Our focus in this release was to make the tech base as stable as we could, while carefully adding additional features and not introducing new regressions (though some may slip through testing).
With this in mind, we are probably going to end up pushing the final release date into September. We’d rather sacrifice time over quality
.
We wishfully hope that with R2′s release, we can spark some more interest into the HL2 beta.
Here are some highlights of the technical goodies we’ve included into this release:
- 16-bit Floating Point bloom.
- Various fixes to the rendering system.
- Major stability enhancements.
- Performance boosts.
- Console variables to fine tune multiple aspects of rendering.
Content-wise, we’ve polished and fixed the following maps:
- e3_c17_01, e3_c17_02
- e3_techdemo’s 1-6
- e3_start, e3_end
- e3_lab
- e3_bugbait
Other maps in the leak should still be playable (v18 and above) but their stability is not guaranteed. Our plan is to have R3 include some of the HL2 story maps.
On a final note, I’ll just leave this here:
Looking forward to comments and questions!
/ynh
Hey there everybody. Today I am introducing a new feature in the ever growing Axel Project, HDR powered bloom. If you were to remember way way back into January, we had Valve’s prototype HDR pipeline working to an extent, but, it was severely handicapped, in that you had to do two passes, one for opaque objects, and the other for transparent objects and didn’t look that great either.
I took it upon myself to research and come up with a new HDR pipeline, which happened to last a very very long time. After removing Valve’s original code, I started from scratch, using several ideas from various web sites (gamedev.net in particular) and publications. We are using two floating point 16-bit buffers to hold downscaled and blurred luminance values, along with a simple “ping-pong” 4 stage shader pass. This culminated into my whipped up prototype which was enhanced to the point of what your about to see:
Test Video:
This video was rendered in-game at 1920×1200 with AA enabled and Fraps turned ON, hence the kinda stuttering effect you may see (Looks downright mouthwatering on my cinema display btw). Everything is configurable by use of console variables (cvars), even the vignette (*cough*Denis*cough*).
I’m also investigating adding some other shader effects in order to differentiate our engine and give us a somewhat “classier” look.
Current Release 2 Status:
Release 2 is charging ahead, with a ton more done to stabilize the engine core done in the past two weeks. We happen to have an August due date, but as everybody knows, could slip away due to “the fabric of TAP time”.
Happy Fourth of July,
Pat
Hi there everyone, it’s been a long month since we’ve all been busy with school/work etc. I will probably be repeating myself with a few of these updates, since we had some issues with the database and whatnot.
GameUI Animations:
Saul added support for retail-like GameUI animations in the menu in March, making the UI a lot sexier. You can view a video of it in action here:
Model Converter & Decompiler:
Recently ynh and Saul managed to get the decompiler to decompile animations properly, the mesh is still somewhat broken, hopefully I will have something more to post on this in the next update. Our model converter is also progressing well, we’re planning to add a GUI and generally finish it off in the coming weeks. Not sure if we’ll release this publicly but it is possible!
Status and future plans:
It seems that some people out there think that the project is dead (you know who you are), this is completely false. Although progress has been slow recently, we are still on track for a summer release of our second patch, which should fix a lot of the issues in the first patch.
Around a month ago, ben5015se left the team due to some internal conflicts that couldn’t be resolved. In his anger, he apparently decided to leak the R1 code. This has not affected our progress, and the current code we have is a lot better than what has been leaked. We would also like to wish Ben luck with his future “project”.
We’re planning to have a few preview maps for you guys to play around with by the time R2 comes around, Pat has been working on something special I’ll reveal next time
Yes, we have finally released our binaries to the general public! They are available from this link.
There was a lot more that we wanted to ship in this release. But seeing as we’ve had various problems to deal with over the past month, we would never have been able to release. The maps that I was planning to ship will most likely be released in a later update to the bins.
In the meantime, have fun with these bins. They should help hugely with stability and various other bugs that were problems in anon.
And lastly, I’d like to thank the team for their dedication and hard work this past year. None of this could have been done without you
Hi all,
Sorry for the huge delays, I’ve been extremely busy recently (as has the entire team) with IRL matters. But here’s a brief overview of what the team has been up to:
HUD Font support
In retail, many HUD icons use font characters as they are vectorized and don’t look “blocky” at high resolutions. After spending a couple of days playing around with the HUD code, we got it to work. This means the weapon selection HUD looks a lot better, and paves the way for a cleaner CS:S HUD, too.
Multiplayer AI
Ben has been busy getting AI to work in multiplayer, hopefully I’ll have some screenshots for this soon!
Client logos
In the leak engine, there are several exploits related to file uploads, which can result in filling up a server’s hard-drive or even uploading viruses to Windows servers (not good!). Files which clients can upload are now a lot more strict in size, type and location.
Initializing screen
If you’ve used Anon leak, you will have realised the loading screen (before the main menu) is ugly and bland, with a simple “Loading…” on a gray background. This is all performed with GDI, and with GDI it is also possible to draw bitmaps on screen, too. So we read the image data out of the VTF, convert it to a GDI bitmap, stretch it to the window size and paint. Magic!
Congratulations Pat!
Congratulations to our project leader, Pat, who is now the proud father of a baby girl, born on 4th February. During all this, Pat has had the time to build a game distribution network, which will soon be integrated into the engine (hopefully today). More information from the man himself when he has time.
Conclusion
Once again sorry for the late update, I probably won’t be able to make these as regular as I hoped– bi-monthly at the least. Stay tuned for Soda info soon. Peace out!
I don’t know how many people who read this blog (if any) remember ApertureGaming, but it’s been re-opened! Visit http://www.aperturegaming.com
We all look forward to seeing everyone show off their work with the HL2 leak!
/ynh
Hey all! Not much to talk about, but basically a review of what I and the team been doing over the past few days:
Server-side bots
If you’ve ever played Counter-Strike: Source, then you will surely know about server-side bots. These bots are surprisingly good and fun to play with, however this is not the reason we decided to implement them in Axel. As our team lives around the world and none of us have particularily good upload speeds, it’s quite hard to test multiplayer with someone with a ping <100ms. Therefore Pat asked for a test bot framework, “for testing out the engine and net code as well as dm/coop”.
As I know there is bot code in the Source SDK, I took a shot at copy and pasting the bot files over from the EP1 SDK. After a couple of hours fiddling with file includes and changing some functions around, I got the code to compile. However in the game the bots would not move. At all. As I hate copy and pasting code, I decided to scrap that idea and make my own, using the SDK bot as inspiration. If you’ve been following the blog, you should have noticed the link I put to the bot images directory several days ago. This contained screenshots of some very basic (and bad) bots in a square map. The bot:
- If further than x units away from the target player:
- Look at the player’s origin
- Simulate pressing “forward”
- If within x units to the player:
- Move backwards
However the bot had a huge flaw: the player must be in the line of sight of the bot. The bot could, however, climb over objects.
Not being content with the results, I decided to implement the navigation mesh system available in the Episode 1 SDK. I showed a screenshot of the working navigation mesh editor on the blog, too. This was a huge result for me and had taken several grueling hours of porting over EP1 functions and classes, however it paid off. This meant I could now set to work on pathfinding, which I completed today. Take a look at the bot navigating towards me:
Although the bot’s pathfinding isn’t perfect, it’s very ‘fixable’.
Alex is back!
After being away for several months (bad internet connection), Alex AKA G0rdan is back on the team. He immediately set to work on bringing proper animations to HL2DM. Hopefully, HL2DM animations will soon look like this (except with proper weapon detection):
Upcoming code review
If you’ve ever been part of any mod/project team involving coding, you’ll notice that you get off track and start implementing features while the bugs mount up. YNH decided that enough was enough and we’re going to start a code review. In the bug tracker, there are currently six Immediate urgency issues, and four Urgent. These are the “show stopper” bugs that are delaying release. The majority of these bugs can be easily fixed if all of the team’s programmers put their mind to it… so wish us luck!
Conclusion
For once I’ve managed to wrap up everything the team has been up to in the past week, and I’m hoping to make the “Dev update” blog posts more ritual. Therefore dev updates will now be every Sunday (instead of just randomly). This will hopefully allow me to cover everything, plus I’m usually free on Sundays. Peace out.
There’s nothing better than a bot that can follow you and avoid grenades, so I decided to spend a couple of hours today and it (surprisingly) worked very well. Check the bot folder in the images directory to see more!



