Git Product home page Git Product logo

quake2sharp's People

Contributors

icereaper avatar swax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

quake2sharp's Issues

Music Support

Hello! I managed to successfully run the game, but I haven't found yet a way to implement the mp3 or ogg music in-game. Any Idea on how to do that?

correct folder path for resource

Hello @IceReaper, could you explain in more detail about this point of readme to the project
Method 3 - Running from IDE:

Make sure the baseq2 directory lies in the project root directory.

I had the file from the game and put the folder into the solution(D:\Quake\IceReaper-Quake2Sharp, D:\Quake\IceReaper-Quake2Sharp\Quake2Sharp), into the result of compile (D:\IceReaper-Quake2Sharp\Quake2Sharp\bin\Debug\net6.0) even in user folder (C:\Users\user.Quake2Sharp). But I have the same error file pics/colormap.pcx cannot be found and as the result I get exception
image

Thanks!

Project Reboot

Currently planning to redo the project in a few steps:

1. Port the Yamagi Quake II fork.
This fork would come with several improvements, along with several renderers.
For now i would focus on the OpenGL 3.2 renderer, using Silk.NET
While porting, i would try to enhance and optimize every function as good as possible, while still being api compatible.
Also while porting i would directly focus on removing hardcoded limits.

2. Port the mission packs
The Reckoning
Ground Zero
Capture The Flag

3. Restructure the project setup
The project should be setup as follows:

  • the engine should output a dll only => IdEngine.dll
  • Every game should output a single .dll containing it's gamecode. "Quake2.dll", "Quake2Rogue.dll", "Quake2Xatrix.dll" "Quake2Ctf.dll"
  • The Platform implementation shoudl compile into IdEngine.OpenGL3.exe

4. Additional Platforms
Every renderer would compile into a IdEngine..exe. Swapping the renderer ingame should not be implemented, due to several platform being unable to do so. Also swapping will result in a engine restart anyway.

  • Software Renderer. Im not sure if its worth porting that one. I'll likely skip this, but would accept a contibution.
  • OpenGL 1 Same applies here. We will have a working OpenGL 3.2 renderer. Im not sure if we need a GL 1 renderer, but i will accept it when community contributed.
  • Vulkan I might port it myself, otherwise always accept a contribution.
  • DirectX. There is nothing to port here, and i wont do one. But if someone provided a DirectX renderer, i would also accept it.
  • Godot This is one implementation im personaly pretty interested in and will work on.
  • Unity Another posibility for unity based quake logic games. Ill accept any contribution implementing this.

Further future ideas
Furthermore I would be interested in seeing some these crazy ideas come alive if a community gathers around this project.

  • allow to load raw trench room .map files along .bsp maps, so we do not need to compile maps anymore. Just load them up and play. Alternatively we could port the map compilation part into the engine itself and compile them on launch.
  • allow to load gltf models
  • Implement an in-game updater and mod / map browser / downloader / updater. Not just when connecting to server, but also browse all available addition content from the main menu.

Super crazy future ideas
It would be nice to be more of an "id games engines" instead of a "quake 2 engine". So porting more of the classics and make them playable would be super interesting.

  • port quake 1 and addons - why not? Engine-wise we should be pretty good to go already. Most work might require to port the QuakeC progs to C# modules.
  • port quake 3 too - it shouldn't be too far from quake2. Especialy the bot support would be pretty interesting.
  • port doom 1 and 2 or even wolfenstein3d. It would just be fun if they can be enjoyed too on this engine. Sure it wont be a raycaster anymore, and it will feel a bit different. But being able to simply play any id-game (prior to doom3) would be pretty interesting.
  • whatever crazy projects the community comes up. I do want to support people using the engine.

If there is any interesting in contribution, let me know and I'll setup a discord for this :)

Adaptative damage

As far I know, damage in QII is a fixed numeric value. Any idea on how to implement a way to calculate the damage based on the distance traveled by the projectile?

Cannot change map from console

When I go to console with ~ and I do > map xxxx
where xxxx is a custom map / bsp the map is not loaded.
When I start with option
+map xxxx
as args also no map, but an error in SV_AreaEdicts_r .
Is custom mapping not supported? The same map is opened with original Quake2.
When I use an existing map like biggun, then its working.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.