• Register

This member has provided no bio about themself...

RSS My Blogs  (0 - 10 of 19)

2023 Summary

malortie Blog

2023 Summary

Studies

Blog updated. See (2024-01-26)

Half-Life Unified SDK

In this article, I explained that I have been contributing to Half-Life Unified SDK.

All mandatory work is done.

I would like to inform that the project's first version (1.0.0) has recently been released.

Projects in work

- Mod patcher tool (preview)

Other

- Gamepad UI support for older source mods (proof of concept)

In 2022, Half-Life 2 games were updated. The update added a new UI (Gamepad UI).

That year, before my return to studies, I quickly worked on a proof of concept to see how it would look like for older Source mods.

This presentation shows the mod 'Ravenholm' running under Half-Life 2 (Not Source SDK Base 2013) with custom Gamepad UI graphics to match the original mod's theme.

As explained in this article, I planned to revisit the Source SDK Base 2013 patches. The Source SDK Base 2013 does not officially implement support for the new UI but according to the following below, there is potentially a possibility to be able to integrate it.

Developer.valvesoftware.com
Github.com

If it's not possible, the mod would have to run under the base game.

One way or the other, if I come to revisit the Source SDK Base 2013 patches, would you be interested in custom Gamepad UI graphics as seen in the presentation ?

Let me know what you think.

In 2013, SteamPipe content distribution system was introduced in Source games. Source games were updated to use this new system. This made many older mods unplayable due to the older mounting mechanism incompatible with SteamPipe's mounting mechanism. It is possible to get pre SteamPipe Source mods working again but this requires a lot of manual fixes and adjustments.

Lately, I have been working on two tools that can do the work automatically. See the following:

The presentation shows a preview of the tools and nine pre SteamPipe Source mods (before and after fixes). Note that this is a WIP. In each mod, not all areas and or cases are yet covered and reviewed.

I still have a couple of unit tests to write and retest all mods shown in the presentation. After that, I'll make the repository public and release a first build of the tools.

Update.

malortie Blog 2 comments

2022 summary

2022 has been a busy year.

From late December 2021 up to now, I have been mainly contributing to Half-Life: Unified SDK. The project is still in pre-alpha but you can check the releases if you wish to try.

Aside from a couple of contributions in code, I have mostly been updating models to allow them to work across all 3 campaigns. Several meshes, textures, UVs were reworked so that they could be reused across models whenever possible. Various mesh and animation quirks were also fixed. See 'Additional information' at the end for more details.

So far, all major work related to models that's required to play through all campaigns is expected to be complete but there are a couple of minor improvements/adjustments that still remain for which I'll try to address in my spare time. Note that due to my return to studies, this is likely to occur only between sessions.

Source SDK 2013 patches

I have been asked if I would continue work on Source SDK 2013 patches.

Prior to a few months ago, I had considered eventually reviewing all existing patches and improve/fix issues. This was originally to occur after finishing modeling work for Unified SDK but due to my return to studies these plans are currently on hold.


Additional information

While adjusting models, various challenges arise. For example, HL1 and Blue Shift scientists models have different bone hierarchy, names, length, etc. incompatible skeletons. This required developing utilities to retarget animations onto a different target skeleton, uniformly, adjusting bone lengths and doing other operations in the process.

Although the tool was made for a one time use, it has been sufficiently flexible so that I was able to add specific animations (originally exclusive to certain models) to other models that have similar bone structure e.g.

  • HL1 grunts <-> Op4 grunt allies <-> Male Black Ops
  • HL1 scientist <-> Cleansuit scientist
  • Barney <-> Otis

This should give mappers the chance to use shared animations in different ways.

As of September 2022, due to professional objectives and endeavors I returned to University to continue my studies in Computer Science, part time.

I had previously attended University back in 2014-2015 but decided to leave for various reasons, notably insufficient grades. I am currently under conditional admission and have to fulfill criterias.

Since then, I have completed a college diploma (2018) and various courses were credited, therefore increasing the overall progression. Here a bachelor is comprised of a total of 30 courses (internships excluded). After the current session, I will have the equivalent of 15 courses done.

So far things are going as planned but there will be uncertainty at least until fulfillment of conditional admission. I will update the current blog when possible regarding this matter.

Until then, I will be away for an undetermined amount of time. I might occasionally check for new comments/questions but I will not have time to address technical issues.

This is to inform that all Half-Life mod SteamPipe patches, now referred to as Half-Life mods reimplementations, have been updated. A lot of restructuring has been made within the code.

For each project:

  • Source code has been reviewed and reworked for some parts
  • Almost if not all features were retested
  • All found issues were fixed

In addition, all mod source code have been moved to their own repository. Please report issues at the corresponding project repository. Issues reported in the comment section are still accepted.

Remember, the releases do not include the full mod. You must install each original mod, and apply the Release files onto the original mod files.

Links:

Afraid of monsters (Original)

