Advertisement Jump to content
  • Advertisement

Search the Community

Showing results for tags 'PC'.



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
    • 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

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 1000 results

  1. Hi :) my name is Tom, I have played video games as long as I can remember (I owned the 6 shooter style gun for pong) and have always been drawn to video games, all types of games sports games, RPG’s, puzzles I’ve played a bunch as have probably anybody that’s going to read this. I recently went to the EGLX show in Toronto this weekend and was quite disappointed with what I saw as the NEW video games... to be blunt, they were shit... all of them, they were all either a street fighter style linear fighting game (basically street fighter with different skins) or like a free roam super Mario 64 style. The whole time I was walking around wondering “where’s the innovation”? Now, I can barely use a computer, it’s not by any stretch part of my forté, I’ve tried to start making a game both on game maker studio and unity but I quickly get frustrated with the complexities and my lack of knowledge as far as any form of code or just using the various interfaces. I feel like I have some pretty good ideas for games, some that (as far as I know) haven’t been created yet. My question is, Is there someone in or around the Toronto area that would be interested in taking on a project or projects, that knows how to do the coding and whatever and I can sort of steer the project And add ideas along the way? I have some easy ideas for games that would be good to start out with and see if we can work as a team (or not), all the while producing FUN playable games! Isn’t that the whole point of video games anyways??? Tom.
  2. HI Devs We are looking for a Level designer to creating level maps a game. It is a 3D first/third person battle simulator. Its set in the Viking age in Norway and we want to create a brutal but fun game with focus game mechanics. We would like to have a stamina system that is linked to a weapon and armour weight system. This system will require management from the player if they hope to survive. This project is intended to be commerical so if all goes well, you will recieve a share. You will be creating level maps for the project. Working in unreal would be an advantage but we have other devs that can do this if needed. We have a handful of other devs that will be working on this, 3d artists, a composer, a programmer and concept. If you are reading this and your not a designer but want to be involved please message me as we are still looking for other devs and artists. Thank you
  3. I am stuck on a bit of a body motion problem and I was wondering if anyone would be able to offer a fresh perspective on it. I have a body in motion, governed by a realistic physics engine. It is a rocket, during ascent (launch) into orbit. Rocket has main engine thrusters on its end, 4 of them (just like Apollo Saturn V) and I am able to gimbal (pivot) these engines to change the thrust geometry. One of these modes is a "roll" configuration, where 2 engines pivot slightly forward, and 2 engines slightly backward, thus producing torque and an axial (longitudinal) roll on the rocket body. Everything works well, as expected. The problem I have is, I need an algorithm that will let me produce an exact amount of degrees in roll. So for example, I'd like to roll the rocket by 60 degrees. At first, this seemed trivial: Initiate roll by gimbaling engines The rocket starts rolling At half way point, 30 degrees, reverse gimbal positions so that the roll can be counter-acted The rocket slows down the roll The rocket stops at exactly 60 degrees (since equal but opposite torque was applied at exactly half way point) Under ideal conditions, this would work. I tried the algorithm above, and the rocket stops the roll, as expected, but way off the 60 degree mark, more like around 47 degrees. Then I realized that I had several other factors to contend with: Rocket is losing mass - the fuel is being expended as the launch progresses. This means that the moment of inertia is changing with time. There is small but not negligible damping created by the atmosphere, and that is changing as well, as the atmosphere is getting thinner. So, the results I got were correct, since the rocket lost a bit of mass while it was turning, and less torque was required to stop the roll. Since I applied the same amount of torque, the rocket stopped rolling earlier than at 60 degree mark. I am not sure how to tackle this. Somehow, I need to calculate that "point" in the roll, in degrees, where to switch the thrust geometry, to wind up exactly at my desired roll amount. In 0-60 degree roll example above, that mark would be somewhere higher than 30 degrees. Any thoughts on this?
  4. The problem of difficulty in games has been debated to great depths for a long time. Various alternatives to the traditional approach with different difficulty modes at the beginning of a particular game have been proposed, analyzed and implemented. And yet, as much as they patch up the errors of the traditional approach, within them arise numerous inherent problems and difficulties. As such, I would like to propose another alternative–not so much a mechanical solution that requires implementation, but rather a different approach to difficulty design. One thing I’d like to stress is that, this has been applied in various games quite successfully before, and I’ll mention them later on, but not to the extent to which it can deservedly become a central design philosophy, in my opinion. This I presume is due to a lack of a rather clear and deliberate approach to difficulty design. But first, let me attempt to briefly summarize a few popular criticisms of the traditional difficulty modes approach and its alternative. Problems with Difficulty Modes Picture yourself coming into a brand new game, only to be asked to choose a difficulty mode that’s suitable for yourself, and presented with a number of different menu options. And frankly, they don’t do that good of a job at giving you sufficient information to make such an important decision. This is how many games in our history have done difficulty, and it continues to be fairly prevalent among modern games. Here are its common criticisms: Asking the player to make such a decision right at the beginning is not exactly a good idea. To select a difficulty mode before the game even starts is to make a major commitment based on very little information available (e.g. a short description). Once the player has selected a difficulty, they are probably going to live with it for the entire playthrough. Even if the game allows the player to change the difficulty mode later on, it is, in itself, still not a very good idea. For one, explicitly selecting a difficulty mode in a menu-based manner is certainly not an interesting choice that games strive to offer their players. They do not have to weigh anything against anything. They do not have to analyze the risks and rewards coming as a result of each option. And generally speaking, players are not going to be good at weighting short-term convenience against long-term enjoyment. They just do not know the game enough. Such approach would defeat the entire point of progression through unlocking higher and better tools to enhance and assist with gameplay. It would go against the intended gameplay experience from the game designer. And most importantly, it would make the player feel judged for not choosing a higher difficulty. There have been several solutions to negate these issues, of which Mark Brown has gone into depths in one of his videos. However, not one of them was able to solve them all and still maintain immersion. Dynamic Difficulty Adjustment The idea of Dynamic Difficulty Adjustment (or DDA) hinges on the theory of the player’s Flow State, in which the player is completely immersed, and the game’s difficulty feels just right. Any more difficulty will cause frustration and break immersion. Any less difficulty and the player will quickly find boredom, and you guessed it, lose immersion. Therefore, as designer Andrew Glassner put it in his book Interactive Storytelling, games “should not ask players to select a difficulty level. Games should adapt themselves during gameplay to offer the player a consistent degree of challenge based on his changing abilities at different tasks.” Or in other words, games should be implemented with a performance evaluation system as well as a dynamic difficulty adjustment system in order to adjust itself to accommodate the infinitely different and ever-changing characteristics of players. More on the technical details of DDA can be found in Robin Hunicke’s 2005 paper The Case for Dynamic Difficulty Adjustment in Games. However, while the Flow State theory admittedly has its merits, the DDA approach doesn’t go without its numerous downsides: Some players, when they find out about DDA, hate it. Especially when DDA cannot be turned off, the player ends up feeling patronized, and not respected by the game as an adult, capable of taking on challenges and improving him/herself. Players can, and will, learn to exploit DDA by pretending to be worse at playing than they actually are. And oftentimes, a DDA system will require some sort of break time in order to avoid revealing itself to the player, thus not able to quickly adapt itself to the player’s ostensible skill level. DDA inhibits the player’s ability to learn and improve. As soon as the player improves, the difficulty ramps up to match their skill level, thus eliminating the possibility of positive results. If the player cannot see some sort of feedback from the game regarding their performance, they cannot know whether any changes in their approach to gameplay were effective. DDA may create absurdities. One of the popular example of DDA going awry is the rubber-band effect in racing games, where opponents speed up and slow down seemingly for no reason in order to adapt to the player’s performance. DDA is incompatible with some forms of challenge. If the challenge in question is numerically-based, then DDA can work easily. However, when the challenge is symbolical, with pre-designed elements that are nakedly visible to the player, often having only one or a few intended solutions, then DDA cannot work. There are many interesting and nuanced approaches to DDA that I won’t mention since that’s beyond the scope of this segment. While I imagine there are going to be a lot of way to make DDA functional and sufficiently inscrutable through clever algorithms and implementation, I am rather discussing the fundamentals. Organic Difficulty in Games There seems to be a number of different terms to address this approach, but just for this article I’m going to use the term “Organic Difficulty.” This is something that has been tossed around in the last decade or so. The basic idea of Organic Difficulty is that the game does not ask the players to select or adjust their preferred difficulty via GUI-based commands, nor does it automatically adapt itself to match with the player’s performance and progress. But rather, the game allows the player to interact with it in certain ways to make it easier, or harder, for themselves. These take the form of tools, approaches, strategies, input sequences or methods, etc. which should often come with some sort of trade-off. This is something that has been implemented in a number of games including From Software’s Dark Souls, which Extra Credits has dedicated an entire episode to, and which everyone should take a look. In Metal Gear Solid V, for every mission the player has completed, there’s a score rating system which provides a rough overview of the player’s performance based on a number of factors such as stealth, lethality, accuracy, completion speed, whether the player has completed any mission tasks, and what tools they used. While the player does get minus points for mistakes such as getting detected, raising enemy alert, taking hits, etc. some other factors are not as clear-cut as to how they constitute minus points aside from narrative reasons. The player can always go on a lethal rampage, tossing grenades at everybody in sight, or calling a support helicopter to airstrike the entire enemy base. The player is provided the tools to do exactly all of those, and they’re always just a few buttons away, and the worst they get is a C rank, provided they completed the mission, and a slight dip in their earnings. Another example of this can be found XCOM: Enemy Within. There's a "cheesy" tactic in the game that can almost ensure victory, which is to have a unit with the Mimetic Skin ability to safely spot the enemies, thus enabling a squadsight-sniper from across the entire map to pick them off one-by-one safely without any real repercussion. This strategy is extremely effective in virtually every mechanical aspect of combat, with the only risk being that the spotter must not be flanked for they would instantly lose invisibility. The actual problem with this strategy is that it’s incredibly boring: your snipers just simply shoot every turn, and you can only take a few shots every turn, not to mention reloading. This strategy is best suited for beginners and people who have made mistakes and want to get out of the downward spiral. While on the other end of the spectrum, there are players who understand how the game and the AI of every alien unit in the game work, so they are more confident about moving up close and personal with enemies with minimal armor. Because for them, it's not about defending against the enemies, but about manipulating, "nudging" the enemies into behaving the way these players want them to (e.g. nobody needs armor when enemies are only going to attack the tank; nobody needs to take good cover when enemies are too scared to move to flank in front of an Opportunist-overwatch unit; etc.) The above examples seem to imply a few important points regarding difficulty: Difficulty should not only be designed around the mechanics of a game. It should also take into account the aesthetics or elegance of those very mechanics. Punishment does not always have to be tangible or significant, as long as it is enough to indicate to players that they are straying off the intended experience. A good analogy would be physical pain. The pain itself is not what’s causing harm to your body. The physical wound is. Pain is merely a bodily signal to let you know that what’s happening right now is pretty bad and you probably shouldn’t let what just happened happen again. But remember, the choice is ultimately yours! It may not be a good idea to put people on the linear graph of "gaming skill" where some people are simply "softcore, not-so-good at video games" and some other are "hardcore and always challenge-seeking." The idea alone is absurd, because players on such a graph would move up and down constantly, even during a single playthrough. Some people pick things up faster than a game can predict with its tutorials' pacing. Some people due to real life reasons have to abandon the game for some time, and they lose a bit of their touch when they come back to it. Instead of judging the player’s skill and trying to accommodate every possibility, games should be judging player interactions instead, using a spectrum between Effectiveness and Aesthetics of Play (or what I shall humbly name Ludoaesthetics). The Effectiveness-Ludoaesthetics Spectrum (ELS) On the Effectiveness-Ludoaesthetics Spectrum (ELS), difficulty exists only at the lowest technical level. Each end of the ELS represents what each player wants at a certain point in the game with certain conditions. On this spectrum, games are designed with the player’s interactions, approaches and strategies in mind, each with its own degree of effectiveness and ludoaesthetics. These are not solely defined by mechanics or the player’s skill level, but rather the way in which they are experienced and perceived by the player. Effectiveness refers to how well the player can progress and achieve their goals in a game using the set of tools they’re given and the strategies they’re allowed to formulate. How easy those tools are to use, and how good they are at helping the player progress towards the game’s intended goals, primarily constitute Effectiveness. Players who aim towards and stay on this end primarily look for the most effective ways to achieve the intended goals of the game (which of course include playing the game the easy way). Ludoaesthetics refers to the perceivable aesthetic appeals of the aforementioned set of tools and strategies given to the players. Players who aim towards this end do not necessarily look for the most effective ways to achieve the intended goals. But rather they tend to look for the added intrinsic benefits derived from unconventional play. These benefits include: Superficial Attractiveness: Visual and auditory appeal of using the subject matter or the subject matter itself. It can be represented by any entity the player can recognize in the game such as a character with great visual design, a badass-looking weapon with satisfying visual and sound effects, etc. Competitiveness: a.k.a. bragging rights. This is rather self-explanatory. There is always that portion of players who keep seeking greater and greater challenges to prove themselves to the world. They may even go as far as handicapping themselves with arbitrary limitations to heighten the challenge. Greater sense of satisfaction derived from greater challenges that may go beyond the goals intended by the game. People who have been through heights of overwhelming odds know about, and may expect, the immense amount of satisfaction that comes with them. Narrative Fantasy: Players may look for things that may not be effective or productive in terms of gameplay because they would align with the narrative better (in games that understandably contain some degree of ludonarrative dissonance), or they would add an extra layer of depth and intensity to the narrative and thereby enhancing it. Essentially, they’re sacrificing gameplay optimality to elevate their narrative fantasy. Design for Ludoaesthetics The point of designing for ludoaesthetics is NOT to create increasingly harder challenges in order to accommodate the player’s increasing skills (though that is not to say such approach has no merits whatsoever). But rather, it is actually to encourage players to strive for aesthetics in their gameplay and to lean more towards the right side of the spectrum. Here are a few suggestions on how to go about it. Creating more depth Depth refers to the amount of space the player is allowed to make interesting choices using the set of tools they’re given by a game. For a more detailed explanation of what Depth is in comparison to Complexity, you can take a look at Extra Credits’ episode on Depth vs. Complexity. Essentially, Complexity is the amount of constituent elements that make up a game, and Depth is the degree of interactivity between those elements. The very nature of ludoaesthetics has to do with the deviation from the default, intended approach (a.k.a. Playing “by-the-book.”) Therefore, the more those elements “talk” to one another, the better chance it is for ludoaesthetics to emerge, because then the player will be able to find more different ways to control or manipulate each element. [Also read: Design for Theorycrafting] Depth is pretty much the prerequisite for ludoaesthetics even as a concept to exist. Without a lot of depth, the window of opportunities for ludoaesthetics get significantly lower or completely non-existent. Creating patterns suggesting the possibility of gameplay aesthetics Adding more depth is not only about simply adding more stuff in a game and making them as obscure as they possibly can be. It is also about leaving breadcrumbs to suggest that there is more than meets the eye, therefore encouraging players to explore further possibilities. What kind of depth to even add? And how does one go about communicating it? Below is a conceptual representation of a set of challenges typically found in video games. Each challenge is represented by a window of failure and a window of success. These windows can be spatial, temporal, symbolic, strategic, or a combination of all. They are the spaces in which the player enters by behaving in a certain expected way. Secondly, the black line represents the player’s interactive maneuvers: where to get across and which direction to turn to next, in order to overcome the set of challenges without stumbling into the windows of failure. For example, say we have a situation in a 3D platformer game where the player is facing a pit, and across the pit leaning towards the right side there is a narrow platform. In such a scenario, we can assume that the window of failure includes any and all sets of behaviors that lead the player plummeting down the pit, and the window of failure includes those that lead the player to landing on the platform across the pit safely. Now consider the same representation of challenge above, but this time with a slight deliberate arrangement. As you can see, the sizes of the windows of failure and the windows of success stay exactly the same, but the positions of the windows of success have been altered so that they align somewhat (but not exactly aligned to the point of being too obvious). You can see that nested within the windows of success is a narrower window where the amount of the player’s maneuvers stays extremely minimal. Stepping into this window offers the opportunity for a non-disrupted gameplay flow, where a deliberate and guided set of behaviors will let the player “breeze” through the challenges seemingly almost with ease. This window is where ludoaesthetics occur. Of course, the downsides of it are aplenty: it can be extremely difficult to realize such a window exists in a real scenario. And in order to stay inside such a narrow window, the player has to be extremely precise and/or smart in their gameplay. You can think of this window of non-disrupted flow as an intended “weak point” of the challenge, where a single and concentrated attack will break the whole thing apart in one fell swoop. But the process of identifying such a weak point, and delivering the finishing blow with great accuracy may require a lot of trials and errors, and can be extremely tedious and/or difficult. An Example from Master Spy A common manifestation of ludoaesthetics comes in the form of speedrunning. Finishing with speed is, for the majority of games, not the primary intended goal. Games are rarely ever designed to be speedrun, and most players do not have to finish any games at high speed in order to not miss anything. So speedrunning has always been a sort of arbitrary self-imposed challenge by those who seek greater sense of enjoyment from their favorite games. However, there are a few exceptions. And you can find the above mentioned window of non-disrupted flow in levels like this one from Master Spy by Kris Truitt. In this game you play the role of the Master Spy, to infiltrate ridiculously well-guarded buildings, palaces and fortresses with a huge number of different enemies, hazards and contraptions standing in your way. And you are given no tools whatsoever but an invisibility cloak that can help you sneak past the eyesight of certain enemies while halving your movement speed. In the example above, your goal is to retrieve the keycard on the other side of the wall slightly to the right of your starting point, and then to escape through the white door right above your starting point safely. And while your cloak can get you past the eyesight of the guards, it is of no use whatsoever against the dogs, who can smell you even when you’re cloaked and will sprint forwards to attack you at horrendous speed as soon as you’re on the same ground as them. So what you have to do as a sequence of actions in this level is first to cloak yourself, then drop down from the first ledge past the the first guard, then quickly decloak to regain speed as the cloak is useless against the incoming dogs. Then before the first dog reaches you, move forward to the right, then quickly jump up. Keep jumping to retrieve the keycard while avoiding the second and third dog. Cloak up, then get on the ledge with the three moving guards. Finally, jump to the left to reach your destination. However, as you can see from the footage above (courtesy of a speedrunner nicknamed Obidobi), as soon as the player reaches the ledge with the three moving guards on the right, the guards turn to the other side and begin moving away from where the player is, effectively freeing the player from having to cloak and having their movement speed halved. And then right before the player reaches for the white door, the guard on the far right is about to touch the wall and thereby turning back to the left. This is such a tiny window of success that should the player not have begun moving right after they start the level and stayed uncloaked at the end, they would have failed. The level is designed in such a way that it can be completely solved without wasting any moment and action. Is it significantly more difficult to play this way? Yes. Was this arrangement absolutely necessary? Not really. But the designer made the level with the expectation that people are going to speedrun the game and will be looking to optimize their timing with each level. Thus, the levels in Master Spy are designed so that should the player start looking to speedrun the game, they will easily recognize that sweet, sweet window of non-disrupted flow. It is an immensely satisfying experience to discover it. Ensure Usability As usual, it is easy to get too extremely logical about design and forget all about the equilibrium, which is almost always what design is about. In this case, it is important that designers must ensure that whatever tools they’re making for their players to achieve ludoaesthetics, MUST have at least some sort of usability, even if it’s incredibly niche or extremely difficult to pull off. Things that serve nothing and mean nothing are NOT aesthetic. Say you have an RPG, and one of your players goes out of their way in order to build an unconventional character because they see some sort of future potential from this build, only to find out later that when they’re finished with the build, the meta of the game has changed and the window of opportunity for such a build has long passed. This means that the entire amount of depth you added, and the ludoaesthetics you might have intended by allowing that player to go in such away, is utterly useless and entirely wasted. So always remember to ensure usability for everything you add in your game. Conclusion Organic Difficulty and the ELS are not only, and not necessarily, an alternative solution to the whole difficulty problem. But rather, they represent an entire paradigm shift away from the idea that games should find more and more complex ways to serve players with different skill levels, and towards a design philosophy where players are given integrated tools within the context of games to set their own difficulty at any point without breaking immersion and perhaps the extra baggage of shame. It is not enough to have your players stay at the same level of difficulty throughout the game, or dynamically adjust the difficulty on the fly to suit them. It is best, in my opinion, to let your players cook to their palate. Just make sure that the process of cooking and the game itself are one and the same. References The Designer's Notebook: Difficulty Modes and Dynamic Difficulty Adjustment (2008) by Earnest Adams. Retrieved at https://www.gamasutra.com/view/feature/132061/the_designers_notebook_.php The case for dynamic difficulty adjustment in games (2005) by Robin Hunicke Cognitive Flow: The Psychology of Great Game Design (2012) by Sean Baron. Retrieved at http://www.gamasutra.com/view/feature/166972/cognitive_flow_the_psychology_of_.php Depth vs. Complexity (2013) by Extra Credits. Available at https://www.youtube.com/watch?v=jVL4st0blGU The True Genius of Dark Souls II (2014) by Extra Credits. Available at https://www.youtube.com/watch?v=MM2dDF4B9a4 What Makes Celeste's Assist Mode Special | Game Maker's Toolkit (2018) by Mark Brown. Available at https://www.youtube.com/watch?v=NInNVEHj_G4
  5. Random Number God is a card/strategy game where you defeat randomized robots by rolling dice, and use cards to alter the probabilities and effects of those rolls. It's in a very early beta stage and pretty much only the main gameplay core is finished (battles, cards, deck building). This is more of a testbed where you can fool around with the battle system. I would appreciate some feedback on the core of the game before adding bells and whistles. You can find the project page over here: I would very much appreciate any feedback on this, since it is a very unusual and hard to analyze breed of game. Is it fun? Is it too easy or too hard? Are any of the cards too broken or too useless? Anyway, thanks for your time and all that. Cheers.
  6. Hello, everyone! Wanted to ask y'all a very brief question: I'm someone who likes to learn new programs by himself (as I presume most here are). Since I've already got the hang on graphic design and 3D modelling, I wanted to give game design a swing for a small, goofy hobby project. The idea is that I want to use some of the available design tools (like Unreal or Unity) to make a silly party / shooter game for me and my friends that we can have a laugh at during some game nights. But, before I started delving deeper into the whole ordeal, I wanted to ask a question - how possible is it to make multiplayer components in a non-commercial game using tools like UE4? LAN is not an option since our group of friends is really scattered around the place and don't have laptops :( I know it would be a really big undertaking, but I wanted to be sure if it's even possible to do an online game just for the bunch of us. Thank you in advance - Cheers!
  7. Check out my latest video where I showcase some of my creepiest sound effects for your video games ! You can find all these sound effects in my online shop: http://www.ogsoundfx.com And a Special Halloween Pack containing 128 tracks and over 2.6 GB of creepy sounds for only $9.99: http://www.ogsoundfx.com/product/special-halloween-pack-only-available-until-october-the-31st/
  8. Hello To start of this topic I want to introduce myself so that you get an idea of who I am and what my ambitions for this project are. My name is Hampus, I currently work at Massive Entertainment (Ubisoft) as a Graphics Programmer. I've been into programming for almost 8 years now and I have a degree from the education The Game Assembly under my belt. Since about 3 year back I've been programming a "hobby" engine, from scratch, at home just so that I had a platform to test technologies & to learn new things. As my knowledge improved and new technologies was discovered I felt more and more attracted to the idea of developing a "real" engine from scratch. An engine that is build truly for next-gen and cutting edge technologies. The project would be open-source, sharing knowledge to the industry, and of course free to use for developers wanting to try it (atleast as a starting-point). In fact I became so attached to this idea that I actually left all my work on the hobby engine and started setting up a new solution for a "real" engine. This was in the beginning of summer 2018. As of now the engine is actually running a stable first iteration of DX12 with working scalable threading and the structure is getting there. Think this sounds a bit interesting yet? Have a look at my (Git Repository)! Now the reason that I start this topic is because I simply don't have the time to develop this all on my own. I would want some more people to join me to work on this engine together, bringing it to new heights, and hopefully spread knowledge through the industry. So what is it actually that I am looking for? Engine Programmers - I need a few fellow programmers that can help me structure the engine and help me build the low-end foundation. As a programmer you should be confident working with low-level systems and backend engine features such as Rendering, Physics, I/O-management etc. You should have understanding of how a game-engine works and how to design future-proof systems. Experience with threading is also a very big plus. Performance is key in game-engines, therefore you should be confident with profiling and debugging of your code. Technical Artists - I would love to have some tech art aboard aswell for experimenting with shaders, graphical features, performance and tools. You should be confident in common shader languages (HLSL, GLSL etc). You should have good knowledge of how the graphics pipeline works. Artists - Since the engine is not up an running full yet, and there isn't a great pipeline for assets, there's not a great need of artists yet. However, if there is any artist out there who would love to be a part of this journey, I will gladly consider it. There's always a need for art to test with and build environments to test graphical features. You should be confident in working with any industry-standard modeling program (Maya, 3Ds, Blender) and have a rough knowledge of how a typical asset pipeline works. You should also be confident working with PBR materials. General guidelines - If you consider joining, I will require a few things from you. You have to follow the coding standard! There will be a strict submit review before any submits go live in the main branch. Take it seriously, be proud of your work. Have fun, share your knowledge, share this project, have a chat with the other team-members. Do NOT under any circumstances do anything illegal with this software. (like selling it or copy others work into ours without permission etc.) PS! There's still some work that I need to go through on the engine and the documents that comes with it, therefore it might be a bit confusing and the code might be a bit broken at the moment, but I still wanted to put up this ad to see if there's even any interest. Best regards, Hampus
  9. We've been a bit quiet on the social media front for the last few months. Mainly because we've been working on bug fixing and internal stuff that didn't make for great screenshots, so we are going to start posting regularly again now. The game is in a good shape, and we have recently started a 'Private' Alpha stage, where we have given out the game to a select few friends to get some initial feedback from. This went really well and we got some great ideas and things back from them that has helped us tweak and change some aspects of the game. Hopefully soon we will be moving to a more public Alpha testing stage. The Alpha testing will be based on the first planet only. The other 3 planets are well on their way to completion, but are not quite ready to be played yet. We have the 'ending' to get into as well. After we have been in Alpha for some time, and we have the other planets finished, then we will be moving to a Beta stage, which is really exciting. However we want all mechanics and the story-line complete before we get to this stage of testing though. We're going to start off with posting a series of images that try to explain what the game is about, like the one above. We've also added an Instagram account now, so if you are on that platform, give us a follow! (RokabiumGames)
  10. RoKabium Games

    SAMA Dev - Mag Blocks

    We've finally finished a new game mechanic, 'Mag Blocks'. These blocks are magnetized and attract (Blue) or repel (Orange) the Phys-Blocks in the puzzle sections. They can either hinder or assist you, and can make some of the puzzles harder to complete. Initially blocks can only be pushed 1 tile at a time, but now as the puzzles progress, Mag Blocks will be placed as obstacles and you will need to figure out how to use them to help complete some of the puzzles. Click the link below, to see a video of them working: https://youtu.be/W4g7gcp5DyM
  11. RoKabium Games

    Dev Blog #03 – Polishing the UI

    UI is an important part of game design and is not always easy to get right. When we started our game “Something Ate My Alien” we just dumped text on the screen to get the info on there without any real care of ‘design’ or aesthetics. Which was fine to start with as we just needed ‘functionality’. We got to the point where the game was coming along nicely, but it was time to give some TLC to the UI. We started with Kat doing some UI design in Photoshop to get things looking coherent and get the design right. Then she split up the bits into sprites and I would code it in Unity. This worked well and saved us time I think because it was easier to get the design right in PS first, rather than spending time in Unity moving things around etc. We made sure everything was easy to find without having to ‘drill down’ through too many windows, while also not allowing the screen to get too cluttered with lots of info. We found a font that worked well with our design and we used the Unity Asset ‘TextMeshPro’ to do all text with as this was a great asset that helped us scale and customize the text easily. Although currently we have only done everything in English, we have also kept in mind that we will want to localize it into other languages further along. We’ve had problems along the way with Unity, as a couple of the upgrades caused bugs and issues that took some time to find which was quite annoying. Currently we have them all worked around, apart from one that I need to locate. Between version 2017.2 and 2017.3 one of our screens has dropped FPS from 1300 to 300, which is a significant performance drop, which I think is something to do with ScrollRects having a problem. At the moment though 300 FPS doesn’t cause us a direct problem, but it is something I need to look into. SAMA contains 4 different worlds that you go through, and they are very different color schemes. So we also had to get the design of the UI to match them all. So we came up with the idea of using background images for the UI of the actual game worlds themselves. Kat hand painted them to match the worlds and then we select them depending of which world we are currently in. For smaller windows that pop up, we pick a random part of the background image, and use that for the window background. It seems to work well and make our UI now has a consistent feel about it, no matter where you are. Another important part of UI, is the size of it, particularly the text size. In the beginning we had used a very small size, since we were using large screens (30′ Dell monitors and 2560×1600 res) and we didn’t notice too much. But it was hard to read on a smaller and more standard 1920×1080 screen. So we increased the font size quite bit, and that made it much more readable and easier to see. We have got a scaling system in place also that I’m hoping we can expose in the settings menu, so the users will be able to change the size depending on their preferences. While making it look good, we also had to consider functionality, and keyboard navigation is an important part of that. Everything can be controlled with the keyboard or mouse. Some people like clicking, some like keys… or both, and it’s important that a UI has both. We tried to follow what I would call the ‘windows standard’ of things, and make it work the way windows does, as most people are familiar with that. So tabbing between fields (including reverse tabbing), cursor movement between items in scroll areas, button positions and defaults, standards like Escape key closing any window etc etc. It’s important to make the text on a button very explanatory. So if you have a window pop up for ‘saving’ the game, don’t just put ‘ok’ and ‘no’ on the buttons. Its much better to put ‘Save’ ‘Cancel’ instead as that is more clear what the buttons do. As part of the UI we also updated the HUD to match the same design. All the important information you need while down in the worlds is displayed. Again, we will have settings that allow the scale of the HUD to be changed so that the user can tweak it. Also so they can remove it fully (or fade it) for screen shots or if you don’t want it visible during game play. All in all, its taken alot longer than I had imagined to complete it all, but finally I think we can say that its mostly done now and is in a good shape. Hopefully we have created a great UI and one that our players will enjoy using. Any comments and feedback is welcome. View the full article
  12. RoKabium Games

    Puzzle me this – Alien Logic

    Alongside fighting enemies and collecting loot for the pirate, there is a large puzzle element to our new game ‘Something Ate My Alien’. The main objective of SAMA is to collect the list of items that the pirate has demanded you locate for him before he will release your ship. A lot of these items can be found by digging through the worlds, but a portion of the items can only be found by completing in-game puzzles. As well as loot for the pirate, its also possible to find upgrades and boosts for your aliens, to help with the quest and make them stronger and more useful. Each world will have different types of puzzles and so far we have only designed them for the basic first level. Most blocks in SAMA are mineable and disappear once you dig them, but we have some special blocks that we call ‘Phys-Blocks’. These blocks can’t be mined, but you can move them around. You can push them left and right, and if you dig below them they will fall, killing anything below them. In specific areas of the world, they need to be moved around and fitted into the correct ‘receptors’ and when they are all in the correct place a chest is activated and you can grab your loot. Of course, while you’re doing that, there will be enemies around to hinder your efforts, and I’m sure that a Terrator will make an appearance and try to eat you if he’s feeling hungry. If you get into an impossible situation with the blocks, then you can press the door button again, and this will reset the puzzle to the original configuration. Puzzles in other worlds will also revolve around these Phys-Blocks, but different ideas will be used to make it more fun and harder. Phys-Blocks are also dotted around the world to block passages and hinder your exploration and to just make life a little more difficult for your aliens. Now you’ve finished reading this, you’ll want something else to read I’m sure! How about a little blog about the ‘art’ side of things written by Kat. Click ‘here‘ to read her blog. Also, hop on over to FB and give us a like on our Game Page or follow us on Twitter, and also if you haven’t already voted for us in the ‘IndieDB 2017 competition’ yet, click here and head over there and click the ‘Vote now’ button on our game. Thanks for reading, and until the next entry…. View the full article
  13. RoKabium Games

    IndieDB 2017 Compatition

    We’ve entered into the IndieDB 2017 Competition with SAMA! Please click the link below and go over to IndieDB and vote for our game, it would mean so much to us. http://www.indiedb.com/games/something-ate-my-alien Thanks for all your support. Rob & Kat. View the full article
  14. A 2D digging, adventure puzzle game with some retro feel reminding us of the amazing first digger games such as BoulderDash that we knew when we were younger. That is the type of game me and my partner wanted to create as our very first joint project for our studio “RoKabium Games”. Both being avid gamers we hadn’t seen many games in that genre that focused more on the actual digging being the main element rather than being an action plat former or survival and crafting sandbox with the occasional digging part. So last year we started working and planning for our game “Something Ate My Alien”. We knew early on that for a 2-person team to pull of creating a whole video game we had to have a planning structure for a game that wasn’t too large or complicated. So early ideas of making a full blown 3D, interactive, huge sandbox with multiplayer alternatives was just not gonna be a good starting point. We scaled down the idea of a huge concept and decided to rely more on our existing skill set in the game industry. We decided to focus on a more manageable core of that we ourselves would like to play and what we believed other people would also enjoy to play. A finite game story of about 6-10 hours game play from start to finish, something fun and charming with just the right amount of action/digging/puzzles ratio. We also knew that our game would show quality and engaging graphics being hand painted by myself and it would all be done in a style that would ooze retro, hand painted, uniform and a beautiful game with easy to navigate and clear game mechanics and graphics. We wanted it to be a lighthearted but a addictive little gem suitable for a both younger and a more adult audience. Our game would be exactly how we envisioned it since it would be the labor of our own vision, not working for anybody else. As a digital artist with several years experience in working for game studios and painting game assets, backgrounds, icons, characters etc and being part a team of other game developers, I did have some much needed experience in understanding just how much art is needed for a complete game. Even the smallest game contains more art pieces than you might think. For example, for every animation you do in 2D graphics you have to paint a new image and each animation can have anything from a very basic 5 frames up to 30-40 frames. So for each enemy you draw for example you need to also draw that enemy having an idle position, a walking cycle, a running cycle, an attack cycle, a dying cycle, a jumping cycle etc. So for one single enemy in a game you might have to produce up to around 100 images. Add to that, our game would have at least 10 different enemies for each level and we have designed our game to have a total of 4 levels. Each game level or planet as it is represented in SAMA is built up with a set of ground tiles that has seamless tiling for a smooth and more realistic look. For each tile-set I’m designing 6 variants so the illusion of random and unique ground that looks like it is not repeating. Each world has 4 unique tile types to add variation for the digging mechanics and giving the player more varied game play. On top of normal ground tiles we have variants of 20 unique decals and edges created to blend different types of ground together better and adding even more realism. Inside the ground tiles you can as a player find all kinds of loot. So far I’ve designed 25 unique minerals, 9 different type of gemstones, 8 different kind of gases (each with animation cycles), 28 types of artefacts, 12 different types of complete fossilized animals which consists of 62 separate type of bones to find. There are teleporters, oxygen stations, health hearts, energy boosts, lamps to light up the dark caves, secret doors with puzzle areas to solve to get rare loot or upgrades. There are icons for every item and enemy you can find. All of these visual elements are hand painted by myself and still this is just the bare base of each planet level. When designing the UI for the game we both wanted it very neat and tidy look, using our main colour scheme of blue-green-warm yellow that I first came up with during the conceptual art at the beginning of the project. I also wanted some elements to have somewhat of a computer screen/electronic look with glowing outlines to emphasize that you as the player are the actual AI of the ship and the UI you see is the computer interior. While continuing painting and designing the artwork for SAMA we are getting closer to a first Alpha of the game and we are hoping that with the help of feedback from gamers around us and people interested in our game we can develop a game that is incredibly fun and beautiful to play. See more over at our web site: http://www.somethingatemyalien.com/
  15. The last week we’ve been implementing a new enemy in “Something Ate My Alien” called “Terrator”. He’s much larger than the other enemies, and he’s a worm like creature that we wanted to randomly appear, work its way across the screen and ‘Eat’ our alien if he gets in the way. Kat created the art, and split it up into sprites for each of the ‘worm’ sections, head, body and tail. We didn’t want to create a random path as it was moving, because we wanted more control over him. So we decide to plan out a batch of paths that he should follow and then just pick one at random during spawn. To mix things up a bit, the path should be offset by a random number of pixels, and his start position relative to the path should also change. We also allowed it to be ‘flipped’ randomly to create more variation. We planned out a path with about 15 or so points, and then used a smoothing algorithm called “Chaikin’s Algorithm” to create a smooth path. Chaikin is nice and quick, not 100% accurate though, because of the way it works, the result doesn’t pass through the original points, but its good enough for what we needed it for. It works by ‘cutting corners’ off each point to create a more smoothed curve, and then repeating 3 or 4 times makes it get smoother and smoother. We found 4 times was good enough to make Terrator animate smoothly in the game. I found a C# example which helped, here: C# Smoothing Path Although it was a quick algorithm, the implementation I found actually created quite a bit of C# Garbage, so I looked into re-writing it to remove any Garbage. Now, rather than creating a new array on every smooth pass, you can pre-create an big array, and then it fills in that one array. So now it was generating zero Garbage during game play. Yay!! And as a bonus, with a bit of extra tweaking, I got it to process faster also. For 15 original points and smoothing 4 times, the original routine took about 1.22ms and allocated 3.3kb of Garbage. My new one took 1.05ms and allocated none. Here is a video clip of it in game: Here is the barebones C# code I wrote for Unity, to generate the smooth curve if anyone else might find it useful: // Setup smooth info int smoothness = 4; int NumMainPoints = 15; Vector2[] smoothPoints = new Vector2[(NumMainPoints - 2) * (int)Mathf.Pow(2,smoothness) + 2]; Vector2 startpoint = new Vector2(25,50); Vector2 centerPoint = new Vector2(50,50); smoothPoints[0] = startpoint; smoothPoints[1] = startpoint + new Vector2(8,0); smoothPoints[2] = startpoint + new Vector2((8 + 2),0); smoothPoints[3] = centerPoint + new Vector2(-6.0f, 0.5f); smoothPoints[4] = centerPoint + new Vector2(-2.0f, -1.5f); smoothPoints[5] = centerPoint + new Vector2(1.5f, 0.5f); smoothPoints[6] = centerPoint + new Vector2(5.0f, -2.5f); smoothPoints[7] = centerPoint + new Vector2(2.5f, -5.5f); smoothPoints[8] = centerPoint + new Vector2(-3.0f, -3.0f); smoothPoints[9] = centerPoint + new Vector2(-4.5f, -0.5f); smoothPoints[10] = centerPoint + new Vector2(-2.5f, 2.0f); smoothPoints[11] = centerPoint + new Vector2(1.5f, 2.5f); smoothPoints[12] = centerPoint + new Vector2(5.0f, 2.0f); smoothPoints[13] = centerPoint + new Vector2(9.0f, 2.5f); smoothPoints[14] = centerPoint + new Vector2(150, -0.5f); ChaikinFast(ref smoothPoints, smoothness, NumMainPoints); private void ChaikinFast(ref Vector2[] smoothPoints, int smoothness, int NumMainPoints) { Vector2 lastVector = smoothPoints[NumMainPoints - 1]; // Save last point int p = NumMainPoints - 2; int factor = 2; int lastPoint; Vector2 offsetRight, offsetLeft; // Loop through mulitple times to smooth for (int s=1; s<=smoothness; s++) { lastPoint = (NumMainPoints - 2) * factor; offsetRight = (smoothPoints[p+1] - smoothPoints[p]) * 0.25f; // For each point, replace with 2, // with each one being 25% more towards the left and right points for (int n=lastPoint; n>1; n-=2) { offsetLeft = (smoothPoints[p] - smoothPoints[p-1]) * 0.25f; smoothPoints[n] = smoothPoints[p] + offsetRight; smoothPoints[n-1] = smoothPoints[p] - offsetLeft; offsetRight = offsetLeft; p--; } // Prepare for next loop p = lastPoint; smoothPoints[p+1] = lastVector; // Copy the end point to the end factor *= 2; } } View the full article
  16. RoKabium Games

    Bitiax solar system

    As the AI of the mining ship Antalasia you are stuck in the Bitiax solar system while a pirate ship has taken control of your ship. To find all the items they demand you have to send down your diligent aliens to search the planets in this system for these items. Lets have a closer look at what the scanner says about the different planets that you can visit. Tartarus Underground conditions: Porous rock, lava flows, high temperature Bedrock: 60% solid, 28% liquid, 12% gas Civilization: Oris – advanced life form, emigrated into space Items of significance: Rosium (gas), Wunderbat (gem), Hellium (mineral) Advisory outfit: High performance, thermal suit and standard laser Metis Underground conditions: Metal rich ores, clay and alkaline water Bedrock: 90% solid, 9% liquid, 1% gas Civilization: Parpiuns – early development life forms, extinct Items of significance: Fossils, Misty (gem), Inkium (mineral) Advisory outfit: Standard suit and standard laser Lelantos Underground conditions: Hard rock, gas pockets, corrosive liquids Bedrock: 54% solid, 2% liquid, 44% gas Civilization: Mitania – colonization of life forms, abandoned Items of significance: Rare artifacts, Eggium (gas), Lightium (gas), Whyium (mineral) Advisory outfit: High pressure performance suit and advanced laser Aura Underground conditions: Hard rock, permafrost, super-cool liquids Bedrock: 94% solid, 6% liquid, 0% gas Civilization: Junits – advanced life forms, extinct Items of significance: Rare fossils, Pale (gem), Lemoni (gem), Firmium (mineral) Advisory outfit: High performance, thermal suit and advanced laser View the full article
  17. RoKabium Games

    Back Story

    You are the AI of a very skilled mining ship called Antalasia currently cruising the remote solar system Bitiax looking for mining opportunities. Trading is the cornerstone of the galaxy and some rare items can fetch large sums on the open market. On board you have a cargo hold full of sluglike Aliens which are quite small, drooly and clumsy but also very efficient creatures that are excellent at burrowing through mines seeking out valuables. For every AI mining ship in this quadrant of the galaxy these charming Aliens are a vital part of the crew. While peacefully scanning for elements on the nearest planet Metis, Antalasias systems are suddenly taken offline and the ship turns dark for a second before being booted up again with all computer screens flashing “Intrusion detected”. A big, dark looting ship suddenly appears out of nowhere and a demand of takeover is distributed across all screens on Antalasia. It is an AI pirate ship that has infiltrated your computer system and it is now controlling your ship! The pirate displays a list of valuable loot that has to be collected and turned over to the hostile ship for it to release Antalasia. The pirate gives you limited control back over your cargo hold, scanners and teleportation terminal so that you can get the items it demands. You have no choice but to send down your diligent Aliens to the various planets in the system to search out the minerals, gems, gases, fossils and artefacts the pirate wants so that you can get your ship back. Your Alien will face all kinds of hardships down there having to endure extreme and hazardous environments, hostile fauna and flora, hidden traps and areas only accessible by figuring out the ancient civilizations puzzles left behind in the tunnels. Will you succeed? View the full article
  18. RoKabium Games

    Meet The Enemies

    This is a description and list of the current enemies in "Something Ate My Alien" We plan on adding more and this is just a start to get us going. Strank One of the least aggressive enemies, it scurries around and has a weak bite. It as no ranged attack, and is easy to kill. Damage only comes from direct contact. Oyse A plant based enemy, which spawns on top of rocks. If it is left unattended, it will spawn more buds around itself. Can’t move, but if the rock below it is removed, it will fall to the next rock. Damidon With similarities to a ‘land-based’ octopus, Damidon is extremely fast and agile. It can jump much higher than most enemies. Its attack is to cover you in acid jelly that it throws out at you. Ribbet A bat like creature that flies around the caves. Quite small, but has a nasty bite. Hatter Sticks to the underside of rocks and does not move. Its tentacles are poisonous, but it also drops poisonous liquid on you if you get underneath it. If the rock above it is destroyed, it will kill it. Arrog A little creature with a hard shell. Extremely difficult to kill, unless you manage to get it from the underside. It fires out spikes from its shell if you get too close. Ovaline A putrid plant based lifeform that sits on top of rocks. It can’t move unless the rock below it is removed, and then it falls down. If you get close to it, it will release a cloud of stench so corrosive it will eat through your suit. Growly One of the smallest enemies, but flies very fast. Hard to spot in the dark caves so keep a lookout. It has a weak bite, but it can hurt over time. Easy to kill, if you can manage to hit it. Eff One of the biggest creatures around. Slow to move unless you get close to it and it breaks out into a charge. If it manages to catch you, you’ll surely have some bruises. Very hard skin, so it is difficult to kill. Riverine A small worm like creature that crawls along the rock surface. Watch out for its bite as it’s venomous. Easy to kill and quite slow movement. Draker Another large enemy. Runs around the caves and will catch you easily if you don’t watch out. It extends its snout if you get close to him, and you would be wise to keep away. Quite a sturdy specimen, and needs a lot of pummeling to defeat. Creeble One of the few enemies that keeps to the rocks, rather than the edges. They scurry around and if they get close to you they will weave a deadly web that will stick to every part of you. Best way to deal with these guys is to destroy the rock they are on. Terrator The biggest enemy you’ll have to fight. It lives deep in the rocks and you rarely see it, but he’s always there. If you stay stationary for too long, it will burrow out of the rock and eat you up in one gulp. View the full article
  19. RoKabium Games

    First Dev Post

    Thought I would post some info about the dev side of our game. Its written in Unity3D and C#. This is our first real project with Unity and C#, although I’ve been playing with Unity for 3 or so years on and off, but this is the first time I’ve really gone for it, so I had lots of learn, and still do. We decided to split the game into 2 projects, the ‘Editor’ and the ‘Game’. The Editor The first one is an ‘dev-editor’ for us to design the game in. This is where Kat builds the levels, and tests out graphics etc. This project doesn’t need to be fancy and performant, but it gives the greatest flexibility for designing our levels. The game is made up of tiled levels, currently at 150×80 tiles. In the editor project, each tile is a GameObject, but this obviously quickly becomes a problem with performance for a game as its just too much to process. But it makes it easy to design with at this stage. I’ve written editor tools that place tiles and help us build the levels. Once we have a level how we like in the editor, we then ‘build’ the tiles into a dataset, which is currently just written to a SQLite DB, but I will be removing SQLite at some point and just create my own dataset file so that we don’t need the added problems that could occur with SQLite. As well as building the dataset, it processes all the tiles and sprites into Atlases. In the game I create Meshes that hold 8×8 tiles, so that we get good performance and less Draw Calls. As Meshes come and go out of visibility they are put to sleep and culled by the cameras, so this helps greatly. It also creates atlases for all the other sprites, like Enemy animations, Items, and other animations. It does some rudimentary checks on the data, to make sure we haven’t created problems in the world, like placing blocks in strange positions or on top of each other. The Game Everything is prefabs and only a small amount is designed within this project. It reads the dataset created by the editor and Instantiates all the meshes and tiles at run time. As the player progresses through the levels, mined tiles, positions etc are all just stored back in the dataset when they ‘save’, so that it can be loaded back up again. After doing extensive testing for performance, I found this the best way to go about trying to create such a large play area and giving the player the ability to mine anywhere. I keep track of ‘mined’ blocks etc in a 3D array for each tile, based on the X,Y position. One thing I had to also overcome was colliders. After testing, it looked like a major problem with performance was going to be colliders, because I just needed so many, since they could ‘mine’ a block from anywhere. I looked into EdgeColliders and decided the best for performance was to create colliders ‘on the fly’. So the player and other important entities like ‘Enemies’ are continuously checking a 1 block square around them using the tile array, and create their own EdgeColliders within the 1 block square. I found this was more performant, than creating colliders all over the place for each block, or one big collider that would then need splitting and re-creating every time a block was mined. Probably one of my biggest problems to start with and using Unity and C# was garbage. Having written many business back end systems on huge Linux machines with 4GLs, I had never had to worry about this as it wasn’t a ‘thing’. After seeing so much written about it, I started off with trying to create ‘zero’ garbage, and that probably took a toll on my coding times, as it was hard for me to see what was creating garbage, even with the profiler. And then it was another thing to try to understand if that was actually going to cause problems or not. I suppose now, its good, because I’m mostly garbage free with the exception of a few things like colliders and such, that I really cant do anything about because of Unity design. But hopefully the Unity devs will get around to giving us more control soon. When coding and debugging, I normally test with VSYNC off so I can use the FPS that I display on screen all the time as an easy notification if I have some problems with performance. Currently I’m on about 500-600 fps, and that’s on a fairly old PC (8 year old CoreI7 920 @ 2.67GHz) and running at 2K (2560×1440) resolution. It used to be up at 700 or so, but I’ve since added alot. I know of a few things I could tweak more, that could save me performance if/when I start getting too low, but currently it does not warrent the time as I have no foreseeable problems. I do a lot of pooling of GameObjects, so that I don’t have to create and destroy objects, and that has helped a lot with performance. Everything I need gets created on load, and then reused if/when they become redundant. I’ve not really used any 3rd party assets, in fact the only one currently is the water that I use. But, I’m going to write my own version of that at some point to make it better and more performant. I had a bad performance problem with it to start with, but I hacked it about a bit to get more out of it, and now it behaves quite well. I generally don’t like 3rd party products, as I normally have more problems with 3rd party code than if I just code it myself. One area I thought I was going to have problems with was lighting. Initially Unity projects have lights limited to 4 per object, which just was not working for me. I was worried about increasing this, but with all the tiles grouped up into joint meshes, my draw calls were low enough that it didn’t seem to cause any problems with upping the number to 20. Of course, it has an effect, but it was one I could get away with, at least FPS wise. Since our 2D animations are fairly basic, and I wanted full control of it, I wrote my own class to do our animations. Just a simple flip through the atlases that are created from the editor project. Animations are probably the area I might look into for any performance gains, as they are up on the top of the list in the profiler, but I’m not sure there is much I can do, as all they are doing at the moment is just flipping UVs. We’re currently on version 5.6.1f1 of Unity, and I will be upgrading to the new 2017.1 soon, as I think there are some improvements to the 2D system that I could make use of. Over the last year I’ve been trying to keep up with regular updates, so that I don’t get into a situation where I need to take a long time out to upgrade. I’ve had little to no problems upgrading so far, so I don’t think it will be much, if any work. We will initially be releasing on Windows PC. We have quickly looked into Mac & Linux releases since Unity supports this easily. However, we don’t want to promise Mac & Linux to be released initially just in case there are any problems which could delay us. But we currently don’t foresee any problems here. We’ve been working on this now since Nov 2016, and back then we thought we would be finished by now, but as usual, IT projects just keep going. I think we need another 6 months now, until we will be finished, but we have just release a Dev Trailer video of the game, and a commentary, and you can find them here. Next week after spending time doing all this video editing and vlogging, I will be spending time on implementing the bigger enemy that you see at the end of the Dev Trailer, as currently its not really in the game. Then its on to more work on the UI and interacting with the pirate. If you have any questions, ideas or thoughts, then please contact us here as we would love to hear from you. View the full article
  20. RoKabium Games

    Game Art 1

    View the full article
  21. RoKabium Games

    Dev Blog #04 – Extending the Worlds

    It’s been a while since the last update, so lots to get through. We’re still progressing, probably slower than we had hoped, but never the less, its still going forwards. Kat’s been busy working on tons of graphics, icons, lighting, and we now have all the 4 worlds pretty much done with backgrounds and world layouts. She is currently working on placing items in the 2 remaining worlds, working on more puzzle ideas and polishing of the graphics. I’ve been working on performance a fair bit, making sure we stay in a good position. Just finished up with reducing memory usage, as I found that unloading scenes wasn’t quite releasing all resources and therefore if you went between 2 worlds it was using 1GB or so extra memory. This was ok on my rig, as I had 4GB VRAM, but Kat’s PC started to chug a bit when she went between worlds because she only had 2GB of VRAM. This was because I had some textures and materials being cached in variables, and the scene unload wasn’t catching that they were now unused, so I had to set them all to dummy textures/nulls and then call Resource.UnloadUnusedAssets() to clear them. I made heavy use of the memory profiler, which also lead me to some more memory improvements to further reduce memory usage. On my PC now we have a steady 200+ FPS (GeForce GTX 970, Core i7 920, 14GB Ram, 2560×1600), and 100+ on Kat’s (GeForce GTX 580 , Core i5 750, 12GB Ram, 2560×1600) We’ve shown the game off to a few people locally now, some friends came around for a games evening. Even shown it to some of our nieces and nephews and they all loved it, and we got some good feedback and ideas to make things better. Upgraded several times to new versions of Unity in the past few months. Not been great sailing with that, seemed to hit a new bug with whichever one I went with. Been able to navigate around some, but currently waiting for them to fix Resource.LoadAsyc() so that it works with uncompressed Textures/PNGs correctly. Currently on 2017.3.f3, and will probably wait for 2018.1 before I try again. Spent quite a large amount of time making the loading of worlds (ie scenes) be async, so that we could play an animation/particle effect during load. This was quite a challenge, as I was doing lots on load so that it didn’t effect the actual game, thinking the load would be the best place. Unfortunately, that caused stutters etc with the load animations, once we put them in. After lots of profiling and understanding how the load works, we’ve got it to basically never stutter now. Mainly removing all Awakes() as they were just setting cache vars for GameObjects etc, and actually linking them into public inspector vars. Also turning most of our Init() methods into IEnumerators so that we could yield every so often, and using Resource.LoadAsyc() for loading. Will have to revisit it nearer the end, but its working well now. Spent some time putting in lots of particle effects to brighten up the game. We used the Ultimate VFX package from the Unity Store as a basis, and then played around with them. Got most of it done, but I have to go through and find all the graphics and sprite sheets we’ve used and pack them into our own sprite sheets and resize them to fit our game, so that performance is good. The same with the sprites used in the UI. Dotted throughout the worlds, there are puzzles that need to be completed to gain items, and we had done the world 1 puzzles, which were just basic push/pull of blocks and positioning them. These puzzles are intended to get harder as you progress through the 4 worlds, so I worked on the 2nd set of puzzles making 2 new elements for them to make them more interesting. ‘Mag’ blocks are placed around the area where you have to do the puzzles, and these either attract or repel the blocks you need to move. You need to work out which ones can help you or hinder you to complete the puzzles. Implemented a stats screen in-game, so that you can keep track of all the items, puzzles and other elements in the game. Then you can track your progress and see how much you’ve done… and what is left to do. Lots of bug fixing. We’ve played though the first level many times now trying to keep the number of bugs low so that we hopefully don’t have a big job at the end to fix lots of things. At the moment we are ‘bug free’ and everything we’ve found so far has been fixed, so that’s a nice place to be in 🙂 Major things left now are: 3rd and 4th world puzzles In-Game Tutorial Customization items for the alien Boss levels Achievements Sounds So, we will be powering on with things and will keep you updated either here or on our social media pages at FaceBook or Twitter. So if you’re not already following us there, head on over and give us a ‘like’ or ‘follow’. Till next time… watch out for ‘Somethings’ that may eat your aliens… Rob & Kat
  22. RoKabium Games

    Something Ate My Alien - Rampage

    Been busy working on our particle effects and weapons. Check out our new colourful artillery, as our Alien goes on an epic rampage among the enemies on Tartarus. What do you think? [media] [/media]
  23. Ed Welch

    MercTactics Demo 0.6 released!

    Today we are releasing the 3rd game demo. You can download the Windows installer here: http://www.astronautz.com/MercTactics/MercTacticsSetup0.6.exe MercTactics is a squad-based tactical strategy, similar to games such as Jagged Alliance, or XCOM. The main reason for releasing this demo is to get feedback from players. Specifically, I would like to know how you found the game play and if it was too hard, or too easy and any ideas to improve the game. The game comes with built-in help. As you play the first scene, pop-up windows will explain how everything works. Also there is a feedback form, which you can use to send feedback to our servers. To start the game just select "New Campaign" from the main menu. There's also a "Quick battle" feature, that you can select to just play one battle. This is a beta, although are a lot of minor bugs, it should run fine on any machine. You will notice some minor graphic and UI flaws and some features that are quite not finished yet, but don't worry about those. I hope you like the game and have fun playing. Ed
  24. Danman25

    Jacksville

    This is a project started by a small team. Just wondering what feedback I can get on this. https://gamejolt.com/games/DnLgames/374985 Thanks Daniel
  25. PocketRoguesLead

    Pocket Rogues

    Pocket Rogues brings old school Action-RPG flavor to the Roguelike genre. Here you must fight your way through hordes of monsters, explore unique and randomly generated locations, upgrade your guild fortress, and develop heroes of ever-increasing might if you hope to discover the lost secrets of a mysterious dungeon. Pocket Rogues contains many different dungeons, each with its own unique loot and monsters. A wide variety of classes and dozens of specializations allow you to take alternative approaches to the game’s numerous boss battles, and each will test your skill in a new way. Add in Pocket Rogue’s traditional RPG components, such as character progression and exploration, and you will never feel bored! “For many centuries, a dark dungeon has called to hapless travelers, whispering secrets and promising priceless treasure. None who enter have ever returned, and rumor says that each met an unspeakable fate at the hands of a true Evil. These gloomy legends, of course, only entice new adventurers to try their luck in the depths, eager for glory, fame, and riches beyond imagination. What are you waiting for? It’s time to become one of them!” FEATURES: The game is played entirely in real time! Move, dodge, avoid obstacles, outmaneuver and outflank! Enjoy an elaborate combat system focused on character control and player skill. Try your luck as one of many hero classes , each with unique skills, specific equipment, and their own progression tree. Every descent is special! From locations and monsters to loot and chance encounters, everything is generated during the game. You will never see two identical dungeons! The game includes unique locations , each with its own visual style, distinctive enemies, traps, and interactive objects. Once discovered, you can move freely between them all. Construct and improve buildings in the territory of your very own Guild Fortress. Unlock new hero classes, strengthen existing ones, and gain access to an arsenal of fierce techniques. Regular updates! The game has been supported and actively developed for a long period of time. The game’s creator works in close contact with the community and dedicated players to ensure a high-quality experience for everyone. Page in Steam: Our steam page
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!