Krisztian Varga

Members
  • Content count

    16
  • Joined

  • Last visited

About Krisztian Varga

  • Rank
    Member
  • Birthday 07/02/1984

Contact Methods

  • Website URL
    http://ageofreptiles.com/
  • Twitter
    @AgeReptiles

Profile Information

  • Gender
    Male
  • Location
    Thailand

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Krisztian Varga

    FUNNY BUNNY LOGIC

    Worked for me on Galaxy S9 ..had to refresh the page first time but then it was working fine. Nice execution @Nagval333, keep going!
  2. Krisztian Varga

    Mafia City H5 - Yotta Games studio first html5 game

    Flawless execution, even on mobile! Let me be the first one who congratulates you here
  3. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    Hey HeadClot, I'm more than happy to address those questions: 1. How big is the game world? How big can the game world get? Its 16km2 - 4km by 4km - at the moment but there is no limit how big it can get thanks to Recursive Search Grid System. I’ll address this below. 2. You mention a grid system. Can you go into detail about this? I am guessing that it is similar to the one that Bethesda Softworks uses in the creation kit. I’ve never used creation kit, but I’ve heard about this technique a few times from different sources so its safe to assume that its a common technique - no credit there for me 😃 The terrain is created with Blender, exported as .obj. The engine imports it in editor mode, split is with the resolution I choose. Then I end up with a lot of smaller terrain pieces saved as JSON files - I’ll refer to them as Cells from now on. Cells contain mesh data and other preprocessed info that makes rendering and Recursive Search faster. Resolution of the Grid: Cells are loaded on demand. When a Player shows up somewhere in the Grid, the first Cell has to load really fast otherwise the Player just looking at a blank screen. Therefore the Cell has to be small enough to be loaded fast enough. But if we make the Cells too small, it's very fast to load but slow to process. Javascript is fast to iterate over a lot of Cells but not nearly as fast as C for example. In the end, its a balancing exercise, and I ended up with 32 by 32. Recursive Search: Finding a Cell as fast as possible is crucial, the cost could grow exponentially when multiple processes involve searching for Cells. Therefore we don’t want to iterate over all of them, but keep track of the Cell that the Player/NPC is standing on and use that as a starting point. Then we can do a Recursive Search looking at the neighboring Cells and their neighbors. In order to speed up the process, we save the links to the neighboring Cells on every single Cell. I’ve done more optimization of Recursive Search because of extensive use but you might not be interested in that, let me know if you do. Loading Cells on Demand: the first Cell and the ones around the player loaded as soon as the game starts. When the player starts moving around in the Open World environment mere Cells are loaded when they get in range. Cells drive the loading of every other asset. When a Cell gets processed, the engine collects the other assets - like trees, rock, etc.. - to put them on the loading queue. So we really only load the assets we need and no more, and we load them in a sorted order. Whatever asset is closest to the Player gets loaded first just like Cells. Dynamically Generated Assets: Grass and clutter use the Grid System as well. The engine only generates dynamic assets for the loaded Cells. They are generated in a different thread to keep the rendering thread smooth and they are not saved in any shape or form. NPC and AI: NPC needs to be aware of their environment to navigate obstacles and find their prey. Same problem here, we don’t want to iterate over all the NPC we use Recursive Search and Grid System to reduce the number of NPCs to be checked out. Precomputed Scene Occlusion Culling using a Grid System: Most of the optimization is happening real-time or triggered on a regular basis while running the game with one exception: the Engine keeps an optimized list of all visible Cells recorded on every single Cell in the Grid. This Optimisation is done in the Editor once the terrain is split: The Engine goes over every single Cell in the Grid and renders them from the point of view of a specific Cell, pick randomly. A Cell is either visible or occluded by some obstacle or just out of range, by looking at it from the randomly picked Cell. The Engine records the visible ones and moves on to the next Cell to do the same occlusion checking. This reduces the number of Cells to be rendered significantly, but it takes about 40 hours to run this optimization for the whole terrain. Possible Improvements: The Engine only uses one resolution to create the Grid. I can see why multiple resolutions could make the engine run faster. Small Cell means less waste. We may only see a fraction of the Cell still precess the everything in it. The engine could use a small resolution to work out what Cell needs to be checked out then a higher resolution could work only with those few Cells to work out the labor-intensive details. 3. In regards to rendering why don't you use an existing engine such as bablyon.JS? Before I’ve started the project, I've checked out the available games for the web, and I wasn’t impressed. I thought there must be a reason why they all look so simple. I’ve noticed that Unity can compile to JS, but it had to load all the game assets in advanced. It took to long to start up a game, and its an obvious limit on how many assets you can include in a game. I come from a strong JS background so I thought, I will investigate the performance of whats involved to make a game run in the Browser ..a year and a half later I’ve ended up with Age of Reptiles Any off the shelf solution comes with tradeoffs. Fast to start, slow to finish when you start hitting those obstacles... I wouldn’t recommend writing an engine because it takes forever, but I ended up with one because I was curious and enjoyed the process. There is an upside though to write your own engine: you can optimize it for what is most important for you. My focus was to load assets progressively, to make Large Scale Open World environment possible in the Browser. If you guys have any other questions, I'm more than happy to go into details.
  4. Krisztian Varga

    Coding Multiplayer IO Pac-Man in One Week (Timelapse)

    You've done a great job, especially in a week! I'have a question regarding player movement prediction in multiplayer: when you use the velocity and direction and let's say a player or enemy is heading towards a wall. The distribution of network packages is uneven expectedly. Have you not run into an issue, where a package was in late, that describes a player/enemy turning before hitting the wall, therefore client predicting that it went through the wall, using existing velocity and direction for the prediction. ..I've personally run into this a lot and had to abandon the approach. Is there anything that I'm missing here?
  5. Krisztian Varga

    Putz Puzzle

    I enjoyed it a lot! Perfect candidate for a mobile game, but for some reason, kongregate.com doesn't let me play it on mobile. You may want to tweak the settings there, just saying
  6. Krisztian Varga

    [Phaser] Underworld Chaos

    I love the 16-bi old-school look! I didn't get very far though, once I press left arrow, it keeps moving that direction as if the key was tuck.. also, you may want to use space for jump, as Milton said, "Y" should be jump but it is "Z" for me as well. I know about this keyboard issue because I'm Hungarian, I used to get this all the time switching back and forth between English and Hungarian keyboard layouts, using space or any other key would eliminate the issue, but space is more convenient imho. Please let us know when these issues are fixed and we can give it another go. Looking forward to playing it
  7. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    I will create two AoR world and a portal between them and message you the details. I think it will be much easier to show you what I mean than accurately explaining it
  8. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    Well, I would lie if I said I understand every detail of the internals of your game, but you've raised a lot of good questions. I have a link like this to a location in AoR: d130m9ehg655ah.cloudfront.net/index.html#host=7760&location=801.4,9.2,533&rotation=9.2,273.2,0 Whether you visit me the first time or you've been there before you will always shop up at the location defined in the link "location=801.4,9.2,533". Whether that location is valid or not is up to AoR to evaluate I thought I would keep it simple and don't receive or send the state of the AoR to another game, I would let the other game work out what to do with me when I show up in that world coming from AoR. This would allow me to use a simple link, with get parameters only. When someone returns to AoR, AoR recovers its state that is stored in IndexedDB in the browser, much like cookies, so AoR will work without the other game storing anything about AoR session. I think it's important to keep thing simple in order to help the idea to spread, and also easy to manage in the long run. Plus any website could link to a location in AoR at the moment, which is very useful for sending people to different parts of the game world. E.g.: when there is a community on one of the AoR servers, they could have a base, and that base would have a simple link. That community can put that link on their forum, website, Discord etc.. it is compatible with current web standards. Let me know what you think and if there is anything that would make it incompatible with rubies.live. I'm sure we can pull this off in no time
  9. Krisztian Varga

    [wip] rubies.live space stone shooter

    It works much better now, good stuff!
  10. Krisztian Varga

    [wip] rubies.live space stone shooter

    Toggle button to speed up for mobile devices? I've played it on my mobile with the new updates, its good stuff! With a keyboard, it's easy to hold the up arrow to move and press the right or left arrows to rotate at the same time but on mobile, I have my left and right thumb to navigate and that's all. So I either press right or left or speed but cant speed up and navigate at the same time. So I ended up using one button to always rotate the same direction and the forward arrow button to actually start moving to the direction I ended up rotating to. It was a good fun, but I don't think this is how you intended playing the game on mobile It's a fun game, keep it going!!
  11. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    Anything would work, it would be literally a link. In AoR if you click on the invite icon - top right corner of the screen, mans head with the plus sign - you get this: d130m9ehg655ah.cloudfront.net/index.html#host=7760&location=801.4,9.2,533&rotation=9.2,273.2,0. This a link to a COOP session but I'm working on Official Servers at the moment, then this link could be pointing to a permanent server as well. One main difference between a link and a portal would be that a portal is a two-way link, meaning you can go back to where you come from through the same portal. We could also gamify the functionality. E.g.: put the portal on top of a hill at a bottom of a dungeon as part of the reward system. I think it should be up to the Game Designer what the portal looks like, so It would match the style of the game. What do you say, shall we give it a go? I could make a portal to your game once I'm done with the Official Server
  12. Krisztian Varga

    A Question About Browser Game Development.

    It all comes down to what kinda games you would like to develop, where is the target market for that type of game, and is there any value in it for the Gamers playing it in the browser rather than on any other platform. You should take advantage of the Browser when it comes to your game, what can you do in the browser that you cant do on any other platform. The first applications of every new tech are copying old solutions using the new tech, it takes time to utilize the potential. Skip that bit and go for the goodies You may wanna check out https://poki.com/en/html5 to see existing 3D games running in the browser, but those are made with Unity really, I personally couldn't get them running on mobile.
  13. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    "Oh, the textures are loaded in time? Maybe something didn't work, or maybe I was too picky." Everything is loaded in time I have two level of LOD. First one looks very low-poly when it comes to rocks and trees are almost like cardboard cutouts. Then the high-poly version will replace the low-poly models. There is a loading icon on the top right corner, which disappears when it's done loading. "What's your AoR roadmap?" Well, the basic survival aspects are working like chopping trees, fighting dinos, gathering meat from them, cooking meat on the fire, and crafting tools and your own base. As soon as I get rid of the bugs I go to beta. Then I will see what players want from me, what features they want me to push forward. But I think about the game as a necessary first step towards 3D Internet as a platform. I would like other devs to design services on top. Like selling 3D models directly to the players to customize your base. In a sense, it will be more like Second Live in the end. "Oh and.. can it be third person, more like "little things"? When I think about AoR (age of reptiles), I feel reminded that I liked the look of Dragon Quest Builder. Not just the polishing, ... the 'non-first-person'. Irrelevant, just some thoughts." Absolutely, the first-person view was a tactical decision until I develope the character customization. If you try multiplayer now, everybody looks the same "My hobby game is rubies.live, I hope I get it to look like Turrican or Cdogs... I mean.. it should offer something. Could be fun." Man, it's a solid shooter, I like it. The maze part is a bit like Packman but a unique take on it. Have you thought about purchasing graphic designs for different levels? I have purchased almost all the models for AoR on https://www.cgtrader.com/. I'm sure there is something similar for 2D designs. I've tried it on my phone, works just fine! If you could add a fullscreen option that would be amazing. And just one more thing, when I hold my phone in my hand I use it in landscape mode. For me at least, to have navigation controls on the two sides of the screen would work better. And maybe automatic speed up, and one button to "break". Anyways, it's a fun game, I would love to play it on the go, that's all I would love to hear your opinion on one concept - maybe I should post this on the forum as a separate question: Having links in these game to other games. Hear me I out, I really want the internet to be more than just websites. How cool that would be if you could just walk/fly through a portal and end up in a different game, and just go back through the same portal if you don't like it. It would be the next version of the "link" on websites. We could literally travel through the Internet. I think about this a lot, how to turn it into an adventure and not just promotion for other games. What do you think??
  14. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    Hey losthope, I see you had some fun with the raptors You are the second person - out of two - who mentioned the trees. I'm starting to doubt that the CDN is doing a good job sending off the high-quality models fast enough... I don't see any reason why p2p WebRTC connection wouldn't work behind shared IP. If you are interested to just mess around with WebRTC to figure out whether it's for you or not, I would recommend PeerJS as a start because establishing a connection between two people is a nightmare if you want to do it yourself. PeerJS have live demos as well so you can try the shared IP issue without committing yourself. Please don't have second thoughts about contacting me if you have any other questions, and let me know if your hobby game is available for a spin
  15. Krisztian Varga

    Age of Reptiles - Open World Survival Game

    Thanks TheBoneJarmer for taking the time, and for the feedback! I haven't seen the console log, but it sounds like the game stopped loading for some reason. That's why you haven't encountered any dinos and keep hearing the jungle. I've seen this happening once but I never encountered myself, so didn't get a chance to fix it. Please try to refresh, I know I know, you are a dev as well so you might have tried this already And thanks for the insight on trees, I will try to improve my models in terms of style and poly count. Please don't hesitate to message me if anything new comes to mind if you gave the game a second chance later on.