Jump to content

IceBurger

Developers
  • Posts

    102
  • Joined

  • Last visited

Everything posted by IceBurger

  1. Sorry, I forgot about this. Same blank crashing issue on AMD 6800 XT. I'm completely open to whatever remote access thingies would help fix it.
  2. These guests need to create accounts.
  3. I'm on a similar boat, I would still purchase it if it was a steam exclusive but do not really find the idea of software on steam attractive. Personally, there is no basis for my position. It's just one of those "I don't like it and that's why I don't like it" things lmao.
  4. The scripts in a default Leadwerks project are very helpful for figuring out how it works.
  5. Looking back at your code, it appears that you wanted to exclude elements that don't have a value. This can be done like so: template <typename... Args> std::vector<std::any> VariadicToVector(Args&&... args) { std::vector<std::any> v; for (auto&& arg : std::initializer_list<std::any>{std::forward<Args>(args)...}) { if (arg.has_value()) { v.emplace_back(std::forward<decltype(arg)>(arg)); } } return v; } int main() { std::any a; // empty; aka has_value() == false auto v = VariadicToVector(1, a, 'A', "hello", 2.8); std::cout << std::any_cast<char>(v[1]) << std::endl; // outputs 'A', confirming exclusion } Don't you just love C++
  6. edit: nvm, not even joking I thought it worked, but I built the wrong file. fml lmao. 🤡 edit 2: nvm again. this works (tbh idek if this is what you were trying to do to begin with): template <typename... Args> std::vector<std::any> VariadicToVector(Args&&... args) { return {std::forward<Args>(args)...}; } int main() { auto v = VariadicToVector(1, 'A', "hello", 2.8); std::cout << std::any_cast<char>(v[1]) << std::endl; // outputs 'A' }
  7. Would doing args = va_arg(vargs, std::any); instead of args++ work?
  8. What does the `std::any args` data look like? EDIT: I think I was completely wrong about the solution this message used to show
  9. You could instead use the QSA flag, like this: RewriteRule "^learn/(.+)$" "learn.php?page=$1" [QSA]
  10. So this can be used to implement a proprietary packaging solution into my game?
  11. You would have to decide whether you want the server or clients to manage the creation of cars. Here are some options for this scenario: 1) [This is the most authoritative way] The server manages the creation and translation of cars. The server keeps track of player positions and spawns cars near them and removes cars that are far away. The server then sends the position, type, rotation, etc. data to the clients. 2) [This is the least authoritative way] The clients manage the creation and translation of cars. A client creates cars near itself and then tells the server to inform the other clients that a car has been created. When a car is far from the client, the client tells the server to tell the other clients that a car has been removed. Extra logic could be added so that clients too far away from the new car don't receive the creation message. With client-server networking you must choose whether you want certain logic to be done on the client-side or the server-side. Typically games choose a middle-ground where the client makes predictions about what the server is going to do, but the server has the final say for whether other clients see that happen. Here is some pseudo-code for one of the simplest client-server networking implementations. This code deals with players, but the same concept would apply to cars. Again, this is just one way of many. This implementation below has several flaws, but hopefully it makes sense. // CLIENT let players = []; let loop = new GameLoop(60); let conn = new Connection(127.0.0.1:8080, "tcp"); conn.onMessage(function(message) { // go through all sent players from server for (player in message.players) { // create new players if (!players[player.id]) players.add(new Player()); // set the positions from the server players[player.id].position = player.position; } }); loop.onTick(function() { // gather input let input = { moveLeft: Engine.keyDown("a"), moveForward: Engine.keyDown("w"), ... }; // send input conn.send(input); }); // SERVER let players = []; let loop = new GameLoop(60); let server = new ConnectionReceiver(8080, "tcp"); server.onConnect(function(conn) { // recognize new player joined players.add(new ServerPlayer(conn)); }); server.onInputMessage(function(input, id) { players[id].useInput(input); // makes changes to stored server data }); loop.onTick(function() { // send players to clients for (player in players) { player.conn.send({ players }); } });
  12. I assume this is for implementing multiplayer in a game (which I am fairly familiar with). In the client-server model, the clients all connect to a central server which manages their data. A client will send inputs and suggestions to the server, which, after verification, will then send new positional and other data to all the clients. You can think of the server as being a verificational proxy for the clients. What inputs are sent to the server and what amount of verification is done is up to the game developer. Every implementation will have its own pros and cons. Here is an example diagram of a potential client-server relationship: Hopefully I have interpreted your question correctly, if so please ask for more clarity/information. If you are asking for how to implement this into Leadwerks/Ultra and not just general concepts, sorry I haven't tried doing that yet and therefore would be zero help.
  13. You can ask it to switch into D.A.N mode
  14. Could I see some example implementation code? (Like how you are using fseek and write)
  15. Magnitude of something is denoted in mathematics by two surrounding pipes. Absolute value is just one. ||v||=magnitude |v|=abs
  16. The temptation to reply with AI generated text was great, but I overcame. Or did I?.... I did Or did I....
  17. That's a good idea. Also the forum people will probably be more understanding of any problems they might encounter.
  18. The "readable aesthetic" and "grammar nazi" sides of my brain are fighting over the value of this particular change 😅 Thanks for the hard work you've put into this so far.
  19. It definitely does something (PC slows down) but still just a white screen with no errors. Works fine on a GTX 1080 Ti tho.
  20. Needed to install OpenAL, but it launched on an RX 580. However, it was only a white screen. No errors and nothing else but a white screen. It then closed itself.
×
×
  • Create New...