Jump to content
Site Stability Read more... ×
  • Advertisement

Search the Community

Showing results for tags 'Design'.

The search index is currently processing. Current results may not be complete.


More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Audio
    • Music and Sound FX
  • Business
    • Business and Law
    • Career Development
    • Production and Management
  • Game Design
    • Game Design and Theory
    • Writing for Games
    • UX for Games
  • Industry
    • Interviews
    • Event Coverage
  • Programming
    • Artificial Intelligence
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Engines and Middleware
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
  • Archive

Categories

  • Audio
  • Visual Arts
  • Programming
  • Writing

Categories

  • Game Dev Loadout
  • Game Dev Unchained

Categories

  • Game Developers Conference
    • GDC 2017
    • GDC 2018
  • Power-Up Digital Games Conference
    • PDGC I: Words of Wisdom
    • PDGC II: The Devs Strike Back
    • PDGC III: Syntax Error

Forums

  • Audio
    • Music and Sound FX
  • Business
    • Games Career Development
    • Production and Management
    • Games Business and Law
  • Game Design
    • Game Design and Theory
    • Writing for Games
  • Programming
    • Artificial Intelligence
    • Engines and Middleware
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
    • 2D and 3D Art
    • Art Critique and Feedback
  • Community
    • GameDev Challenges
    • GDNet+ Member Forum
    • GDNet Lounge
    • GDNet Comments, Suggestions, and Ideas
    • Coding Horrors
    • Your Announcements
    • Hobby Project Classifieds
    • Indie Showcase
    • Article Writing
  • Affiliates
    • NeHe Productions
    • AngelCode
  • Topical
    • Virtual and Augmented Reality
    • News
  • Workshops
    • C# Workshop
    • CPP Workshop
    • Freehand Drawing Workshop
    • Hands-On Interactive Game Development
    • SICP Workshop
    • XNA 4.0 Workshop
  • Archive
    • Topical
    • Affiliates
    • Contests
    • Technical
  • GameDev Challenges's Topics
  • For Beginners's Forum
  • Unreal Engine Users's Unreal Engine Group Forum
  • Unity Developers's Forum
  • Unity Developers's Asset Share

Calendars

  • Community Calendar
  • Games Industry Events
  • Game Jams
  • GameDev Challenges's Schedule

Blogs

There are no results to display.

There are no results to display.

Product Groups

  • Advertisements
  • GameDev Gear

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Website


Role


Twitter


Github


Twitch


Steam