Indiedb.com
Github.com

Azure Sheep

Indiedb.com
Github.com

Big lolly

Indiedb.com
Github.com

Blackops

Indiedb.com
Github.com

Escape from the Darkness

Indiedb.com
Github.com

Swiss Cheese Halloween 2002

Indiedb.com
Github.com

Half-Life: Invasion

Indiedb.com
Github.com

Half-Life: Visitors

Indiedb.com
Github.com

Night at the office

Indiedb.com
Github.com

Poke646

Indiedb.com
Github.com

Poke646: Vendetta

Indiedb.com
Github.com

The Gate

Indiedb.com
Github.com

They Hunger Trilogy

Indiedb.com
Github.com

Times of Troubles

Indiedb.com
Github.com

Over the years, I created many 'Steampipe patches' for various Half-Life mods. The Steampipe patches are not actual ports of the original source code of those mods, but re-implementations from scratch made to reproduce as closely as possible the behavior found in the original mods. Some of the original Half-Life mods with custom compiled code feature entities with little to no changes and were easier to reproduce, while other mods such as Poke646 feature more complex entities/NPCs that were harder to reproduce. The behavior found in the re-implementations was not 100% accurate, but an approximation.

The goal of these re-implementations was to be able to sufficiently reproduce the behavior of mods, fix bugs that possibly existed in the original mod release through re-implementation, and provide source code to allow people interested in expanding those mods, the chance to do so.

Recently, I found out that several mods for which I made a 'Steampipe patch' have been reverse engineered. Reverse engineering is a difficult subject for which I am not really knowledgeable, but when done correctly with the appropriate tools, and with sufficient understanding on the subject, it is possible to 'rewrite' source code using information extracted by decompilation; disassembly; etc. In the context of a Half-Life mod, and assuming all entities and custom game logic have been correctly reverse engineered, the resulting behavior is almost, if not, 100% identical to the one found in the original mod.

In contrast to my 'Steampipe patches' which currently only work on Windows and are 'approximations' of the behavior of original mods, the reverse engineered mods have been made cross platform and likely offer a better, if not, exact replica of the behavior found in their associated mod. For these reasons, and also because they can provide a better; closer experience to the original mods, I made the decision to archive my 'Steampipe patches', precisely the ones that have been reverse engineered and or have been made cross platform. It implies that I will no longer be providing support for these patches, as from now on I will be recommending users to download the reverse engineered cross platform ones.

The source code for my Steampipe patches will remain available on my Github repository for people that might still be interested in using it.

I requested the removal of the Blue Shift: Unlocked Steampipe patch, and the patch has been removed.

The reason for removing is due to potential infringement of Gearbox's EULA. Please note that I am not a lawyer, but I have been reading several notes about Steam and Gearbox's EULA and there are a few things that I wish to highlight.

It is important to note that Half-Life: Blue Shift is a game developed by Gearbox Software. Therefore it is Gearbox's intellectual property. According to Gearbox's EULA, it is prohibited to 'reproduce', as well as prepare 'derivative works' based on any game developed by Gearbox. Again, I am not a lawyer but from my understanding, it appears that Blue Shift: Unlocked would represent a kind of 'derivative work'. This means that the Steampipe patch I created being a re-implementation of Blue Shift: Unlocked also constitutes, by definition, a 'derivative work'.

Secondly, one thing to note in Half-Life: Blue Shift is that the file format differs from the original Half-Life file format. Back when I was working on the Steampipe patch of Blue Shift: Unlocked, I found a website detailing the differences between the file formats of the original Half-Life and the one from Blue Shift. Despite the two file formats are 99% identical, the reason for this slight difference is unknown. The thing to note is that I wrote a tool to convert Blue Shift maps files to Half-Life maps. According to Gearbox's EULA, doing such thing also seems to be prohibited.

A few years ago, I was asked about the release of the source code for the tool I wrote that allows to convert Blue Shift map files to the Half-Life map format, but since I was unsure what was Gearbox's rules and restrictions on such tool, I emailed Gearbox Software, asking for the permission to release the source code of my tool. I never received a reply regarding this subject, and simply kept the tool closed source. The discussion I had is what started me to think about potential legal issues. As time went on, I went more and more concerned about this subject, and I recently decided that I would simply remove my Steampipe patch for Blue Shift: Unlocked, as I want to avoid being at risk of pursuits.

Back then, I was not thinking about these details as much as today, and I wish to take the time to apologize to Gearbox Software for any infringement that could have potentially been made by the making of the Steampipe patch.

Finally, in the past, I made several other projects including an unfinished re-implementation of Half-Life: Opposing Force, as well as a re-implementation of Half-Life: Blue-Shift, possibly unfinished too. Due to the reasons of potential infringement to Gearbox's EULA, I also removed these projects and decided that I will wait until Gearbox publishes an official statement regarding the use of their intellectual property in Goldsource mods before making these projects available again.

