All Projects → andreakarasho → Classicuo

andreakarasho / Classicuo

Licence: other
ClassicUO - an open source implementation of the Ultima Online Classic Client.

Projects that are alternatives of or similar to Classicuo

Fiber2d
Cross-platform 2D Game Engine in pure Swift
Stars: ✭ 415 (+73.64%)
Mutual labels:  games, opengl, vulkan, cross-platform
Sfml
Simple and Fast Multimedia Library
Stars: ✭ 7,316 (+2961.09%)
Mutual labels:  games, opengl, cross-platform
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+1400%)
Mutual labels:  games, opengl, cross-platform
Nazaraengine
Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life.
Stars: ✭ 279 (+16.74%)
Mutual labels:  opengl, vulkan, cross-platform
Shadergen
Proof-of-concept library for generating HLSL, GLSL, and Metal shader code from C#,
Stars: ✭ 395 (+65.27%)
Mutual labels:  games, opengl, vulkan
Bulllord Engine
lightspeed lightweight elegant game engine in pure c
Stars: ✭ 539 (+125.52%)
Mutual labels:  opengl, vulkan, cross-platform
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (-37.66%)
Mutual labels:  opengl, vulkan, cross-platform
Glad
Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
Stars: ✭ 2,296 (+860.67%)
Mutual labels:  opengl, vulkan
Gpu performance api
GPU Performance API for AMD GPUs
Stars: ✭ 170 (-28.87%)
Mutual labels:  opengl, vulkan
Awesome Vulkan
Awesome Vulkan ecosystem
Stars: ✭ 2,322 (+871.55%)
Mutual labels:  opengl, vulkan
Imguizmo.quat
ImGui GIZMO widget - 3D object manipulator / orientator
Stars: ✭ 187 (-21.76%)
Mutual labels:  opengl, vulkan
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-32.64%)
Mutual labels:  opengl, cross-platform
Dilithium
Dilithium is a bidirectional shader converter for converting between DXIL and SPIR-V.
Stars: ✭ 160 (-33.05%)
Mutual labels:  opengl, cross-platform
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-28.03%)
Mutual labels:  vulkan, cross-platform
Rubeus
A cross platform 2D game engine written in C++ for beginners
Stars: ✭ 159 (-33.47%)
Mutual labels:  opengl, cross-platform
Flextgl
OpenGL and Vulkan header and loader generator.
Stars: ✭ 180 (-24.69%)
Mutual labels:  opengl, vulkan
Reshade
A generic post-processing injector for games and video software.
Stars: ✭ 2,285 (+856.07%)
Mutual labels:  opengl, vulkan
Tinywindow
a cross platform (Linux and Windows) OpenGL window library in a single header
Stars: ✭ 175 (-26.78%)
Mutual labels:  opengl, cross-platform
Fishengine
Simple, Unity-like Game Engine.
Stars: ✭ 191 (-20.08%)
Mutual labels:  opengl, cross-platform
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-12.97%)
Mutual labels:  opengl, cross-platform

An open source implementation of the Ultima Online Classic Client.

Individuals/hobbyists: support continued maintenance and development via the monthly Patreon:
  Patreon

Individuals/hobbyists: support continued maintenance and development via PayPal:
  PayPal

chat on Discord

Build status GitHub Actions Status

Introduction

ClassicUO is an open source implementation of the Ultima Online Classic Client. This client is intended to emulate all standard client versions and is primarily tested against Ultima Online free shards.

The client is currently under heavy development but is functional. The code is based on the FNA-XNA framework. C# is chosen because there is a large community of developers working on Ultima Online server emulators in C#, because FNA-XNA exists and seems reasonably suitable for creating this type of game.

ClassicUO is natively cross platform and supports:

  • Windows [DirectX 11, OpenGL, Vulkan]
  • Linux [OpenGL, Vulkan]
  • macOS [Metal, OpenGL, MoltenVK]

Download & Play!

Platform Link
Windows x64 Download
Linux x64 Download
macOS Download

Or visit the ClassicUO Website

How to build the project

Clone repository with:

git clone --recursive https://github.com/andreakarasho/ClassicUO.git

Windows

The binary produced will work on all supported platforms.

You'll need Visual Studio 2019. The free community edition should be fine. Once that is installed:

  • Open ClassicUO.sln from the root of the repository.

  • Select "Debug" or "Release" at the top.

  • Hit F5 to build. The output will be in the "bin/Release" or "bin/Debug" directory.

Linux

  • Open a terminal and enter the following commands.

Ubuntu

Ubuntu

sudo apt update
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common lsb-release
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt-add-repository "deb https://download.mono-project.com/repo/ubuntu stable-`lsb_release -sc` main"

Check signature

gpg: key A6A19B38D3D831EF: public key "Xamarin Public Jenkins (auto-signing) <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
sudo apt install mono-complete

Fedora

Fedora

Fedora 29

rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
su -c 'curl https://download.mono-project.com/repo/centos8-stable.repo | tee /etc/yum.repos.d/mono-centos8-stable.repo'
dnf update

Fedora 28

rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'
dnf update
sudo dnf install mono-devel

ArchLinux

ArchLinux

sudo pacman -S mono mono-tools

Verify

mono --version
Mono JIT compiler version 6.6.0.161 (tarball Tue Dec 10 10:36:32 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug
    Interpreter:   yes
    LLVM:          yes(610)
    Suspend:       hybrid
    GC:            sgen (concurrent by default)
  • Navigate to ClassicUO scripts folder: cd /your/path/to/ClassicUO/scripts

  • Execute build.sh script. If you want build a debug version of ClassicUO just pass "debug" as argument like: ./build.sh debug. Probably you have to set the build.sh file executable with with the command chmod -x build.sh

  • Navigate to /your/path/to/ClassicUO/bin/[Debug or Release]

macOS

All the commands should be executed in terminal. All global package installs should be done only if not yet installed.

After the first run, ignore the error message and a new file called settings.json will be automatically created in the directory that contains ClassicUO.exe.

Other useful commands:

  • msbuild /t:Clean /p:Configuration=Debug
  • msbuild /t:Clean /p:Configuration=Release

Contribute

Everyone is welcome to contribute! The GitHub issues and project tracker are kept up to date with tasks that need work.

Legal

The code itself has been written using the following projects as a reference:

Backend:

This work is released under the BSD 4 license. This project does not distribute any copyrighted game assets. In order to run this client you'll need to legally obtain a copy of the Ultima Online Classic Client. Using a custom client to connect to official UO servers is strictly forbidden. We do not assume any responsibility of the usage of this client.

Ultima Online(R) © 2020 Electronic Arts Inc. All Rights Reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].