Found 411 results

  1. Hi Everyone, Hopefully all of this makes sense at the end, but if you need anymore clarification please let me know. Background: My MMORPG is a sword playstyle based game, where players need to complete a dungeon at the end of each floor to be able to progress to the next. (Players can go back to lower floors / Specific floors will have specific resources needed for crafting as to give players a reason to go back / Player skill progression will also require them to do specific quests/tasks on specific floors, again giving them reason to go back) Inspiration: Sword Art Online (Anime) - Aincrad game that the players were stuck in My map progression issue is this: I'm split between having all players locked to a specific floor until they/or the party they are in, completes the dungeon, then those players unlock the next floor OR if as soon as a party clears the floors dungeon and unlocks the next floor, that floor is unlocked for everyone on the server. I'm going to split these into options 1 (Individual Progression) and 2 (Server Progression). Option 1: Benefits: Allows the more dedicated/end-game player base to progress at a faster pace. Allows for end-game guilds to form and recruit from a more end-game player pool, I.e. Players from that specific floor Allows end-game players to sell their services to help newer players to progress through the lower floors Drawbacks: Possibility of new players being stuck in lower floors as there might not be good enough players left on those floors to help them make a party and progress through the dungeon ? Option 2: Benefits: Allows new players to skip floor progression to be with their friends that have progressed further in the game ? Drawbacks: Players will be on floors where they might not be able to survive or complete solo content because of their lack of skill, items, game knowledge Complains from new players saying the content is too difficult, as they are skipping floors New/lower player base will essentially just be waiting on the end-game players to finish the new floor unlocking it for the rest of the server, basically letting them sponge off of the top players progress After typing all of this out it's starting to become more clear cut as to which option I should take, but I'd like to check with the community here as I'm sure there are other benefits/drawbacks that I'm missing that might change my view of things.
  2. Well, well, well ... look who's here! It's you again! Welcome to your favourite Weekly Updates blog! This week was a very proactive one. I managed to add several new challenges. In all, there are 5 new and unique challenges. So, without further ado, let's get started! New Challenges First of all, as most novelties are platform challenges, I will introduce them one by one. I will just introduce them and briefly describe how they work. I've also recorded videos for most of the challenges. All of these challenges are of the generic type. This means that any of these can be chosen for any level. That's why they all have a heavy vaporwave/shopping mall theme. But keep in mind that I haven't had the time to incorporate them into the game yet. Thus, no loot for now... Challenge #1 The first challenge consists of several vertically moving platforms and three distinct elevations. The idea is to use the moving platforms to climb the central obstacle to reach the final elevations. The most observant of you have probably noticed that the middle elevation has a cracked wall. This is a useful shortcut to avoid wasting time on moving platforms. Here's a small video showing it off: Challenge #2 This second challenge consists mainly of two symmetrical forked paths with several mobile platforms. At the end of each branch, a switch can be found. The idea is to activate both of those. Once they're both on, a super-secret room opens up at the beginning to reveal the loot. If you make a mistake, use the nearest ladder and start again from there. After all, you can't rush these: you'll have to take your time ... Challenge #3 This challenge is not so much a "platform" as a "puzzle" ... It does not have a mobile platform, but ladders and stairs. This challenge consists of a series of toggle switches. Here, whenever a switch is toggled, its immediate neighbours get toggled too. The trick here is to toggle the right sequence of toggle switches to turn them all on at once... Some would say that this kind of puzzle is a "classic". While they're somehow right, the thing is that here we can't see all switches at once. Thus you have to memorize it. Once all toggle switches are on, the loot will appear at the back of the room. Challenge #4 For this next challenge, there's a balanced mix of puzzling and platforming. It's split into three sub-challenges: a toggle switch puzzle, a moving platform challenge and lastly a pressure plate puzzle. The first one is a 3x3 version of the switch puzzle seen in challenge #2. However, unlike the latter, it's much more open and less convoluted. The second one is a platforming course. Any mistakes will result in you restarting the whole course. Finally, the last one is a pressure plate puzzle. The idea is to use pushable blocks to activate pressure plates. Except it's not as easy as it seems... All of these must be completed in order. After clearing everything, the last part opens up, revealing the loot. Unfortunately, this challenge isn't complete yet. There are essential things not yet implemented, like pushable blocks... So no video for now... 😢 Challenge #5 Finally, here's the last challenge. A pure platforming challenge, it's quite vertical and very spacious. The goal is quite simple: climb the tower. There are moving platforms to help you. But be warned: these platforms are small, narrow and quick. Proceed with caution! However, make one mistake and it's back to square one. So take your time and don't rush! Minor Updates Added Screen Space Reflexions Next Week For the next week, I plan to add more challenges while trying to integrate these first in the game. There are several ways to do it, but to stay in the theme of the vaporwave I think I'll replace the steps by an elevator (small elevator music included). I just need to model it and to add it to the maps' generation process. Otherwise, I still have pieces of equipment to add. After that, it's your usual suspects. So yeah, that's about it!
  3. Loosearmy

    Delayed shots Concept

    Concept for Delayed Shots in a Fast Paced Shooter The base for this concept is that with each click or trigger pull there is a X-second delay before the gun would actually fire. This would make it alot more difficult to time shots and could create unique design elements that would cater to this delay. (i.e sharp corners and hallways where it would be hard to time when to click in such a tight enclosed space). Ive had this concept for a minute and i know we could code it to work but my main concern with this is, would it be a good design choice?
  4. Venatus Games

    Nightfall - DevBlog #1

    NIGHTFALL DEVBLOG #1 Foreword... The first and most important question of course -- What is Nightfall? Nightfall is, for us, the game we've always wanted to play for ourselves that no one has delivered. Nightfall has been a concept in our heads and on paper for years, but it was something we never seriously attempted. We'd brush it off hoping someone would create this experience for us or that eventually a game would be modded to fit this gap, but we were let down time and time again. We've reached a point where we're tired of waiting around for our dream game to come to us - we're going to make it ourselves. Some of you may remember a previous game we posted about here called Crazy Seas. We had a fairly successful blog here for awhile and had received some great responses from the community, of which we're still pretty grateful for. We ended up eventually axing the project due to the size of our team, budget constraints, and in honesty - inexperience for the MMO scale we were aiming for. I tell you this because something we STRONGLY believe in at Venatus is honest development. This is a passion project for us and that said, we want to play it as badly as you do. I speak of our previous failures so that they are out there, but also so that it is clear of our growth. Crazy Seas helped us grow and was more of a stepping stone in our learning, which is not what we intend for Nightfall. With the boring stuff out of the way, let's talk Nightfall. As I said, Nightfall is a passion project for us. What does that mean? Simply put it means that this game is near and dear to our hearts and is not something we're taking lightly. We will develop this game. The questions are of course; our time frame, our budget, and the content of the game itself, ALL of which I will address in our DevBlog post here. So without further ado, lets get into this and officially begin Nightfall's first DevBlog post. What is Nightfall? If you're not coming from our Discord, (or heck, even if you are) I'm sure this is the question at the forefront of your mind. What is Nightfall? What is this game and why should I care about it. Here's a quick excerpt from our Discord which I'm going to stick here and then I'm going to break it down in more detail. "Nightfall is a block/voxel type game being developed by Venatus with influence from Minecraft, Castle Miner Z, and other predecessors. It is a base-defense open world sandbox game that pits you against dynamic and dangerous enemies along with other players. You can work together or go it alone to try and survive the harsh nights of Nightfall. The game is an open world sandbox where Players can do whatever they want. To survive, players will need to gather resources and construct a shelter. However, when night falls, things get much more difficult. The players will need to defend against difficult dynamic enemies and survive to the next morning." So what does all of that stuff mean? Well, Nightfall is the game we've been looking for in other games of this genre that we think have failed in producing the content we want to for Nightfall. It is obvious without a doubt that Minecraft is the pioneer of the Block-Type genre. No one is arguing that here. But Minecraft has it's limitations. We like to think that this is where Nightfall will pick up the slack. No, Nightfall is not a Mineclone. Is the world/terrain going to be made of blocks/voxels? Yes. Are some of the most core mechanics of a block game going to exist in Nightfall too? Undoubtedly. But that's where the similarities will begin to thin. Minecraft opened doors in sandbox games that were monumental. We want to take that open-world sandbox freedom and put it to the test in new applications. Our game is about survival in a much more difficult sense but it aims to retain the creative aspects of the sandbox of a block game. Do you remember spending your first night in Minecraft? Way back in 2009? The fear you had of the night and rudimentary dirt house you built to keep yourself alive? If you play Minecraft, this feeling is something that is probably long gone by now. When the sun sets, nothing is different. You probably just hop in a bed and don't even give it a second thought. This changes in Nightfall. Our goal is to replicate that feeling of unknown you had when you survived your first night again... and again... and again. Not only that, but we aim to have weapon variety, a plethora of enemies - each with unique AI, and harsh survival mechanics. Seasons? Check. Weather? Check. Scary shit that's going to try to eat you? Check. We want every play-through to have a uniqueness to it but at the same time have a core survival instinct that you need to rely on. If you're still looking for some more information, here's some other games and mod-packs we've enjoyed that have helped to inspire the need for Nightfall. Why now? Okay, okay, you caught me. I did say we've had this idea for ages. Why did we wait so long? There's a few reasons for that. If you don't care then this is definitely a section you can skip! First of all, timing for ourselves. This is a time where we have enough of our own time to dedicate to creating this game. This is also a time where we have the resources AND the people to pull it off. Our team currently consists of 11 people, three of which are artists, two of which are composers, some with game design experience, six of which are programmers, etc, etc, you get the gist. Almost all of us are pursuing a career in software or game development (no exaggeration, literally 10/11 people on the team.) and this is what we want to do. We are dedicated to this. With that said though, we are students or full time-workers elsewhere. This is not our main job and this circles back to the honesty we were talking about. This is another reason why we've decided now is the time. We're sick of being mistreated by other developers and disgusted by the precedent that's being set in development. Blatant cash grabs, under-age gambling, pure lies coming from development teams being swept under the rug and forgiven without explanation -- you know who you are --, we're done with that. So we're trying to make a positive change here and be open to you. If we need help, we'll ask for it. If we're struggling, we'll tell you. What we won't do is give up. If we need something we'll make sure to let you know and if we're thriving, we'll let you know too. (FYI, we're doing pretty well right now thanks for asking). This is why we've decided we're ready to bring you Nightfall. But who? Okay I'm picking up on the who, what, why, where theme here. Another section you can skip if this totally bores you, but here's a little bit more about us. We are Venatus Games. Our team began sometime back in 2013 and has changed a lot since then. There are now 11 of us who are committed to bringing you a product we're proud of and that we ourselves want to play. A cool thing about our team is that most of us grew up together. We know each other well and are a tight knit group which helps to avoid any unforeseen development crises. But as I mentioned previously, we're also college students, workers, and adults. By this I mean we have lives to live, bills to pay, and in some cases, others to take care of. While Nightfall is important to us, we do have other priorities as I'm sure you do too. We're funding this game out of pocket and from generous community supporters, (shoutout to Nedac!) and that's something we plan to stick to. If you want to learn more about that you can click here or scroll to the end of this Blog. When will the game be released? Tomorrow... just kidding, I wish. This is of course a common question and although this is sadly a common answer - when. it's. ready. We're working our butts off to get to a playable build and will share ways to play and test the game with our Backers/Patreons as soon as they become available. In the meantime we'll continue to overload you with information and eventually game play footage but we PROMISE to be as open and honest with you on the process and where we are in it as we develop the game. Alright, alright, give me the good stuff already! I think we've talked enough and it's time to start showing off some of what we've got in store for you over the next few months but before we do that I'm going to tell you my life story starting from conception. On January 2nd, I emerged from my mother's- just kidding, here's Nightfall... The Basics So what the heck do you do in this game? Well you can start by checking out our FIRST official piece of concept art by one of our own, Crimmy. It features a player standing on a cliff overlooking a valley where a player(s) has built a settlement. An important part of Nightfall is Survival. That is blatantly obvious. You'll need to eat and probably drink, as well as make shelter to survive the harsh reality of the world. But we want you to survive in environments you are not used to. The choices we made when designing this concept are purposeful. Notice the towering mountains in the background, or the trees that are more than a few blocks larger than a player. This is intentional. We want to provide an environment that feels real and not just pre-defined within measly constraints. Our terrain will be unique and provide new sights to see each time you load up a world. The uniqueness of the terrain will definitely be a big factor of where you choose to survive. Each biome will come with different elements to it's landmass and all of them won't be plain, simple, and flat. Some will come with large spikes, some will come with deep valleys, and some might look so alien you think you might have walked onto the set of a Sci-Fi movie. But this is purposeful. Our world will have a flow to it but will also reward exploring. You might find different resources in different biomes, new ores and locations under the surface, or even different creatures. You won't know what's around the corner and this is one of the things that makes Nightfall great. We won't recycle the same four biomes you see everywhere (forest, desert, tundra, oh look another forest, desert, forest, etc, you get the point) over and over. We'll give you a palette. Do with it what you want. Now, I'd like to unveil one of the first elements that players will have to learn how to survive in Nightfall... Seasons Nightfall has four seasons. These seasons have a different effect depending on the biome you are in, which we'll talk about here, but the basics are the same. Seasons change the length of the day/night cycle, the growth of crops, the enemies you'll see, and even the temperature. They are not something to mess around with but there are plenty of ways to counteract them. Check out this conceptual GIF of seasons in Nightfall and the graphic below to learn more about what seasons effect. giphy.mp4 Spring Oh, I've got a spring in my step when it's spring (Cheesy, I'm done I promise). The flowers are blooming, the weather is nicer, albeit there's some rain, but things are better in the Spring. It's the season right after Winter so I'd sure hope so. Spring is the time to plant your crops and emerge from your winter hidey-holes. Spring is the time to gather plentiful food and enjoy the warm sun as the days get longer again. Overall although, Spring is one of the two more mild seasons for sure. This is your time to not really have to worry about anything being too different from a biome's defaults. Check out a more detailed list of Spring's effects in the graphic below. Summer Oh boy, oh boy, it's Summer! Summer is warm, summer is bright, but you do need to be careful. If you're in the wrong place Summer can be intense. During the Summer, you'll want to avoid generically hot places and bring along ways to cool yourself off if you do choose to visit during this season. Summer also bring's out a lot of our cold-blooded friends who no longer need to hide during the Winter. They'll want to bask in the heat too ya know! Summer is a great time to grow your crops as there's not too much effecting them, just make sure to keep them watered! However, thunderstorms will probably do that quite nicely as well, just watch that you don't get stuck in the wrong place at the wrong time. You can check out the graphic below to learn a bit more about how Summer effects the environment. Fall Fall is another pretty average season... it is harvest season though! This is your time to finish stockpiling your winter food supply and watch certain trees turn pretty colors. But, no, seriously, don't spend all your time watching trees, you'll need to gather food to make sure you're ready to go. Of course the days are beginning to get shorter, and Winter is around the corner. There will also be some seasonal creatures to face off against during this time as well. You can learn more about the effects fall has on the environment in the graphic below. Winter To put it simply, Winter is f*#$^%g terrifying. If you don't move to a warmer climate, you're probably going to have a hard time in the Winter. First of all, you'll have to stay warm, the opposite of what you had to do during the summer. Winter will kill your crops, or at least almost all of them, as it will be too cold to grow anything. You'll have to move your livestock indoors to keep them warm and find ways to keep your belly full if you didn't stockpile. You'll also face off against unique Winter enemies and face intense weather conditions from light snowfall to thick coatings and even Blizzards. In the case of serious snow, it's probably best to hole up and avoid the outdoors entirely. Winter is a good time to go underground and hunt for resources there as Nightfall has an extensive underground system with unique generation and- you know what, let's save that for another time. If you'd like to learn more about the effects Winter has on the environment, check out the graphic below. Wow! That was a lot of information! Gee, thanks! No, but seriously, this is only the beginning of what we have to share with you. We're actually limiting what we ARE sharing right now as there's so much that we've finished conceptualizing but what to process more before we're ready to present it to make sure that we can pull it off for you. We hope you enjoyed your first real look at some concept art for the game in it's seasons, weather, and enviornment and you betcha there's more to come. Where are you in the development process? Ah! Our first directly programming related information in this DevBlog and it only took an hour and a half of writing to get to. As we've said many (probably obnoxiously many) times in this DevBlog so far, we plan to be totally honest with you in our development and that means down to the nitty-gritty of where we currently are in development. This section of the logs might not always be interesting as we may end up going into too much detail, so you're welcome to skip it, but I would suggest reading today's as it's rather simple and provides answers to a lot of commonly asked questions. Yes, we've decided to go the Unity route. Yes, we are aware there are few to no successful block games in Unity. Yes, we have Unity experience. No, I personally do not like tacos but other people on the team enjoy them a bit too much. As I said previously, we've really been in the more formal part of conceptualization for the better part of a month and only this past week sat down to begin what you'd consider the true development of the game -- even though I'm hesitant to word it like that. We have a very clear picture and a very clear goal in mind right now. This week was spent setting up all of our collaboration tools and specifically outlining the three major hurdles right now for us to tackle before we can begin to break down the content of the game and really flesh it out. These three prongs are; 1. Terrain Generation 2. Network Integration/Multiplayer Functionality 3. Rendering System These three prongs, ESPECIALLY, the first one, are our main priority right now. While this may not mean much to the larger part of the audience reading this blog post, this is the most crucial groundwork to the game and will take the most time. We've already more or less worked out Multiplayer Functionality, but Terrain Generation is a beast in itself and will take us the better part of the next month or more to figure out the exact right way to do it -- and that's being optimistic. The reason why this will take so much time is because we don't want to screw ourselves for later. It is important that we lay this framework with the future in mind so we are able to provide new features down the road without having to overcome difficult or impossible limits we set on ourselves in the past. We are confident that we will be able to work out these three prongs -- and are already doing so -- and lay the groundwork for Nightfall, but will need your patience while we do so. In return, we promise to keep you entertained and interested with these Dev Blogs and other content on our Discord, while being one hundred percent honest with you where we are in the process. Discord, Patreon, and Social Media We would like to take the time right here to again shout out our incredible community. It astounds us to already be able to say that but in reality we are not surprised to see such an interest in a game we ourselves so badly wanted. Our Discord, which was created less than 72 hours ago, is already almost to 100 members and we've already had our first Patron on Patreon. This is incredible. The support you guys have shown makes us want to create this game even more. We're going to leave some links here and tell you a bit about each one of these things but if you've already joined or aren't interested, go right ahead and skip this part of the DevBlog. Don't worry, we won't be offended... (although we'll make Winter harder by 1% for every person who does ) Discord https://discord.gg/2BKtNks Use the link above to head on over to our Discord. This is the absolute BEST way to communicate with myself, any of the Developers, and the community. We have dedicated areas for you to suggest features, give feedback, learn more, and most importantly - ASK QUESTIONS (and get an answer too!) This is the easiest (and free!) way of supporting us and we are so happy to see so many of you already taking advantage of this by joining, talking to each other, suggesting features, and grilling us with questions! It's been great! I've already heard the argument from one person that this is preemptive and too early to be doing - but we wholeheartedly disagree. We WANT to hear from YOU from the BEGINNING. It's the best way to create a game that we'll all love. The only way this works though is if you participate and if we are honest with you, which is something we value you. We won't embellish things in order to get you to contribute or become over-hyped for the game. We'll simply lay things out how they are and go from there. Patreon https://www.patreon.com/vgnightfall Honestly, we're new to the whole Patreon scene, but you can pledge to monetarily support us monthly here. We do have various tiers of support that each provide unique rewards like special roles on our Discord server, access to even more direct communication with Developers, and of course, eventual early access to the game to help us test. You'll also get bonus development content and an even closer peek into our development process directly through Patreon and Discord when you subscribe! After three days of the Patreon existing, we've already had someone pledge to us! This was on the first day too before we've shared anything! We truly do appreciate the support! Thanks Nedac16! Twitter https://twitter.com/venatus_games This one is pretty simple. It's just Twitter. If you click the link, it'll take you to our page and let you follow along with what we do there. We'll share similar content updates there along with more information or if we're ever looking for help. Click the link and give us a follow if you're feeling generous and help support Nightfall! What's next? Coming up... In the next DevBlog, we'll have some more information/content for you on building mechanics, unique structural items, player survival (health and hunger), and some more concepts in both art and features! We'll also have more environmental concept art and we'll have an update on where we are in the development process! (Closing) And night is upon us... Well if you've made it this far and truly read every word... Thank you! From the bottom of our hearts the entire development team over at Venatus appreciates you! We're looking forward to Nightfall as much as you are and can't wait to share more content with you here, on Discord, and through Nightfall itself. In the next few months, we'll be sharing oodles of information with you and interacting with you on Discord so you can help shape the game while it's in its early stages. This first DevBlog is monumental for us as it means that Nightfall and what it represents will finally be a reality... and we promise to work hard until it is. We ask that you're patient and understanding with us as we take these first clumsy steps until we reach a point where we can not only walk -- but run. It will be here sooner than you think and we hope you're around to see it. But with that said, night is upon us and we better get inside before it's dark. Thanks again for reading! Humbly, VG Jack and the Venatus Team
  5. What could be a way of avoiding using inheritance and virtual methods when designing components for an entity-component-system? I'll be more specific about my design issue: I currently have different classes for different kinds of colliders (let's say, CircleCollider and LineCollider). My system that checks for collisions and updates the positions and/or velocities of my entities should be something like: for entity_i in alive_entities { collider_i = get_collider_of_entity(entity_i) // components of same kind are stored contiguously in separate arrays transform_i = get_transform_of_entity(entity_i) for entity_j in alive_entities { collider_j = get_collider_of_entity(entity_j) transform_j = get_transform_of_entity(entity_j) if check_collision(collider_i, collider_j) { update(transform_i) update(transform_j) } } } my problem is that I don't have a generic `get_collider_of_entity` function, but rather a function `get_circle_collider_of_entity` and a separate one `get_line_collider_of_entity`, and so on. (This happens because under the hood I am keeping a mapping (entity_id -> [transform_id, sprite_id, circle_collider_id, line_collider_id, ...]) that tells me whether an entity is using certain kinds of components and which are the indices of those components in the arrays containing the actual components instances. As you can see, each component class is corresponding to a unique index, namely the index position of the array of the mapping described above. For example, transforms are 0, sprites are 1, circle colliders are 2, line colliders are 3, and so on.) I am in need to write a system as the one in the snippet above. I can write several overloaded `check_collision` functions that implement the logic for collision detection between different kinds of geometric primitives, but my problem is that I am not sure how to obtain a generic `get_collider_of_entity` function. I would need something that would get me the collider of an entity, regardless of whether the entity has a circle collider, a line collider, a square collider, etc. One solution could be to write a function that checks whether in my internal entity_id -> [components_ids] mapping a certain entity has a collider at any of the indices that correspond to colliders. For example, say that the indices related to the collider classes are indices 10 to 20, then my function would do get_collider_of_entity (entity_id) { for comp_type_id in 10..20{ if mapping[entity_id][comp_type_id] not null { return components_arrays[comp_type_id][entity_id] } } return null } This could turn out to be pretty slow, since I have to do a small search for every collider of every entity. Also, it may not be straightforward to handle returned types here. (I'm working with C++, and the first solution - that is not involving inheritance in any way - would be returning a std::variant<CircleCollider, LineCollider, ... all kinds of components>, since I would need to return something that could be of different types). Another solution could be having some inheritance among components, e.g. all specific component classes inherit from a base Collider, and overrride some virtual `collide_with(const Collider& other)` method. Then I would redesign my mapping to probably reserve just one index for colliders, and then I would actual colliders in a polymorphic array of pointers to colliders, instead of having a separate array for CircleColliders, another for LineColliders, and so on. But this would destroy any attempt to be cache-friendly in my design, wouldn't it? That's why I am looking for alternatives. A third alternative would be to just have a single, only, Collider class. That would internally store the "actual type" ( aka what kind of collider it is ) with dynamic information (like an enum ColliderType). Then I would have all colliders have all members needed by any kind of colliders, and specific collision detection functions which I can dispatch dynamically that only use some of that data. (Practical example: a "Collider" would have a radius, and the coordinate for 2 points, and in case its type was "circle" it would only make use of the radius and of one of the 2 points - used as the center -, while if it was a "segment" it would only make use of the 2 points). My gut feeling is that this would bloat all colliders, and, even if the bloat could be reduced - using unions in some smart way for storing members? I wouldn't know how -, then still the design would be pretty brittle. I'm clueless and open for ideas and advice! How do you handle in general situations in which you have components that can be naturally modeled as subclasses of a more generic component class? Inheritance? Smart hacks with variants, templates, macros, custom indexing? Dynamic "internal" type?
  6. Good day to you! Welcome to this new Weekly Updates blog entry! Last week was, overall, pretty packed. After a short strategy time, I managed to come up with a plan that I think will be more impactful than before. So without any further ados let's get this thing started, shall we? Platforming The main theme of this Weekly Updates post is probably platforming. Players could always jump but, so far, these were mostly used as a defensive technique. These were really helpful for range players but literally useless to everybody else... To fix this, I decided to sprinkle the levels with a bit of platforming. Basically, some tunnel rooms will now spawn stairs. These will, in turn, lead to platforming challenges that'll reward players with good-old-fashioned loots. Similarly, I'm also planning to have hidden shortcuts scattered around too. The idea is that some normal rooms will contain super secret stairs under breakable props that will allow the player to skip some rooms. The difference here is that instead of loots these will open up to an exit. Platforming Challenges Each platform challenge will be created by hand. To spice it all up, there'll be level-specific challenges as well as generic ones. When generating the level, those challenges will be randomly picked. Some challenges can also include a puzzle to solve. These challenges will be composed of several platforming elements. The idea is above all to offer a lot of diversity and to propose several unique challenges while simplifying their conception. Let's take a look: Moving Platforms First, let's look at moving platforms. These types of platforms move along a predetermined path. Most of the time, this type of platform moves linearly from one point to another. Players can, with good timing, jump on it to enjoy a free ride. At any time, players can land from them by jumping or simply dropping them. Some platforms will move rather in a cyclical movement (for example, making circles or following a predetermined circuit). Players must, therefore, time themselves correctly and use these platforms to their advantage. Rotating Platforms Secondly, there is another type of platform not very different from the previous one: the rotating platform. Basically, they are functionally identical to moving platforms. They too allow players to enjoy a free trip. However, unlike mobile platforms, they rotate rather than move. Some turn on themselves and others turn on different axes. They can also rotate at different speeds. Therefore, players must again use timing while dealing with them. Ladders Finally, here is the last one: the ladder. Ladders are, like in real life, practical tools for reaching things that are normally too high to access. In the game, players can climb ladders by simply approaching them. Once mounted, players can now move both vertically and horizontally on the ladder. Players will automatically dismount the ladder once they reach any of its extremities. To rapidly drop from a ladder, players can press the jump key. This pushes players off the ladder. Since the game takes a first-person perspective, ladders behave almost identically to those found in Source Engine games (Half-Life, Counter-Strike, etc.). Thus, players are free to look anywhere they want while still being able to freely use any ladder. That's about it for platform challenges. Here's a video showcasing a placeholder simple platform challenge: Puzzles Secondly, I've managed to refine puzzles and add a new puzzle piece. There are still two types of puzzle pieces but now there a new sub-type of the pressure plate. Now there are two types of pressure plates: round ones and square ones. The idea is to have two distinctly different models for two different types of pressure plates. The round pressure plate acts like your typical button. This means that once it's pressed down it stays down. The square one needs constant pressure to stay active. Usually, players can use some kind of weight (like a pushable block) to keep it on while solving other puzzles. Minor Updates Added some pressure plate animations and transitions Remapped puzzle pieces UV maps to use different tints Changed most puzzle pieces shader to offset UVs to vary the model's colours a bit. Next Week To be honest, here, I'm hoping to really get it going with platforming challenges and puzzles. I really want to get these things started and see where this will go. Aside from that, it's your usual suspects... Otherwise, I'm still constantly thinking about what to do next... It's been so long without any conceivable revenue and perhaps it's time to do something about it. What it is is still unsure. Perhaps it's to either create some kind of Kickstarter campaign or something alike... Perhaps it might even be taking a bit of work on the side to stay afloat. I really need to think about it because any false move could put the game in a bad position. I really believe in what I'm working on right now. It has a very unique approach to Vaporwave that I haven't seen a whole lot of. Usually, designers stick with either neon colours on a dark background or retro PSX aesthetics. However, I didn't see any love for Memphis Desing nor 90s design. This really makes me think that I'm on to something. But anyway, let's try to make it work in the first place!
  7. NekrosArts

    1_Verfallene Ruinen im Moor.png

    From the album: Medieval RPG Level Designs

    © @Nekros Arts

  8. NekrosArts

    1_Gebirge des Dorfes.png

    From the album: Medieval RPG Level Designs

    © @Nekros Arts

  9. NekrosArts

    1_Aufgang zur Kirche.png