Here is the list of projects that have been removed:

  • Github.com - Steampipe patch of Blue Shift: Unlocked
  • Github.com - Re-implementation of Half-Life: Blue Shift (possibly unfinished)
  • Github.com - Unfinished re-implementation of Half-Life: Opposing force
  • Github.com - Same as unfinished re-implementation of Half-Life: Opposing force, but with Visual Studio 2017 support

Until Gearbox releases an official statement about the use of their intellectual properties in Goldsource mods, I recommend anyone currently using content from the repositories and branches listed above, to stop using this content, as the use of such source code may be risky according to Gearbox's EULA.

Context


This article is a follow up to my previously written article, which can be found here. If you wish to get a better grasp at my current situation and why I am currently writing this article, feel free to read.

Many months have passed without any proper news released about the Half-Life 1/2 Unreal engine 4 port that I considered attempting to do in my spare time. I do feel embarrassed to write these words because I stated I would let know about the status of the project, regularly.

As stated in my last article, I graduated, found a work and am now working full time. I really love the work I do and I pour a lot of energy into my work. When I get home, I have very few energy left to put into game modding.

Lately, I began having less and lesser motivation to work on projects such as porting HL1/HL2 to Unreal engine 4, coding patches for HL1/HL2 mods. This could be potentially due to the fact I have few spare time, now that I have a work, have more responsibilities and am taking driving lessons in parallel. This loss of motivation could also be happening because I have been playing those games for a long time and am simply bored and looking to try out new experiences.

I am writing this to let anyone following my blogs know that it is impossible for me to tell when I will continue working on these projects. It may or may not happen.

I will still remain active from time to time to answer any question people might have.

Sincerely,
malortie.

Future plans

malortie Blog 2 comments

Context


This article is a follow up to my previously written article,
which can be found here. If you wish to get a better grasp
at my current situation and why I am currently writing this
article, feel free to read.

About 1 1/2 week ago I finished my semester but I could not
write this announcement until I would have found employment.
I found a work as a software developer and am expected to
begin work in about 2 weeks.

Current state of Source engine


More than a year ago, I did write this blog post in which
I explained the lessening support for Source Engine and
how I believed it could potentially become nearly impossible
to develop for the Source Engine in the upcoming years due
to the end support of compilers that remain capable of
compiling Source Engine projects. In this blog, I explained
that I was willing to attempt porting most of the Source mods
to Garry's mod. I realized that it would work well in cases where
mods would only contain new levels, or only new weapons. However
mods that include altered HL2 NPCs or entirely new NPCs would
require myself to implement an equivalent of the entire AI system
for Source. While one could rewrite a system based on it's actual
code, Garry's mod API was not enough flexible to alter engine
coded NPCs such as antlions, citizens, combine soldiers, etc...
Due to both engine AI code and mine overlapping each other,
the resulting NPC behaviors would not be stable.

S&box (Sandbox)


A few months ago, I came across this game which appears
to ressemble to a possible successor for Garry's mod.
Upon viewing WIP videos, I was impressed. It appears that
Facepunch Studios is working on a prototype of a sandbox
theme game, which could eventually result in an actual game.
As explained in this document, it appears that the game would
be able to import Source Engine maps along with models and
materials. I began to wonder if this game could be an
appropriate alternative for porting mods to a more recent
engine (UE4).

Unreal Engine 4


Following this reasoning, I began working with the Unreal Engine.
So far, I am enjoying it. Starting from the available FPS sample,
I continued by importing Half-Life 1 models into the game, making
them play sequences, etc. The reason for working with the Unreal Engine
is to familiarize with it's use until the release of S&box but also
to try to bring a proof of concept for mods running under this new
engine. Such an opportunity could potentially represent a way to
attract a new generation of level designers for both HL 1/2 games.
Technologies evolve and it is possible that in the long run, HL games
could end up having compatibility issues for which one could not fix
because of Source's unreleased engine source code. At this point, I do
believe that a migration or even a complete port of the game's source
code should be done on a more recent engine in order to allow classic
HL 1/2 mods to continue living. Please bear in mind that this only
represents my opinion.

What should I do?


At this time, I am still uncertain with the direction to take.
Since the beginning of the year, I have had a couple of requests
for porting several mods to Source 2013. On the other hand, I am
still willing to attempt to bring a proof of concept of HL mods on
the Unreal Engine but such work is still really in early development.

You can submit your vote here.

Patience is always appreciated


I do enjoy playing games, mods and experiencing the creativity of
the modding community and I consider it to be an important part of
my spare time. Please bear in mind that I have higher priorities in
real life than working on game mod related projects, so I may not
always be able to deliver updates on time as I would have announced
previously. I can promise you that I will do my best to communicate
how the situation evolves and changes, but I will not be able to
tell how long delays might be.

Thank you for your comprehension.

Sincerely,
malortie.