Thread: Lost City (225 Emulation)

Page 1 of 7 123 ... LastLast
Results 1 to 10 of 62
  1. #1 [May 2004] Lost City 

    Join Date
    Oct 2013
    Thanks given
    Thanks received
    Rep Power
    Attached image
    Lost City

    Everything is open source! We also have an active community of contributors on discord.
    Server repo: GitHub - 2004scape/Server

    Our content language is a remake of RuneScript (compiles like CS2) and our config formats are as authentically accurate as we can make them. The entire client cache is built 1:1 (CRC matches) from source files in the repo, while the server builds a cache for itself with extra data included.
    The project has a huuuge focus on authenticity. The goal is to preserve the old game after all. :) We're taking great care to be era-accurate, bugs and all.
    If you're looking to contribute come join us on discord!

    We also have a functional JS webclient, and restored the original May/June 2004 website via snapshots.

    Spoiler for Feb 2023 Update:

    Discord cross-post (Feb 24):

    1) Desktop Webclient: Done
    - This is feature-complete. The only improvements to be made here would be optimizations, although Chrome-based browsers work really well.
    - Sound and Music work after you interact with the page.
    - TODO: There's one bug to be figured out with an internal delay counter (workaround in place) but that isn't blocking anything. It can be seen with jingles looping, in the Java client it doesn't loop, but in the webclient it loops once before switching back to music. It's counting down differently.

    2) Mobile Webclient: "Functional"
    - iOS Safari does not support full-screen canvas elements. There may be a workaround I'm looking into, which requires people add bookmark shortcuts to their home screens.
    - Android supports full-screen and seems to run well.
    - Sound and Music work after you interact with the page.
    - TODO: There is a tap delay on Android in fullscreen, looking into this.
    - TODO: Both Android and iOS have no virtual keyboard popup yet to type. Working on this. In the mean time you can log in without any username to see it load.
    - TOOD: Camera controls.
    - TODO: Would like a 2nd input mode so you can either tap-to-click or move around a virtual cursor.
    - TODO: Need to disable some browser behaviors so you can long-press or double-press.

    3) Server: Proof-of-concept stage (pre-alpha)
    - You can log in and walk around. Music will change based on the area you're in. Any region that existed back then will load.
    - There is an interaction system, a script queue system (integrated with the dialogue flow), and the network protocol is fully functional. Care is being taken so all original behavior is emulated, and you will be able to manipulate ticks just the same.
    - Some NPCs have basic dialogue scripts written: Men (random selection of dialogue), Thessalia (no makeovers/shop yet), Baraek (yes you can run ::item 995 20 and receive a Fur), and the Gypsy (no quest... she'll think you've finished Demon Slayer currently), and Romeo (also no quest, you can hear him complain at least). The chathead expressions have not been implemented yet, they use a placeholder anim.
    - A couple item processing skills (Herblore and Fletching) have been implemented for testing. Pickpocketing and Woodcutting technically appear but are not properly functional.
    - Some skill unlocks have been mapped out and the appropriate jingle plays on level-up.
    - A few "inauthentic" improvements have been made to the map data, Port Sarim was fixed up a bit and some tile bugs were cleaned up in other regions.
    - Banking works. Nothing else to do there besides fix a general interface bug (see below).
    - Most ladders are functional but they may be blocked by doors to reach them...
    - Cross-world saving. The free world and members world sync to a single master server. Login does not check if you're in a members zone right now.
    - CI/CD for server deployments, any time a commit is made all instances notify the player of an update and restart after the in-game timer is up.
    - TODO: Zone updates - Ground items, opening/closing doors, chopping down trees, etc. WIP.
    - TODO: Fix loc interactions to span multiple tiles (this will fix chopping trees and using stairs)
    - TODO: Following NPCs/players
    - TODO: Combat (this is a big one - sounds, animations, combat cycles)
    - TODO: There is an interaction script bug causing dialogue interfaces to get cleared and reappear at the same instant, you may see a flicker.
    - TODO: Social features (friends/ignore list and PMing)
    - TODO: There's a button state bug that can cause the client/server to get out of sync after login. They're supposed to restore with the current code in place but still working out what's wrong there.
    - TODO: Equipping items.
    - TODO: Cleanup NPC spawns. The current list was converted from OSRS.
    Some of these TODOs will come with the next server update ��

    4) Website: Static templates done
    - The majority of pages, skill guides, FAQ, and quest descriptions should be linked correctly and load.
    - TODO: Need to create a Secure Services login page.
    - TODO: Need to create an Account Management page.
    - TODO: Need to create a dynamic hiscores area.
    The next step for the project is closing out some of the TODOs in the Mobile Webclient and Server sections. You can connect and see things for yourself now, but the alpha won't begin until some of the important ones are done.

    Expect the alpha announcement coming up in the next 1-3 weeks - it means all the systems are in place and some content is starting to be written, and I need people to try and break things. Beta will mean the core is solid and content is well underway (50%?) and may come 3 months after alpha. Release will mean everything is done!

    Spoiler for Old Post:

    Last month I organized and released a bunch of revision 225 data and refactored the client: Revision 225 (2004) Cache/Client/Packets
    I figured it was time I actually used that data now that I've had a few more weeks to play around with things. Seeing the progress George has made, as well as rebecca starting on their own project, inspired me heavily.

    I have a few goals with this project:
    1. Re-create an authentic May 2004 experience*. This isn't limited to just the server content. I'm also working on making a 2004 clone sourced from all the mostly-complete 2003-2005 backups out there
    2. Share all this work openly when it's something worth showing off. And if I never get to that point, whatever I have will still get released. It's no fun seeing promising threads die into obscurity
    3. I'll host a reference server, but I really want to build something for other people to run themselves if they want to. There's a lot of value in being able to always have a good emulator ready to spin up whenever you want
    4. To have fun making it! That's the whole point here anyways

    * Some files we just don't have, in which case I filled missing gaps in maps, songs, and jingles from 289 (Jan 2005). I'm using as much original data as possible (610 map files, 135 midis). I can safely say that the cache I've put together is "100% complete" although maybe only like 99% authentic in some rare cases.

    You can find my refactored client on GitHub: GitHub - Pazaz/RS2-225, and I have a wiki that I occasionally write pages on i.e. Just a moment...

    Project Progress
    If a section isn't listed, I haven't gotten around to starting it.

    Attached image
    Music Player
    Overview: 100%
    + MIDI player with fading and volume control.
    + Identified all original jingles for level up, death, and quest completion to send when implementing content.
    + Identified all original songs.
    + Created a region map for every song to play in their original 2004 region.
    + Fully functional music player, with locking/unlocking tracks done via varps, and auto/manual buttons controlling the region auto-play.
    Update Reply 1

    Attached image
    NPC Behavior
    Overview: 35%
    + NPC spawns - imported wiki OSRS spawn dump and converted IDs+variant IDs to 225. Need to remove extra spawns.
    + NPC spawn directions for fixed NPCs (e.g. bankers) - imported .ssh/_jordan's OSRS spawn dump for directions.
    + NPC wandering range - need clipping masks generated on server.
    - NPC aggro range.
    - NPC/Player combat.
    - NPC/NPC combat.
    - NPC loot drops.
    Update Reply 2

    Attached image
    Optional Improvements
    Overview: Can't quantify, this section is polish
    + "2005" client navbar. 2004's web client had a very minimal one instead that I chose not to replicate.
    + Anti-aliased minimap.
    + Sky colors per region, similar to how songs autoplay - need to finish mapping every region.

    Overview: 15%
    + 2004 index page
    The player count updates real time as well. Marked as yellow because there's no polls system in place so that text is all placeholder.
    + News posts system
    It's full of test data right now, but it gets templated by the server correctly.
    - All other pages


    Spoiler for Game Screenshots:

    Character design interface

    Attached image

    ::date command which shows the original date of the map file

    Attached image

    Varrock Square:

    Attached image


    Attached image

    Ardougne Market:

    Attached image

    Before Burthorpe:

    Attached image

    Before Castle Wars:

    Attached image

    Old Zanaris, later updated in 2006:

    Attached image

    Goblin Village

    Attached image

    Welcome Screen

    Attached image

    Spoiler for Website Screenshots:

    Index page:
    Attached image

    News posts (dynamic, test data):
    Attached image

    Specific news post (dynamic, test data):
    Attached image


    - SnowEssence (Rakuten) for helping me find some old 2004 site assets.
    - mejrs' OSRS spawn dump.
    - .ssh/_jordan for their OSRS spawn dump, that I sourced many NPC directions from. Just directions - didn't want to overpopulate the world with two spawn dumps.

    I've taken care to get any OSRS-related configurations to work in 225, many things are different. I'll release all of my NPC spawn configurations and any scripts I made in the process of getting the world populated.

    Spoiler for Thread Edit Backups:

    I don't have any plans to add any QoL features right now. Any additions I make will probably be subtle cosmetic additions.
    This was written from scratch and doesn't use any existing base out there right now. It means content/systems will take longer, but I can also document everything along the way.

    Currently Implemented:

    - HTTP, RSA, ISAAC, no shortcuts here!
    - Sending maps, songs, and jingles
    - Player update masks.
    - Playing songs, with fading and volume control supported
    - Playing sound effects (really basic right now)

    - Songs defined for every single region, accurate to May 2004. (2/22/2022)
    Doesn't matter if it's Y 44 or Y 154, I took the time to go through each one and cross-check a few sources. I've updated an old post of mine here with that list Complete list of music IDs with their respective names and region IDs
    - Nostalgic navbar above game (see first picture above). (2/23/2022)
    Each icon/label is a Swing component, and they have event listeners for mouse clicks. Planning on some integration with a website.
    - Unlocking locked tracks in the music player (2/25/2022)

    - Sky colors!
    The server has the ability to send the fill color to the client when entering a region. It's an optional feature, but if it's enabled then you don't have to run around a world stuck in an endless void.
    I have a big table I've made where I work on coming up with good colors that contribute positively to the feel of that region.
    - MIDI soundfont downloads with the other archives
    The client downloads a small soundfont file (2 MB) to help with the consistency of instruments... RuneScape in 2004 was at the mercy of your browser/OS.
    - A World Map applet
    They were two entirely separate programs before, and I've refactored both the client and map applet to be bundled together in the same codebase.
    - Anti-aliased minimap

    - Event queue system (Kris' OSRS documentation will be critical to get this right)
    - Combat system
    - Dialogue system
    - Quest system
    - Inventory/item handling
    - Object system for ground objects

    - NPC roaming (clipping masks)
    - Quests
    This list will be filled out as I get to implementing each quest. It's a while off as I need all the previous systems in place before it's worth starting.
    - Skills
    This list will be filled out as I get to adding features for each individual skill.

    It's mostly protocol stuff that's been handled so far. Basically the client can download the cache, run around, and hear songs play/fade to the next one as you enter new regions. Map data gets sent to the client and saved locally as you enter regions, there's no on-demand protocol as that came out in revision 234. I'm working on writing the different necessary systems, then content.
    I also had an obsession with getting the music system done properly before any other content/systems. I figured I should give myself some good tracks to listen to while I work on everything else.

    Last edited by Pazaz; 08-04-2023 at 05:44 AM.
    Reply With Quote  

  2. #2  

    _jordan's Avatar
    Join Date
    Nov 2012
    Thanks given
    Thanks received
    Rep Power
    Sweetness. Goodluck
    Attached image
    Attached image
    Reply With Quote  

  3. Thankful user:

  4. #3  

    Join Date
    Dec 2013
    Thanks given
    Thanks received
    Rep Power
    Huge respect for going open source. As you said, so many great projects disappear when the devs inevitably run out of time.
    Reply With Quote  

  5. Thankful user:

  6. #4  
    Registered Member

    Join Date
    May 2020
    Thanks given
    Thanks received
    Rep Power
    Good luck! looks good
    Reply With Quote  

  7. Thankful user:

  8. #5  

    Join Date
    Dec 2007
    Thanks given
    Thanks received
    Rep Power
    Good luck Pazaz fella
    Reply With Quote  

  9. Thankful user:

  10. #6  
    Registered Member
    rebecca's Avatar
    Join Date
    Aug 2017
    Thanks given
    Thanks received
    Rep Power
    good luck!
    Reply With Quote  

  11. Thankful user:

  12. #7  
    08-13, SpawnScape Owner

    jet kai's Avatar
    Join Date
    Dec 2009
    Thanks given
    Thanks received
    Rep Power
    Ready to fish!
    Reply With Quote  

  13. Thankful user:

  14. #8  
    🎶 As you're falling down 🎶

    uint32_t's Avatar
    Join Date
    Feb 2015
    Thanks given
    Thanks received
    Rep Power
    This will be cool to follow, best of luck!
    Quote Originally Posted by Idiot Bird View Post
    Quote Originally Posted by Velocity View Post
    lol np mate looks like the community brought ur rep down to ur IQ
    Not too sure about that, it's at 0 . It would have to go minus to even be remotely close to his IQ.
    Reply With Quote  

  15. Thankful users:

  16. #9  

    Join Date
    Oct 2013
    Thanks given
    Thanks received
    Rep Power
    I finished fleshing out the music player today:
    Spoiler for Teleporting to regions to unlock tracks:

    Spoiler for Test command to unlock tracks:

    1) Any time a song is played, the currently playing text is updated
    2) When Manual mode is on it _does not_ switch the track as you enter new regions.
    3) Clicking a song in the list will switch your mode to manual.
    4) When Auto mode is on the client plays a new song as you enter regions. In both modes, tracks are still unlocked
    5) The login process ignores your manual mode setting and sends the track for that region anyways, so you aren't listening to the title music.

    It takes about 6 packets to update the entire list at once, however if a player is just walking around they only need a single packet whenever they unlock a track. Each song is a bit as part of a client-side varp, and the interface definition has the index and mask used for each song.

    Not sure what I'll tackle next, maybe adding NPC spawns and wandering for them Thanks for the support everyone!
    Reply With Quote  

  17. Thankful user:

  18. #10  

    .css's Avatar
    Join Date
    Dec 2018
    Thanks given
    Thanks received
    Rep Power
    please add gsmini, i'm kidding this looks quite nice! I'm not too big on the super older revisions but I do like to see new life in revisions or even unexplored ones. Best of luck i'll keep an eye on this.
    Reply With Quote  

  19. Thankful user:

Page 1 of 7 123 ... LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

User Tag List

Similar Threads

  1. Lost City Shop ID
    By Aza in forum Requests
    Replies: 0
    Last Post: 07-23-2009, 03:00 AM
  2. BattleScape Isle "Lost City" Quest
    By Palidino in forum Show-off
    Replies: 32
    Last Post: 04-23-2009, 08:55 PM
  3. THE REAL LOST CITY! Vid ftw
    By Dust R I P in forum Show-off
    Replies: 86
    Last Post: 04-19-2009, 08:25 PM
  4. Coords for Lost City/Zanaris
    By coder sal in forum Help
    Replies: 4
    Last Post: 01-19-2009, 09:49 PM
  5. Lost City Quest
    By Zachyboo in forum Tutorials
    Replies: 19
    Last Post: 06-08-2008, 05:44 PM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts