Jump to content
  • Advertisement

Search the Community

Showing results for tags 'C#'.



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

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

  1. Turbo14

    CPU Raytracer

    I wanted to show my WIP CPU raytracer. I probably won't implement too many more features. I just want something that looks decent with a little GI and AO and a few dynamic lights and textures. The video is rendered at 160x90 and captured at 320x180. It runs around 20fps on one thread on an i3-6320. Not sure if that is slow or fast for what I have. I plan on making an attempt to add multi-threading. I can't use SIMD since this was made in Unity. At least I don't think there is support for it. I'm making it in Unity so making games is easier since I won't have to make a whole engine. https://www.youtube.com/watch?v=iL8z04nZ0J8 EDIT: I'm gonna post all future updates here. New video with improved frame-rate and overall better looking than the original. https://youtu.be/tXWXOWXnU50 Sorry about the image quality... YouTube took a dump on it. I had to forget the idea of using SIMD since using .Net 4.6 breaks the raycasting against complex mesh colliders. Still need to work on the aliasing. Color absorb values seem off. I think ambient occlusion is show better here, but dark box edges are back. I just gotta send transform values to my filter to brighten them. https://imgur.com/rajEQky Better AO example: https://imgur.com/gNPIjNM Unfortunately, I think the only way I'm gonna get this to run at higher resolutions with playable frame rates is by moving it to the GPU since I can't thread my trace code using Unity. EDIT: 4/13/2018 - I'm wondering if I can use Embree to make a library that I can call from within Unity. Should be faster than Unity's ray-cast. Anyway here's a new vid with some bouncing balls. I only do GI/AO every other pixel now so they have a little reduced effect... also increased contrast. I'm now blurring the whole render which makes it a little fuzzy. if I don't, there's flickering around object edges when moving around. Video is at 160x88. https://youtu.be/_OC3_BwELzk 4/15/2018 - Using a small amount of help from the GPU I was able to make it higher resolution, but from the crap youtube compression it still looks low rez so here are some screens too..This was rendered at 1080p and captured at half that. Trying to figure out a solution for shadows fading out at distances larger than a few meters. High Res AO Example-https://imgur.com/2nKISzW High Res GI Example-https://imgur.com/1oe4BFd
  2. Let me preface this by saying that I am not familiar with 3d modeling at all. In fact I know almost nothing about it. This is perhaps why I've decided to write my own 3D model format and my own 3D modeling software from scratch (I didn't want to deal with existing formats, which seemed quite complex for what I wanted to do) . Now my 3D modeling software is quite adequate for small things, but it's really slow to use and unfit for organic shapes. My 3D model format is very simple; -25,4.48,-25:251,252,250 -24,4.58,-25:250,253,250 -25,4.62,-24:250,252,251 -24,4.58,-25:250,253,250 -24,4.62,-24:250,253,251 -25,4.62,-24:250,252,251 -25,4.62,-24:250,252,251 -24,4.62,-24:250,253,251 ... It's broken in 2 part, the first 3 numbers (separated by ',') are floating point values representing the location of a vertex and the last 3 numbers represents the RGB value of the color of that vertex. Triangles are simply drawn by taking the first 3 vertex, then the next 3, etc till the whole list is drawn. Of course once loaded this data takes the form of a model class, which is a list of instances of a small vertex class. As you can imagine, this is probably the simplest way to store a model that contains "textures" (which I use loosely), but is good enough for my game. I've looked at several model format but mine seems quite unique at what it does. Is there anything like it out there? I would like to write a small converter to take models made with more competent 3D software and use them in my engine. Another option would be to write a plugin for an existing 3D modeling software, but I am unsure on how I would go about that since I have almost no experience with them. Could anyone point me in the right direction? At first it seemed like a reasonably simple thing to do but the more I investigate the question the more I think I'll just have to spend a few days fleshing out my own 3D modeling software.
  3. Electroner

    C# Career advice

    Hi, Im studying Videogame Design and Development (we use Unity) and my goal is to become a videogame programmer. Those are a very generalist studies so we doesnt deepen so much on advanced programming. I have previous (non engineer) programming certification, so I can build easily almost any prototype I design. But after a couple of years working with Unity I almost left completly aside things like OOP, MVC... So my first doubt is if I am in the wrong way. I know that I would be able to learn anything forgotten or new when I arrived at a new job. But will I even have this opportunity if there is nothing like that on my portfolio? (Because I think I have to show the code) If answer is that I need to deepen on those programming techniques, could you suggest any book or whatever that explains the need of those approaches on Unity and teach about them? On the other hand, do you think I can build my portfolio with prototypes? Just placeholders cubes and capsules... Because I really feel like Im loosing my time modelling or rigging for a programming portfolio. I mean, I cant reach the modelling level of a full-time modeller, so on my old trys, I think my demos even look worse (bad rig and things like that) than with just placeholders. Maybe employers doesnt even look at demos and only want finished and published games? Thats all, sorry about my bad english ^ Thanks.
  4. Hey everyone, ive used tools like Intel GPA in the past and I would like to continue doing that. But in my current work environment I cant find a tool that can analyze rendering without a swapchain and calling Present(). In addition to that, the program Im working on uses WPF for UI, which uses a D3D9Ex Device and some tools attach to that device instead. So, are there any tools that allow debugging D3D11 without depending on a swapchain? Thanks for any help!
  5. We're looking for a Unity (C#) Programmer for our 2D Project. We're looking for a new lead programmer to continue with an existing project. Project is an open-world RTS, and is very close to a prototyping (playable) phase. Our existing lead, unfortunately, has no more time for the project, and thus we are in search of a new one who is interested. Game is purely fantasy based, and we'll be able to give you much more detailed info about the project as we begin to work you into it. You'll be working with our junior dev, who has been here since the beginning. Primary skills needed are working within Unity. And skills with XML within Unity. Our list of major goals we'd need you to do is minimal, yet still fairly extensive: -Implement an already created pathfinding system (from the Unity Asset Store) to replace our existing pathfinding system. -Work with an existing random-node-web generator to act as our 'global map', interworking our random map generator to use the node creator as its respective 'world map' (this one is the most extensive, and we'll need to discuss it quite thoroughly before having you start with it- our junior dev is the one who created the node system, so he'll be able to assist you with the integration phase). -Work with an existing random-spawner to spawn desired objects across our map (desired objects change based on what map within the world this map is, so we'll need to discuss it more, but its not as extensive as interworking the random node generator). -Integrating our dual-map system that runs a static map (acting as player's home base, static, never changing) alongside the exploring map (which is dynamic, and changes quite often). This is relatively implemented already, but we'll need to mess with it further still. -Work with an existing XML database to implement it into the project. There's no integration yet, so it'll need to be from the ground up. But we have the database setup and ready to work with. -Content-implementation (after all else is done, this is to take care of anything that needs to be 'hard-coded', ie unique spell effects, etc- nothing too crazy) -Various performance enhancements (like setting up a simple easy-on-performance enabler/disabler to hide objects to save on performance... and other things we'll need to discuss- again, nothing too crazy). -Implementing a simple menu system, alongside an adequate saving system (saving system will be similar to Skyrim). But we'll also need to ensure saving a considerable amount of extra things- from Map Exploration, to World Exploration, to hotbar setups, to all the misc data like units, location, resources, and so forth. Let me know your rates per hour, and we'll see if we can work out a good deal between both of us. Royalties are implied. If you feel you'd be able to accomplish all of the above, then we'd definitely like to work with you. Obviously- we won't know how to implement everything until we get to the physical code. But just making sure you know of this ahead of time so you know exactly what you'd be getting into is much more beneficial for both of us. If interested, send an email to: eldwin11929@yahoo.com Thanks!
  6. COMPANY AND THE PROJECT We are an indie game studio consisted of professional and skilled artists who are dedicated indie enthusiasts. Our current project is INT, developed on Unity Engine 5 for platforms Windows, Linux, and Mac. We are recruiting a few more members on the team to finalize our playable demo. INT is a 3D Sci-fi RPG with a strong emphasis on story, role playing, and innovative RPG features such as randomized companions. The focus is on the journey through a war-torn world with fast-paced combat against hordes of enemies. The player must accomplish quests like a traditional RPG, complete objectives, and meet lively crew members who will aid in the player's survival. Throughout the game you can side and complete missions through criminal cartels, and the two major combatants, the UCE and ACP, of the Interstellar Civil War. Please note that all of our current positions are remote work. You will not be required to travel. For more information about us, follow the links listed below. INT Official website Steam Greenlight IndieDB page Also follow social media platforms for the latest news regarding our projects. Facebook Twitter UNITY ENGINE PROGRAMMER We are looking for Unity Programmers. You will be working with our Coding team Lead to implement systems and mechanics using C# language. Your duties will include: Attendance of regular team meetings. Timely completion of implementation of assets. Direct contact with Project Lead and other Department Leads for the implementation process. Utilization of version control suites. Utilization of our project management boards (Trello) and communication channels to obtain up-to-date assets. REQUIREMENTS To be successful in this position, following requirements apply: Clear communication and self starter - pushes to meet deadlines and contribute to the project. Ability to complete tasks with limited input/direction from management. Comfortable with working with people remotely and via Trello management system. Good internet connection with ability to update assets/builds quickly, with large dependencies. At least 15 hours of availability each week. Proficient experience using the Unity Game Engine. Proficient experience in implementing assets into the Unity Game Engine. REVENUE - SHARE This is a great opportunity to get into the game development industry. We have the majority of our art assets completed and are marching towards our crowd-funding campaign, currently planned for mid 2018. We are unable to offer wages or per-item payments at this time. However revenue-sharing from crowd-funding is offered to team members who contribute 15-20 hours per week to company projects, as well as maintain constant communication and adhere to deadlines. Your understanding is dearly appreciated. TO APPLY Please send your Cover Letter, CV, Portfolio (if applicable), and other relevant documents/information to this email: JohnHR@int-game.net Thank you for your time! Please feel free to contact me via the email provided should you have any questions. We look forward to hearing from you! John Shen HR Lead Starboard Games LLC
  7. I've got a brick breaker game that procedurally generates bricks in random locations. I have it narrowed down to the columns and rows that I want them to spawn in. However, I don't want a bunch of disjointed bricks everywhere. I want them to all be connected. I don't care too much about the general layout, as long as they are all touching when they spawn. How can I do this? Is there a way that I can make sure as each one spawns, it spawns touching one of the previously spawned ones? I have attached the code for the board manager for anyone who wants to see what I'm working with. Thanks! private int columns = 20; //Number of columns in our game board. private int rows = 30; //Number of rows in our game board. public int brickCount; //Number of bricks to spawn. //Define brick types to assign sprites to in editor public GameObject oneHitBrick; public GameObject twoHitBrick; public GameObject threeHitBrick; public GameObject explodingBarrel; //temporarily represented by the unbreakable brick private Transform boardHolder; //A variable to store a reference to the transform of our Board object. private List <Vector3> gridPositions = new List <Vector3> (); //A list of possible locations to place tiles. //Clears our list gridPositions and prepares it to generate a new board. void InitialiseList () { //Clear our list gridPositions. gridPositions.Clear (); //Loop through x axis (columns). for(int x = 1; x < columns-1; x++) { //Within each column, loop through y axis (rows). for(int y = 22; y < rows-1; y++) { //At each index add a new Vector3 to our list with the x and y coordinates of that position. gridPositions.Add (new Vector3(x, y, 0f)); } } } //RandomPosition returns a random position from our list gridPositions. Vector3 RandomPosition () { //Declare an integer randomIndex, set it's value to a random number between 0 and the count of items in our List gridPositions. int randomIndex = Random.Range (1, gridPositions.Count); //Declare a variable of type Vector3 called randomPosition, set it's value to the entry at randomIndex from our List gridPositions. Vector3 randomPosition = gridPositions [randomIndex]; //Remove the entry at randomIndex from the list so that it can't be re-used. gridPositions.RemoveAt (randomIndex); //Return the randomly selected Vector3 position. return randomPosition; } //LayoutObjectAtRandom accepts an array of game objects to choose from along with a minimum and maximum range for the number of objects to create. void LayoutObjectAtRandom (GameObject brick, int brickCount) { //Instantiate objects until the randomly chosen limit objectCount is reached for(int i = 0; i < brickCount; i++) { //Choose a position for randomPosition by getting a random position from our list of available Vector3s stored in gridPosition Vector3 randomPosition = RandomPosition(); //Instantiate tileChoice at the position returned by RandomPosition with no change in rotation Instantiate(brick, randomPosition, Quaternion.identity); } } //SetupScene initializes our level and calls the previous functions to lay out the game board public void SetupScene (int level) { //Creates the outer walls and floor. //BoardSetup (); //Reset our list of gridpositions. InitialiseList (); brickCount = (int)Mathf.Log(level, 2f); //set the number of bricks based on the current level //Instantiate a random number of wall tiles based on minimum and maximum, at randomized positions. LayoutObjectAtRandom (oneHitBrick, brickCount); //Instantiate a random number of food tiles based on minimum and maximum, at randomized positions. LayoutObjectAtRandom (twoHitBrick, brickCount); LayoutObjectAtRandom (threeHitBrick, brickCount); }
  8. public int columns = 20; //Number of columns in our game board. public int rows = 30; //Number of rows in our game board. public int brickCount; //Number of bricks to spawn. //Define brick types to assign sprites to in editor public GameObject oneHitBrick; public GameObject twoHitBrick; public GameObject threeHitBrick; public GameObject explodingBarrel; //temporarily represented by the unbreakable brick private Transform boardHolder; //A variable to store a reference to the transform of our Board object. private List <Vector3> gridPositions = new List <Vector3> (); //A list of possible locations to place tiles. //Clears our list gridPositions and prepares it to generate a new board. void InitialiseList () { //Clear our list gridPositions. gridPositions.Clear (); //Loop through x axis (columns). for(int x = 1; x < columns-1; x++) { //Within each column, loop through y axis (rows). for(int y = 22; y < rows-1; y++) { //At each index add a new Vector3 to our list with the x and y coordinates of that position. gridPositions.Add (new Vector3(x, y, 0f)); } } } //RandomPosition returns a random position from our list gridPositions. Vector3 RandomPosition () { //Declare an integer randomIndex, set it's value to a random number between 0 and the count of items in our List gridPositions. int randomIndex = Random.Range (0, gridPositions.Count); //Declare a variable of type Vector3 called randomPosition, set it's value to the entry at randomIndex from our List gridPositions. Vector3 randomPosition = gridPositions[randomIndex]; //Remove the entry at randomIndex from the list so that it can't be re-used. gridPositions.RemoveAt (randomIndex); //Return the randomly selected Vector3 position. return randomPosition; } //LayoutObjectAtRandom accepts an array of game objects to choose from along with a minimum and maximum range for the number of objects to create. void LayoutObjectAtRandom (GameObject brick, int brickCount) { //Instantiate objects until the randomly chosen limit objectCount is reached for(int i = 0; i < brickCount; i++) { //Choose a position for randomPosition by getting a random position from our list of available Vector3s stored in gridPosition Vector3 randomPosition = RandomPosition(); //Instantiate tileChoice at the position returned by RandomPosition with no change in rotation Instantiate(brick, randomPosition, Quaternion.identity); } } //SetupScene initializes our level and calls the previous functions to lay out the game board public void SetupScene (int level) { //Creates the outer walls and floor. //BoardSetup (); //Reset our list of gridpositions. InitialiseList (); brickCount = (int)Mathf.Log(level, 2f); //set the number of bricks based on the current level //Instantiate a random number of wall tiles based on minimum and maximum, at randomized positions. LayoutObjectAtRandom (oneHitBrick, brickCount); //Instantiate a random number of food tiles based on minimum and maximum, at randomized positions. LayoutObjectAtRandom (twoHitBrick, brickCount); LayoutObjectAtRandom (threeHitBrick, brickCount); } I am trying to create a variant of Arkanoid and Space Invaders. I want the bricks to spawn procedurally off screen in a random arrangement according to set requirements. Then they would start moving down screen line by line. I could ask a hundred questions about how to do this, but for now I just have one. How do I start them spawning off screen? Currently, my screen is 20W X 15H. My current algorithm to set up the grid positions is your typical nested for loops, iterating through x and y for columns and rows. I'm wondering if the best way to do this is to expand my rows to maybe 30, while keeping the columns the same so as to constrain them over top of the screen, but allowing them only to spawn between grid positions in the rows off screen. Then find a way to move them down screen one line at a time. Is this the best method for this? Thanks for the help. Edit: This is the code I currently have. I think I have what I was talking about set up correctly, however I'm getting an out of range exception. I believe it has to do with the randomIndex possibly being below the 15 height, but I'm not sure. And I'm not sure how to change it to fix it.
  9. I have a save/load function in my 3D engine which was working quite well in the past. I've just added terrains (which are very small, no more than 100 triangles big) but I can't get them trough my save/load pipeline. They're quite a bit larger than any single model I've had to deal with in the past. I have no problem loading the model in my engine, it takes less than a second, but I have a problem serializing it for my game save/load function which uses a different format than my model format. The whole terrain model file looks like this: -25,4.48,-25:251,252,250 -24,4.58,-25:250,253,250 -25,4.62,-24:250,252,251 -24,4.58,-25:250,253,250 -24,4.62,-24:250,253,251 -25,4.62,-24:250,252,251 -25,4.62,-24:250,252,251 -24,4.62,-24:250,253,251 ... but this is nearly irrelevant as my save function only serializes the string using : data += Serializebytes(Encoding.ASCII.GetBytes(entity.model.StringContent)); where Serializebytes() is : static string Serializebytes(byte[] bytes) { char byteSep = ' '; string byteString = ""; foreach (byte byten in bytes) { byteString += byten.ToString(); byteString += byteSep; } return (byteString); } The problem really is with my serialize bytes method, the program hangs there as it takes forever to process. This worked fine for the very small model that composed my previous scenes but does not for the terrain. The function is simply supposed to take the bytes given by Encoding.ASCII.GetByte() and put a space between them. I figure this is something that should be relatively fast, even with very large amount of data. The perfect solution would be a simple function that would replace Serializebytes(). Thanks in advance guys.
  10. Wow! Very productive week full of new opportunities, new items, and new bug fixes. I must say, development seems to be progressing wonderfully (fingers crossed I didn’t just jinx myself 😊). The game’s fun level continues to increase, and, to me, that’s the whole point of agonizing over the minute details of code and animation – to give others a fun experience. ***Original blog post can be found by clicking here*** Updates this week include: Continued developing level three (about 50% complete) Fixed the artificial intelligence and decision making on enemy characters *Spotlight* Created a “Spinning Wheel” obstacle *Spotlight* Created a “Springy Platform” obstacle *Spotlight* Created a “Smasher” obstacle *Spotlight* Created two new characters called “Howler 2” and “Piper” Started creating a new Booster – “Slow time” *Spotlight* Created and implemented a rendering algorithm to Frames Per Second. Fixed a bug causing enemy health decrementation to be inconsistent Fixed the code that caused the “Howler” enemy to freeze when landing Fixed an error causing bullets to instantly be destroyed and not collide with enemies _______________________________________________________________________________________________________________________________ Spotlight 1: Created a "Spinning Wheel" obstacle I’m in love with this obstacle! It’s incredibly fun and presents a tough challenge to the hero. I died multiple time when testing it, but the thrill of successfully maneuvering it was invigorating. Basically, the obstacle has six platforms the player can jump on. Each platform moves around a center point at a duration and intensity set by the code. The first challenge was getting the six platforms to rotate around the center in harmony. I tried to create a script to manage the movement, but it was a big failure (failure is okay though!). Ultimately I ended up attaching an animator component and just creating an animation in the unity editor. The wheel spins faster by simply increasing the animation speed – Simple...so I thought. The startDelay variable causes the animation to wait for a number of seconds before starting. The animation variable refers to the types of animation available - either an animation where the "Spinning Wheel" moves and pauses or an animation where the "Spinning Wheel" moves continuously. _______________________________________________________________________________________________________________________________ Here's where a big error came in. The hero was not staying put on the platforms. The platforms would rotate out from under him, and he would fall to his untimely death (brought a tear to my eye to see such potential wasted so unfairly). I ended up creating a script for each platform that determined whether or not the platform was touching the hero. If it was, the platform script adjusts the hero’s position to keep him on top of the platform. heroScript refers to the script attached to the hero. If the hero is colliding with the platform, the touchingHero variable is set to true. This variable then signals that a change in position each must be calculated (deltaPosX & deltaPosY) during the FixedUpdate(). This change in position is then added to the hero's transform to correct his position. _______________________________________________________________________________________________________________________________ It worked like a charm! The spinning wheel was complete, and I could set how fast it moved in the unity editor. I created two modes for it: pause and continuous. Pause mode (featured in the video below) puts a brief pause in between rotations, whereas continuous mode rotates without any breaks. _______________________________________________________________________________________________________________________________ Spotlight 2: Created a “Springy Platform” The springy platform was pretty simple to make, and only took about an hour or so of development time. I had never used the SpringJoint2D, so it took some trial and error to make the obstacle usable. I love how it turned out, though! The character can land on it and bounce, making it hard to keep his footing. It really presents a challenge to game play, but, just like the “Spinning Wheel”, feels great when you defeat it! Victory! _______________________________________________________________________________________________________________________________ Spotlight 3: Created a “Smasher” obstacle I had originally created a larger smasher obstacle that would plummet downward upon the hero and send shock waves of crushing force through his body! This obstacle is simply an adaptation of that obstacle, but gave me a few challenges. The obstacle is intended to be used when the hero is climbing down a rope or vine. However, if the hero falls from the rope or vine and lands on the “Smasher” he is unable to move and receives damage until he dies. I foresaw rage quitting if I didn’t fix this bug. I ended up updating the hero’s detection manager to include “Smashers” as elements the hero can move on. (see the detection manager section of the game mechanics section if you’re not familiar with the detection manager). _______________________________________________________________________________________________________________________________ Spotlight 4: Created two new characters called “Howler 2” and “Piper” Two new characters joined the world, and boy oh boy do they make my skin crawl. Creepy and scary with a hint of horror. One of the characters, who I uniquely named “Howler 2”, is an adaptation of the “Howler” Character – Thank you again HQ game assets for making great assets. I did some art work to make him spookier, and augmented his script to make him more lethal. He’s able to evade hero attacks, is bigger, stronger, and can leap further than the “Howler.” The other character is called “Piper.” He is a distance based character that fires bolts of energy at the hero and runs away when the hero gets close. He’s a real challenge, but a lot of fun to beat up. _______________________________________________________________________________________________________________________________ Spotlight 5: Created and implemented a rendering algorithm to increase game speed. This update was huge! HUGE! There was a very serious problem where the frames per second were absolutely horrible when playing the game on a solid gaming PC. I realized I simply had far too many game objects active at once. I did a little research into several topics including object pooling, and ultimately created an algorithm that sets certain sections of the map active and other sections of the map inactive. I created a “Render Trigger” game object, which is basically just a game object with a trigger component, and set them up across the entire world. You can find the entire code below. Super simple and super effective! The game looks stunning, fluid, and has crazy high FPS now. The sections that are active are loaded into the render array in the unity editor. The sections that are inactive are loaded into the sleep array. When the hero touches the trigger, the render game objects are set active and the sleep game objects are set inactive _______________________________________________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _______________________________________________________________________________________________________________________________ ***Original blog post can be found by clicking here*** ***Visit Untouched Earth website for more details***
  11. A lot of exciting updates this week! I spent a good amount of time updating the enemies and creating new challenges for the hero to deal with in the game world. I also fixed a few bugs that were causing some minor annoyances and affecting game play. ***This blog post is copied from a post on the game's website. The original post can be found here*** Update 1: Added a slider cable I added a new element to the game that allows the hero to grab hold of a "sliderCable" object in the form of a vine or rope and use it to slide down a longer vine. The mechanic threw a few curve balls at me, but overall didn't take more than about an hour to develop. It still has a few kinks to work out, but is functional and fun. The main challenge was getting the hero to stop abruptly when he reached the end of the vine. As you see from the video below, he was overshooting the vine and falling off the map. The mechanic is pretty simple. The long vine has a trigger collider at the end of it called a "stopPoint." When the stopPoint triggered by the hero, it activates all of the RigidBody2D constraints on the sliderCable to instantly stop the sliderCable and hero. Needless to say, it wasn't working that way. The sliderCable was using a SliderJoint2D, so I spent some time researching complications associated with the joint. It turns out the problem was with my code. When the hero initially grabs the sliderCable, the sliderCable code turns off the RigidBody2D constraints in order to allow the SliderJoint2D to take over. This is where the problem developed. The hero was being separated from the sliderCable as it was sliding and then touching it again when it stopped abruptly. By touching it again, the RigidBody2D constraints on the sliderCable were turned off by the code right after they were turned on by stopPoint code. After changing a few lines of code around, it worked great! It's a really fun game mechanic, just has a few more bugs to fix. _________________________________________________________________________________________ Update 2: Made enemies turn red when hit I wanted to make it more exciting and noticeable when the character strikes an enemy, so I decided to turn the enemy characters red when they get hit by the hero. I thought it would be as simple as adding a coroutine that turned the enemy red, waits a few seconds, and then turns him back to his original color. Turns out it wasn't that simple. Since the character uses bone based animation (meaning tons of little sprites make up the character), I had to load the enemy's original colors into an array in the Start() method and then copy them back at the end of the coroutine. Success! The "ren" variable is a reference to an array that holds each sprite's SpriteRenderer component. The "color' variable is a reference to an array that holds the original color of each sprite. I copied the original colors in the Start() method. _________________________________________________________________________________________ Update 3: Added new enemy characters I created two new enemy characters. They're fantastic! They are both based on the "explorer" enemy - Thank you HQ game assets for making great assets! - I had to do a little creative artwork to make them look unique, and I must say they look great. One of them is a tiny little guy that moves fast, jumps, and evades the hero's attacks. The other is a big, slow enemy that has a powerful attack and doesn't move when hit by the hero. Super exciting! _________________________________________________________________________________________ Update 4: Fixed wall jumping bug There was a very annoying little bug that allowed the hero to jump up any 90 degree wall he wanted to. The bug was definitely exploited by some of my testing team (wife). I wasn't quite sure how to fix it at first, and ultimately had to add some new code to the CanJump() method of the hero's Detection Manager. It turns out the character's detection points were determining that he was eligible to run and jump whenever he was colliding with a wall, regardless of whether he was colliding with the wall while suspended in midair or not. Needless to say this isn't the behavior I was going for. I ended up creating a few conditions that dictate when the hero is able to jump. Basically, he has to be touching a piece of world that has a "Movement tag" (tags for objects that the hero can run on), and, if the front detection point (fp_2) is active, then the front non static ray will check whether there is a wall in front of the hero. If there is a wall, the hero is not eligible to jump unless his fp_Main detection point is active. It works so far, but I'm wondering if another bug might pop up from this fix. I'm open to any suggestions on how to deal with this type of problem. This code is from the hero's detection manager. Make sure you read the Game Mechanics section of the web page to fully understand what I mean by detection points, detection manager, fp_2 and fp_Main as they are game specific scripts and gameObjects. _________________________________________________________________________________________ Update 5: Fixed standing on enemy bug I've been having an issue where the hero lands on top of an enemy, and is then able to stay standing on top of him. This glitch allows the hero to safely ride the enemy around the map, and makes it hard to get off of the enemy when standing on his head. It was definitely taking the fear out of the fight. I struggled with coming up with a good solution, but ultimately decided to make the hero bounce off enemies when he touches them. The solution was relatively simple, and involved the creation of game objects with BoxCollider2D components attached. These game objects create an outline of the enemy and each have a script attached called "BouncePoint." You can see the full script below. When the character hits one of these bounce points, he bounces off the enemy in a direction determined by the BouncePoint script. I was looking at using a physics2D material, but was having trouble getting it to work. Instead I just added a force to the hero when he collides with the collider. So far it works great! This is the entire BouncePoint script. heroScript and enemyScript reference the scripts attached to the hero and any enemy. The bounceValue is used to determine which direction the hero should bounce in. The direction is dependent upon the direction the enemy is facing. _________________________________________________________________________________________ Any thoughts on how to improve some of these mechanics are welcome! Any questions are also welcome! feel free to comment or contact me at watermoongames@gmail.com. ***This blog post is copied from a post on the game's website. The original post can be found here*** _________________________________________________________________________________________
  12. WaterMoon

    Welcome!

    Welcome to the development blog for the new game "Untouched Earth." I'm an indie developer in the process of creating my first ever large(ish) game, and am thrilled to track progress and development as I approach the projected winter 2018 release. I started making the game around six months ago as a way of learning the unity game engine, and have come a long way. There's still a lot of work to do, but I believe the final product will be well worth the effort. I hope you'll take the time to follow the game's development over the next several months, and your comments and insights are always welcome!
  13. Arnold // Golden Donkey Productions

    C# Where to get started in making a text based MUD?

    Where to get started in making a text based MUD? So I have been making small games for over 3 years now and I'm comfortable in the programming languages that follow: 1. Python (I need a bit of practice with this) 2. C# (I am the most comfortable in this) 3. Java (I know quite a bit but might need to do a tad of research) and I have also done a bit in: 4. JS (I know pretty much nothing here) 5. And some other stuff Anyway, so now you know all that rubbish here goes. What I wan't to do is program a text based MMORPG or a text based MUD. I have basically no clue where to begin so I what I need is some places to start. If anyone has any information on the subject, anything at all, please post it bellow. I will be really appreciated.
  14. Trying to modify the D3D11 example to draw a texture onto the triangle rather than the colours but all I'm not seeing the triangle. What am I missing? Code: https://pastebin.com/KVMTq9r6 MiniTri.fx https://pastebin.com/0w1myEg0
  15. WaterMoon

    Slow Motion Game Effect

    Hello all! I'm in the process of creating a 2d side scroller game using the unity game engine with the C# programming language. I'm creating "boosters" for the main character, one of which is the ability to slow down time. When time slows, everything moves slowler EXCEPT for the main character. Getting time to slow down is easy enough (Time.TimeScale = .5f), but I'm struggling with keeping the main character from slowing down as well. The main character moves using the physics engine by applying force: rigidbody2d.Addforce(new Vector2 (moveForce, 0), ForceMode2d.Force) I'm not sure if I need to scale the amount of force applied to the character, and, if so, what the coding would look like. Any thoughts and insight would be most appreciated!
  16. So I am trying to figure out an efficient way to block the rendering of tiles that are not in "line of sight" (behind other certain tiles), something like in CDDA: Now I know I could do something like this by raycasts (as I currently do that that enemies to determine if they are line of sight of the player) however I am going to want to display probably somewhere between 7000 - 9000 tiles at the max zoom level and the only way I would know how to use raycast for this would be raycasting each tile which I imagine at that scale would not be usable (though I have not tried). What would be an efficient way to try to accomplished what I am looking to do (also if it matters, this game in turn based)?
  17. Hello Guys, I have a problem, i want to draw a Text with Direct2D1 in SharpDX and everytime i create a DeviceContext with my 2Ddevice, i get a System.AccessViolationException Heres my code: (this.Handle = Handle of my Form) Device d2dDevice = new Device(this.Handle); DeviceContext d2dContext = new DeviceContext(d2dDevice, DeviceContextOptions.None); Can someone explain me wehre my mistake is? Greets Benjamin
  18. Hello all! I'm currently designing a 2D, Puzzle/Action RPG, in a similar vein to Legend of Zelda: Link to The Past, in Unity and require a Programmer partner in which to work with me. The project, yet to be titled, will feature: A semi-open world, represented through pixel art, in which the player traverses to enter dungeons and advance the story. A handful of side-quests that require memorizing details and using puzzle-mechanics. A fast-paced, melee combat system that will include dodging, blocking and utilizing four different attack types that can be switched on the fly. A simple inventory of "Key Items" to be used in order to advance the story. Day & Night system and Weather Effects, with weather effecting combat. A very simple Dialogue System to convey information via colored text. Saving/Loading via exporting and importing a physical save file. Majority of the project is already planned out, with plans to release commercially and splitting the profits equally among the two of us. I would request that the applicant is able to work semi-independently, following an outline, and that they have experience in both C# programming *and* putting those scripts to use inside Unity, whilst I will be creating the Art, Music/SFX and doing Level Design (Though if you are also comfortable in assisting me with these, I wouldn't be opposed.). Work will be shared in either Github or Unity Collab (Applicants preference), with communication done via Discord. For more information and to apply, please contact me at nathan.jenkins1012@gmail.com Thanks for reading!
  19. Hello, I'm looking for my dream teammate(s) to help me work on my Unity game. I still dont know where Im going with that project but I want to make a good final product that I would be able to sell or publish it for free on Steam. Here a video of the prototype (The only thing I dint made is the skybox) https://www.youtube.com/watch?v=y2Otmt9jRkc My discord : Just4lol#46982 I want somone at least as competent as me : - I want somone with at least one year of experience in Unity (already worked with scriptable object and know oop). - Already worked with shaders or can do editors tools is a plus. - Can do 3d models in Blender or can do 2d art for the ui or particles effects. - Can make soundtracks or sound effects a bonus. Im a french Canadian so mind my english I will do my best to edit any errors I see.
  20. cyberspace009

    A Strong Start

    Change Of Plans: I decided to use Unity instead of my own personal game engine, Ignis Game Engine. I made this change because I believe Unity will alleviate some stress in the development of the game. In addition, I am convinced that I finished the 2D system interface for the Ignis Game Engine; however, the 3D system implementation will take some time to complete. Good Start: I am excited and nervous at the same time when I started developing this game, Iron Age Stories. On the other hand, I managed to create a Sand-Box scene with a prototype coming together. What's Next: The next step is to tread carefully and plan accordingly on how I can succeed in this project. I did create a TODO list for the prototype to keep track of my progress; however, the list keeps growing. I can feel the stress already but I can spread the work into smaller pieces to determine the work load. Thanks for reading and happy coding!
  21. protected void menuImage_ChildClick(Object sender, EventArgs e) { if(pbxPhoto.Image != null && sender is MenuItem) { MenuItem mi = (MenuItem)sender; pbxPhoto.SizeMode = modeMenuArray[mi.Index]; pbxPhoto.Invalidate(); } } I'm trying to make one click function to handle multiple menus. Using this code does not work when I click the menu buttons after the image is loaded in the picture box. Here is where I set the event handler of both menu items. // // menuStretch // this.menuStretch.Name = "menuStretch"; this.menuStretch.Size = new System.Drawing.Size(152, 22); this.menuStretch.Text = "S&tretch to Fit"; this.menuStretch.Click += new System.EventHandler(this.menuImage_ChildClick); // // menuActual // this.menuActual.Name = "menuActual"; this.menuActual.Size = new System.Drawing.Size(152, 22); this.menuActual.Text = "&Actual Size"; this.menuActual.Click += new System.EventHandler(this.menuImage_ChildClick); Menu Stretch and Menu Actual are ToolStripMenuItems, which don't have an index variable as I've noticed. How do I get this to work? Otherwise I have to make a separate event function per menu item, which, depending on the amount of image properties, could be a a lot.
  22. Hi there, I need a simple(ish) MP3 player for my C# WPF project. Sound isn't a major player in my project, but I do need to be able to play a couple of MP3s at the same time (loaded in as Content). I'm currently using the standard MediaPlayer library just to get a placeholder in there, but it does not meet these requirements: * Looping - no matter what I try, there's always a split-second break in the sound when it comes to looping (a few of the sounds are short tune loops, and the brief pause when looping really stands out like a sore... ear...!) * Mixing - at times I need to play a couple of samples simultaneously, but I don't believe MediaPlayer can support this. Having said this I've not tried invoking more than one MediaPlayer class at the same time. Are there any suggestions? I've browsed through NuGet but I'm surprised I can't find anything really useful.
  23. till now i made almost perfect mouse selection unit i mean rts style c# mouse scrtips this works almost all of the warc3 game mouse function now i want to unit to move with navmesh please help me navmeshagent.SetDestinaton(Input.mouseposition) this doesn work T.T im so sorry guys i forgot if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100)) this im so sorry
  24. Hi everyone! I'm currently working on a series of books about 2D Shader Development. The idea is to synthesize a bunch of techniques that are specifically useful for 2D, even if they work on 3D as well. I released the first book last week. It's 4.99 on Amazon or free on the series website, https://www.2dshaders.com This is an independent initiative, I don't work for any publisher whatsoever. The contents of the books are the result of a 4-year span where I started teaching this in Argentina and USA, always making the workshop better. Now I'm expanding it to make more sense in book form. I'd love to hear your opinions on the idea and if you get the book let me know what you think. By the way, the examples are in Unity, but the concepts from the book should be easily transferable to any graphics api/engine. Hope you like it!
  25. Hello all, I'm pretty new to programming and game development but I'm currently studying computer science at FSU and am just working on a project on that side that I hope to put on my resume one day... Any and all advice would be welcome! I made a quick, shitty, little dev vlog where I just spliced a few of the features I've added into a single video. Please leave a comment if you have any words of encouragement or advice!
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!