Jump to content

Recommended Posts

Posted

Step%201.2.jpg

width=336 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%201.4.jpg[/img]

 

01. First, set the background colour: in a new Photoshop document, create a fill of a solid jade green (I used #90aea7) or a chilly mid-blue. Then add a new layer and select Filter > Render > Clouds, ensuring you have black and white as the background and foreground colours respectively. Then select Filter > Blur > Gaussian Blur, setting the radius to 180 pixels, and change the blending mode to Overlay.

 

width=343 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%202.1.jpg[/img]

Step%202.jpg

 

02. Now let’s make the background lighter. With the cloudy layer selected, go to Image > Adjustments > Levels. Set the white input levels to 165 – this will increase the white areas of the image, creating a good background effect that’s highly versatile for a range of projects, and a great alternative to more conventional linear or radial gradients.

 

Step%203.1.jpg

Step%203.2.jpg

 

03. Next, we need to create the icy floor the bottle sits on. Add a new layer and fill it with white. Then go to Filter > Pixelate > Mezzotint, setting the type to Medium Dots. Then go to Filter > Blur > Motion Blur. Set the distance to 80 pixels and the angle to 0º. You might need to resize the layer a little bit after the Motion Blur filter, as the edges won’t be uniform and the same as in the middle of the layer.

 

Step%204.jpg

 

04. The idea here is to make the floor fade away as though it’s an infinite background. We’ll be using a quick mask to do that. Hit Q to enter the Quick Mask mode and select the Gradient Tool (E). Create a gradient starting close to the bottom and going to the centre of the document. The red area in the quick mask mode is the part that will be shown; the transparent area will be hidden. When you’re happy with it, hit Q again and the quick mask will be transformed to a marquee selection. Then go to Layer > Layer Mask > Reveal Selection.

 

width=341 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%205.jpg[/img]

 

05. For the bottle, we’ll be using an image from iStockphoto.com, which you can buy for a small cost from tinyurl.com/bzs9p7. The image already has a clipping path; import it into the document.

 

Step%206.jpg

 

06. To create the frozen-bottle effect, we need to create a brush that will give us a frosted effect. To do that repeat the same filter we used for the floor. Add a new layer and fill it with white, then go to Filter > Pixelate > Mezzotint. Select the Elliptical Marquee tool (M) and change the feather option to 50 pixels, then create an elliptical selection and go to Edit > Define Brush Preset. Rename the brush to ‘Frosted’.

 

Step%207.jpg

 

07. Go to Window > Brushes ( F5) and select the ‘Frosted’ brush, then enter the following settings to change the brush’s behaviour: in the Brush Tip Shape menu, change the spacing to 10%. In the Shape Dynamics menu, set the size jitter to 100% and the minimum diameter to 20%. In the Scattering menu, change the scatter to 120% and the count to 5. In Other Dynamics, set the opacity jitter to 50% and the flow jitter to 20%.

 

width=341 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%208.jpg[/img]

 

08. Now create another layer above the bottle layer and start painting using the Frosted Brush. It’s important to paint only over the bottle area, so use the Pen tool (P) to create a path around the bottle, then right-click (Cmd + click) and choose Make a Selection. Convert this selection a layer mask (Layer > Layer Mask > Reveal Selection) to mask out everything but the bottle, then paint using this mask.

 

Step%209.jpg

 

09. Now let’s add a thick ice layer is some areas of the bottle. To do that we’ll need to create another brush. Go to the Brush Engine (F5) and select a regular rounded brush of about 100 pixels. Then enter the following settings: in the Shape Dynamics menu, set the size jitter to 100% and the minimum diameter to 1%. In the Scattering menu, set the scatter to 0% and the count to 3. In the Texture menu, select the Noise pattern and change the scale to 20%. In the Other Dynamics menu, set opacity jitter to 50% and the flow jitter to 40%.

 

Step%2010.jpg

 

10. Add another layer and mask it as in step 8, to make sure that you will paint only over the bottle area. Select your new brush in white and start painting some areas that will be frozen. Change the sizes of the brush using the keyboard shortcuts [ and ] to create a varied, more realistic effect – paint with a big brush first and then a very small one. Use a very light grey to create details, such as the shadows right below the bottle cap and the bottom of the neck of the bottle. These little details with the grey brush will add a great depth to the ice effect.

 

width=341 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%2011.jpg[/img]

 

11. Add another layer and, using the same brush at a small diameter, carefully paint a border around the bottle: this will create the rough frozen edge. Also paint over the edges of the ice in the middle of the bottle to create a subtle 3D effect.

 

Step%2012.4.jpg

Step%2012.jpg

 

12. Add another layer, this time right above the frosted-effect layer and, using a normal rounded brush, paint some circles that will become water dots. Vary the size, but make most of them small, with only a couple of larger ones. Then select Layer > Layer Styles > Drop Shadow, setting this to 40% opacity, with the blend mode set to Color Burn, the distance set to 1 pixel and the size set to 2 pixels. Next, select the Inner Shadow menu and use 75% opacity, set the angle to 90º, the distance to 0 pixels and the size to 1 pixel. In the Bevel and Emboss menu, enter the following settings: depth – 730%; size – 4 pixels; soften – 3 pixels; angle – 151º; altitude – 37º; shadow mode – Color Burn with 30% opacity, in a dark red.

 

Step%2013.jpg

 

13. To create the frozen text is simple. First type in your text – to keep it simple I used ‘ICE’ – then add another layer and start painting with the Ice brush we created in step 9. The important thing here is to make sure that the edges are not too uniform, you can even use the Eraser Tool (E) with the Ice brush to erase some areas. Next, use the Layer Style menu to create a shadow (Layer > Layer Styles > Drop Shadow). Set the angle to 90º, the opacity to 30%, the distance to 1 pixel and the size to 1 pixel. Finally, go to Edit > Transform > Warp – you can select a predefined setting or create one – and use it to make the text follow the bottle’s cylindrical shape. Make the height bigger in the centre of the text and shorter in the areas close to the edge of the bottle.

 

Step%2014.jpg

 

14. Go to tinyurl.com/2madgw and download the free brush set; once you’ve installed and activated the smoke brush, create a new layer beneath the bottle layer, and paint some small wisps of smoke around the bottle, as shown here.

 

width=339 height=480http://www.digitalartsonline.co.uk/images/features/1843/Step%2015.jpg[/img]

 

15. Group all the layers involved in the bottle (not the floor or background layers) and duplicate the group. Go to Layer > Merge Group and then Filter > Blur > Gaussian Blur, specifying a radius of 30 pixels. Change the blending mode to Screen and the opacity to 70%. Select the Eraser tool (E) and delete some areas. You’re trying to fake the effect of being in a cold environment. Keep adding details to the composition, such as some clouds in the background and a reflection on the floor.

 

 

Finaly you will make this:

width=339 height=480http://www.digitalartsonline.co.uk/images/features/1843/bottle.jpg[/img]

Credits: Digital Art

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Posts

    • I have browsed this forum for months, witnessing the infinite and endless debate over which datapack is better, whether one is leaked or another is stolen. I constantly see developers from different projects throwing mud at each other for their own convenience. For a novice 27-year-old developer with a dream, all of this is disheartening. Opening a Lineage 2 server in 2026 seems like a titanic goal when looking for stability and scalability. The thought of depositing my only savings into one of these datapacks, praying to God that everything goes well, is terrifying. This is not a destructive critique of any forum member or developer. It is simply a call for reflection: What are we doing for the original essence of Lineage 2? Have we forgotten those memories from when we were young, going to a cybercafé to play for 12 hours straight just to grind a few levels? It seems that instead of providing a quality server to the community—a place where our inner child can enjoy the game—this has become a race where the only prize is money, at the cost of progressively destroying the game's community. Is there actually anyone or any project thinking about this? I know that invested time requires financial return; obviously, we all need to survive and eat. But friends... that isn't everything. Currently, in Argentina, 100% of the servers are garbage and last approximately one month. Corrupt admins, illegal item sales for quick profit, and endless toxic practices. Since I couldn't find the answers I needed, I tasked a generic AI (Google Gemini) with creating an extensive report on datapacks, history, competition, and current objectives. I am leaving it here for anyone who wants to read it. Comprehensive Research Report: The State of the Lineage 2 Java (L2J) Emulation Ecosystem 2020-2026 1. Executive Summary and Strategic Scope The landscape of Java-based Lineage 2 (L2J) server emulation has undergone a radical metamorphosis between 2020 and 2026. What began in the early 2000s as a scattered community effort to reverse-engineer a Korean MMORPG has consolidated by 2026 into a highly sophisticated software development sector. This report aims to provide the definitive guide and the most comprehensive technical analysis available in the market regarding the selection, architecture, and viability of L2J datapacks. A clear bifurcation in development philosophy has been identified: on one side, massive, chronicle-agnostic open-source projects, indisputably led by L2JMobius (and its strategic transition to the MIT license in 2025); and on the other, highly specialized niche projects like aCis (for Interlude) and L2JEternity (for High Five), which prioritize architectural purity and extreme performance through the early adoption of JDK 25. This document not only evaluates "completeness" in terms of game content but also dissects technical debt, legal security, and long-term sustainability. 1.1 Evaluation Methodology To determine the "best" datapack, we applied a multidimensional evaluation matrix: Architectural Integrity: Analysis of code quality, thread management, and modern design patterns. Lifecycle Maturity: Update frequency and leadership stability. Tool Ecosystem: Availability of client editors, geodata generators, and compatible anti-bot systems. Commercial Viability: Ability to sustain a stable economy and support high concurrency loads (500+ simultaneous players). 2. The Technological Revolution: From Java 8 to Java 25 (2020-2026) One of the most critical findings is the quantum leap in the underlying infrastructure. The 2023-2026 period has witnessed a technological arms race. 2.1 The Impact of JDK 25 on Emulation Vanguard projects like L2JEternity and the main branches of L2JMobius completed the migration to JDK 25. Garbage Collection (GC): The implementation of ZGC and Shenandoah has solved the historic problem of "GC pauses" (lag due to memory cleaning). With JDK 25, these pauses are sub-millisecond, allowing for fluid massive combat (Sieges). Virtual Threads (Project Loom): This allows handling thousands of simultaneous connections and AI tasks without the excessive cost of traditional OS threads. 2.2 Network Layer Modernization (Netty) The old MMOcore-based architecture has been replaced or heavily refactored using Netty, optimizing the packet pipeline and improving security against application-layer DDoS attacks. 2.3 Tech Stack Comparison | Project | Java Version (2025/26) | Database | Status | | :--- | :--- | :--- | :--- | | L2JMobius | JDK 21 / 25 | MySQL / MariaDB | Active (MIT) | | L2JEternity| JDK 25 | MySQL | Active (Private) | | aCis | JDK 11 / 17 | MySQL | Active (Private) | | L2JFrozen/Brasil | JDK 7 / 8 | MySQL | Obsolete / Risk | 3. L2JMobius: The Open Source Hegemon L2JMobius emerges as the definitive answer for the vast majority of use cases in 2026, based on three pillars: universality, legality, and tools. Universality: It maintains a unified architecture (monorepo) supporting everything from C1 to the most recent Essence versions. Core fixes propagate to all versions. MIT License (June 2025): A historic milestone allowing servers to modify code extensively and keep changes private without violating the license, legitimizing commercial use. Vertical Integration (L2ClientDat): The team actively maintains client editing tools, ensuring perfect compatibility with the latest protocols (e.g., Protocol 507). 4. The Battle for Interlude: Purism vs. Modernity Interlude (C6) remains the most demanded version. aCis (The Gold Standard): Obsessed with code quality and "Retail" fidelity. Ideal for Low Rate servers (x1-x10). The free version is often stale; the paid version is the professional choice. L2JMobius Interlude: The practical "batteries included" alternative. Includes popular mods out of the box and benefits from the modern core. Ideal for Mid/High Rate PvP servers. Warning: L2JFrozen and L2JBrasil are considered obsolete and dangerous in 2026 due to security vulnerabilities and unmaintainable code. 5. The High Five Sector: Commercialization and Risks L2J Sunrise: Positions itself as a "turnkey" solution, but its closed code creates total vendor dependence. Risky for long-term projects. L2JEternity: The technical gem for advanced admins. Pioneer in JDK 25 and offers native support for protections like Strix and SmartGuard. 6. Essence and the Modern Era For Essence, L2JMobius has no real competition in the free Java space, reacting to NCSoft updates with supernatural speed. Russian commercial alternatives (L2-Scripts) exist but come with high costs. 7. Ecosystem and Auxiliary Tools Geodata: Essential to avoid movement errors. 2026 hybrid engines reduce "wall-shooting." Vote Reward: Middleware systems like VDSystem or iTopZ are mandatory, and modern datapacks already include the necessary hooks. 8. Conclusions and Definitive Recommendations After analyzing repositories and trends up to January 2026: Overall Winner: L2JMobius. Best ratio of features/modernity/support. Purist's Choice (Interlude): aCis. Unbeatable mechanical fidelity. Performance Option (High Five): L2JEternity. Extreme optimization. Final Warning: Strictly avoid L2JFrozen, L2JBrasil, and black-box projects like Sunrise for critical infrastructures.
    • I’ve seen tools like Find Person Name by Photo come in handy for creators who want to understand their audience better or spot fake accounts trying to piggyback on their growth. Pairing something like that with a solid SMM panel can make your workflow feel way smoother, especially if you're trying to grow without getting tangled in guesswork.
    • Join our discord: https://www.lineage2.cz/discord  
    • You should buy it then I’ll make a discount  
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock