Jump to content
Age of History

Club Directory

All Clubs

  • Open Club  ·  6 members  ·  Last active

    This club hasn't provided a description.

  • Public Club  ·  Last active

    this is for our game against that fnf join for the restoration for aoh2 and against memmososisi
  • Open Club  ·  85 members  ·  Last active

    This club is for all monarchists (me), and people who love Germany! (no wherboos welcome) And the official group for the SPQR and Ultimate Music mods!

  • Open Club  ·  42 members  ·  Last active

    Join The Creative and Amazing AOCII Modern Day + Team! Thanks! Check Out The Mod!!! --> http://www.ageofcivilizationsgame.com/topic/1324-modern-day-mod/

  • Open Club  ·  7 members  ·  Last active

    Post NK Related topics here, mods, screenshots, and maps. Praise your glorious leader for a high rank, if i dont approve of you, i will have you work in labor camp until i do discord https://discord.gg/ddhaYZt

  • Open Club  ·  16 members  ·  Last active

    In Whiskers Club, we Create Mods. It doesn't matter what kind of mod, or if you just created a simple scenario, you are free to join no matter what.

  • Open Club  ·  32 members  ·  Last active

    Este clube é para todos os brasileiros que adoram este jogo. 🇧🇷🇧🇷🇧🇷 Discord: https://discord.gg/sy7qgUV

  • Open Club  ·  2 members  ·  Last active

    shout out to the drainers wake up all your neighbors.

  • Open Club  ·  24 members  ·  Last active

    You are a map creator and want to talk with other map creator? this is for you

  • Open Club  ·  57 members  ·  Last active

    Un Club Donde Cualquier Hispanoablante Puede Entrar :D
  • Open Club  ·  5 members  ·  Last active

    An Romanian AOC Club. You are not romanian? No Problem you can still enter and post on English ZONE!

  • Open Club  ·  83 members  ·  Last active

    A club for people who play my mods and scenarios.

  • Open Club  ·  7 members  ·  Last active

    All of the scenarios I have made will go here

  • Open Club  ·  4 members  ·  Last active

    A club based around the Scenarios that Lildawg has made. Like The Dust Settles and Imperium. The club contains all of the posts made about the came and a thread for suggestions.

  • Open Club  ·  40 members  ·  Last active

    Anything about my work. and your ideas.

  • Open Club  ·  23 members  ·  Last active

    This is a club for the K+ Mod Project. The followers can follow the update of this mode and get information. The Club Leaders: ieunal61 , Hurtlyz

  • Open Club  ·  10 members  ·  Last active

    This club hasn't provided a description.

  • Open Club  ·  6 members  ·  Last active

    Here we talk about the massive scenario in the works.

  • Open Club  ·  13 members  ·  Last active

    For Mobile Users

  • Open Club  ·  11 members  ·  Last active

    Ilovethisgame2's club.You can join if you love this game too :)

  • Open Club  ·  2 members  ·  Last active

    Well the bots took over the page so we have to retreat to clubs!

  • Public Club  ·  Last active

    In this club, you can talk freely about what you want. Different ideas are welcome. You can advertise your scenarios and mods.
  • Open Club  ·  9 members  ·  Last active

    This club is for who's writing stories and likes stories.

  • Open Club  ·  25 members  ·  Last active

    I have decided to make a club for all projects made by me. I can now have an easier way to post progress updates frequently without flooding my scenarios wall. This group is for all fans of my scenarios such as 1920 and Fall of Communism. Expect much more to come!

  • Topics

  • Posts

    • Hello Programmers, Comrades and Modders! For years, we have been creating scenarios and events restricted to static images. We add a picture of a war, and it just sits there. A picture of a nuclear explosion? Static. But not anymore.   I have been digging into the source code and I realized something crucial: Age of History 2 runs on LibGDX. Why does this matter? Because LibGDX natively supports complex animations via TextureAtlas and Animation classes. The code was always there, sleeping inside the game engine, just waiting for someone to wake it up. I have successfully implemented fully animated, looping events without breaking the original game compatibility.   🚀 What I Achieved I modified the Menu_InGame_Event.java class. The logic is simple but powerful: When the game tries to load an event picture (e.g., war.png), my code first checks if a .atlas file exists with that name (e.g., war.atlas). If it exists: It ignores the static image and loads the SpriteSheet using the Atlas, creating a smooth loop animation. If it doesn't exist: It falls back to the default code, loading the static .png or .jpg just like the vanilla game. This means you can have animated events and static events in the same scenario without any bugs!   // Logic inside Menu_InGame_Event Constructor String sEventRawName = CFG.eventsManager.getEvent(EVENT_ID).getEventPicture(); String sBaseName = sEventRawName; // remove extension logic... // Check if the .atlas exists if (Gdx.files.internal("UI/events/" + sBaseName + ".atlas").exists()) {     // Load the Atlas and create the Animation     this.modAtlas = new TextureAtlas(Gdx.files.internal("UI/events/" + sBaseName + ".atlas"));     Array<AtlasRegion> regions = this.modAtlas.findRegions(sBaseName);     this.modAnimation = new Animation(0.15f, regions, Animation.PlayMode.LOOP);     this.isAnimatedEvent = true; } The Rendering (The Draw Method): We use stateTime (delta time) to calculate which frame to show: In the draw() method, instead of drawing the static Image object, you use the stateTime (delta time) to get the current frame from your Animation and draw it using the SpriteBatch. // Inside the draw() method if (this.isAnimatedEvent && this.modAnimation != null) {     this.stateTime += Gdx.graphics.getDeltaTime();     TextureRegion currentFrame = this.modAnimation.getKeyFrame(this.stateTime, true);          // Draw the current frame     oSB.draw(currentFrame, x, y, width, height);          // Force the game to keep rendering (otherwise it pauses on static screens)     CFG.setRender_3(true); } 📂 How to make your own Animations You don't need to be a coder to use this once the code is in the game. You just need: A SpriteSheet: A PNG containing all frames of your animation. An .atlas file: This maps the frames. You can generate this using GDX Texture Packer (Use the Legacy settings/version, this is crucial!). Place both in UI/events/. I am attaching an example (SoldierRunning.atlas and SoldierRunning.png) so you can test it yourselves.   🌟 The Future Imagine the possibilities: Events with soldiers actually marching. Nuclear explosions that animate. Flags waving in the event wind. News tickers scrolling. The engine was always capable of this; we just had to write the lines to let it speak! Although I used it for events, it's more than that and can be used in any other contexts or images! I am not releasing my file, not because I wanna lock knowledge, it's because I think it's simple to people to do, and because my code is full of nonsense (like superevents, etc) I will send a .gif file showing the use of it (what I achieved!) Download the example files below! SoldierRunning.atlas (first and last line are blank.) file:   SoldierRunning.png size: 2048, 2048 format: RGBA8888 filter: Nearest, Nearest repeat: none SoldierRunning rotate: false xy: 2, 1478 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 7 SoldierRunning rotate: false xy: 2, 1109 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 14 SoldierRunning rotate: false xy: 502, 1478 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 19 SoldierRunning rotate: false xy: 2, 740 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 4 SoldierRunning rotate: false xy: 502, 1109 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 11 SoldierRunning rotate: false xy: 1002, 1478 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 9 SoldierRunning rotate: false xy: 2, 371 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 16 SoldierRunning rotate: false xy: 502, 740 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 1 SoldierRunning rotate: false xy: 1002, 1109 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 6 SoldierRunning rotate: false xy: 1502, 1478 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 13 SoldierRunning rotate: false xy: 2, 2 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 18 SoldierRunning rotate: false xy: 502, 371 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 3 SoldierRunning rotate: false xy: 1002, 740 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 10 SoldierRunning rotate: false xy: 1502, 1109 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 8 SoldierRunning rotate: false xy: 502, 2 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 15 SoldierRunning rotate: false xy: 1002, 371 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 5 SoldierRunning rotate: false xy: 1502, 740 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 12 SoldierRunning rotate: false xy: 1002, 2 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 17 SoldierRunning rotate: false xy: 1502, 371 size: 498, 367 orig: 498, 367 offset: 0, 0 index: 2 Let's modernize Age of History 2!

  • Posts

×
×
  • Create New...

Important Information

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. Age of History Games