Jump to content
  • Advertisement

Search the Community

Showing results for tags 'Unity'.



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

  1. 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 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. OTHER OPEN POSITIONS 3D Environment Modeller Website Manager 3D Character Modeller REVENUE - SHARE The project is marching increasingly closer to be ready for our crowd-funding campaign. Being an Indie team we do not have the creative restrictions often imposed by publishers or other third parties. We are extremely conscientious of our work and continuously uphold a high level of quality throughout our project. 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
  2. THE PROJECT 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 IndieDB page Also follow social media platforms for the latest news regarding our projects. Facebook Twitter 3D CHARACTER MODELER We are looking for a 3D Character Modeler to create and polish 3D characters for the game. You will be collaborating with the team in creating 3D characters that meet polygon-count and texture quality requirements. You will also need to be able to enact upon instructions from the Art team Lead and the Project Lead. Your duties include: Create 3D characters conforming to the polygon-count requirements. Skinning and un-wrapping of models created. Make adjustments to created models when required. REQUIREMENTS To be successful in this position, following requirements apply: Have working knowledge of 3D modeling suites. Understand import/export requirements for Unity Engine integration. Excellent self-management skills. Excellent attention to detail. Excellent communication skills. OTHER OPEN POSITIONS 3D Environment Modeller Website Manager Unity Engine Programmer REVENUE-SHARE The project is marching increasingly closer to be ready for our crowd-funding campaign. Being an Indie team we do not have the creative restrictions often imposed by publishers or other third parties. We are extremely conscientious of our work and continuously uphold a high level of quality throughout our project. 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 or are interested to apply for this position. We look forward to hearing from you! John Shen HR Lead Starboard Games LLC
  3. Hello there, Let's say I am looking into designing a game similar to Guitar hero for mobile. If a player plays niche songs from obscure bands, what is the best way to register his highscore on a global server? I'm interested in resource efficiency and response times. Thanks!
  4. NanotaleTeaser_with_sound.mp4 Something is wrong with the heart of magic. Play a young archivist venturing out into a dying world, cataloging its mysteries and its wonders to unearth the truth. Nanotale is the new adventure from the Typing Chronicles franchise and the spiritual successor to the acclaimed Epistory. We are proud to finally be able to announce the development of our new typing game, Nanotale - Typing Chronicles, the spiritual successor to 2016’s acclaimed indie title Epistory - Typing Chronicles. Something is wrong with the heart of magic. Play a young archivist venturing out into a dying world, cataloging its mysteries and its wonders to unearth the truth. Nanotale - Typing Chronicles is an atmospheric typing adventure RPG set in a colorful vibrant world that blooms to life under the words of Greg Buchanan [www.gregbuchanan.co.uk]. Developed by Fishing Cactus Games with the same core team as Epistory - Typing Chronicles, we can’t wait to share the adventure! Wishlist the game NOW Weekly Updates Today is the opening of our Steam page, and with it, the beginning of us being able to talk about the project. To make sure that communication between players and devs flows perfectly, we will post weekly updates about the game on the following channels: Nanotale Steampage Twitter Facebook [www.facebook.com] Discord [discord.gg] Your voice is important Many of player participated in our survey last year about those features they loved in Epistory and how they would like to see these features in our next title. That survey has been used as a solid base when brainstorming about the Nanotale - Typing Chronicles. It helped us to capture the DNA, the essence of Epistory, to create a new game that we hope will please the community. Sometimes decisions have to be taken. Some are harder than others, but we will count on you to continue to enlighten us about what you think of Nanotale - Typing Chronicles. We want you to take part in this incredible new typing adventure with us! Leave us your thoughts in a comment and don’t hesitate to spread the news all around you! Thank you!
  5. PROGRESSThought I'd reach out for some feedback on my little project. This is an android two-player game for top-down boxing matches. The core mechanics are all that I have accomplished thus far, later I want to add different configurations for your boxer (special effects, increased health or damage, etc) and maybe even a single player AI to practice against.SCREENSHOTS #1 *****************************************************************#2 FEEDBACKRight now the gameplay feedback I'm looking for is on the fundamental mechanics of the game.One area of particular concern is the window of opportunity for a player to block after their opponent has begun a punch. Currently that window is one-tenth of a second, otherwise you will be to late to counter their blow. I want it to be difficult to successfully pull off a block and have it be something that requires real attention to accomplish. I'm wondering though if it isn't too difficult right now, which may encourage mindless button mashing, which is certainly not what I want to condone.Another consideration is whether having three main actions (block, attack, charge) provides a good balance. My idea with having three main areas is that your two thumbs will have to leave one section uncovered at all times. This should result in hand movements that telegraph actions to the opponent.Aside from these, any other constructive criticism is very welcome.LINKMy game can be found at the Google Play Store here: https://play.google.com/apps/testing/com.meatandgrain.PunchABunchNOTE There is a known graphics error when performing a special punch. There are no doubt other unknown errors as well. Thank you for your time, I hope you'll be able to find some fun in this little game!
  6. LamePower448

    Mobile Dodgy (Android Game)

    Hello everyone! My name is Abdelfattah Radwan I'm a 16 years old dude from Egypt. I have created a simple android game called Dodgy all by myself and published it on Google Play App Store. As of now I have no budget but I'm actively working on the game and due to my non existent budget I couldn't market the game very well so I thought some people on this great community would be interested in trying my game and helping me out by giving feedback. I would be really grateful if you go ahead and try it now and give me feedback. I'm very open minded so if your feedback is good or bad I would be really interested in knowing it anyways! Link: https://play.google.com/store/apps/details?id=com.winterboltgames.dodge Thanks for reading!
  7. hello guys, i'm new in unity and i wanna make a ricing game , but i don't know how to start. The script of racing games in youtube is very bad how i wanna a better script but i don't know how and where to start , is any one here can help me ?
  8. Hi everyone! This is my first post. I'm working on a horror game in Unity. In this game, you (the player) are inside a laberynth. The aim is to get out of it and to accomplish that, you need to collect 3 keys that are scattered randomly. The thing is that you are not alone. You have a flashlight whose power decreases every second. While you are in the dark, your "madness" increases. You will have to escape from a 'monster' and collect the keys as fast as you can, before you get 'mad'. I've been programming it but it is still in 'alpha'. I would love any suggestion or ideas. What do you think? Could it be an interesting game? Also Ive working on the laberynth. It is in progress. I have to change and fix a lot of things. Ignore the flying boxes. (Attached video). Sorry for my bad English and Thank you! Alpha01NoVolume.mp4
  9. Last week wasn't as productive as the last, but it's still substantial nevertheless. So without further ados, let's get to it! GUIs Previously, some GUI elements didn't scale to the screen's density. This meant that no matter the resolution those items always remained at a set size. This was fine and dandy, but now that menus are implemented it's primordial to have some kind of cohesion. The main reason why such constraint existed was mainly due to those wacky title bars of those funky windows. Before these were all textures, and in essence, I wanted to make sure that these won't get blurred or offset, so keeping the same scale was the only choice back then. I, however, tried a different approach: because these funky lines were relatively simple and didn't require any type of special texture I thought that we could easily replace them with custom geometries. This way I can control where each vertex goes and how they adapt to the GUI element's rectangle. After a bit of tinkering, I finally managed to change this, meaning that I could now get rid of the unscaled canvas. As you can see the results are a whole lot better : And here's how it looked previously: And just for comparison, let's take a look at the GUI at my screen's native resolution: It was a long-awaited change, to be honest. Especially if I want to try to have dynamic resolutions in the future. Wonderful Sounds One of the most striking updates has to be the sounds. Previously, there weren't any sounds yet, but now there are progressively more and more varied sounds, making the game a bit more complete. On most items (collectables and whatnot) there's now a physic sound that plays when the item's associated rigid body get hit. The sound changes its volume based on the impact velocity's magnitude. This makes locating those items so much easier. Similarly, there's now another sound that plays when said item gets picked up. Let's take a look: As you can see (or heard in that case), most sounds are also given a random pitch just to spice things up. Weapon Balances Another big upgrade would be weapons. After a bit of closed testing, I've realized that the weapons could need a bit of balancing. The Gun Got Nerfed The Gun itself got a slight nerf. Before each bullet shot could be recycled. This, in effect, makes it behave more like Heavy Bullets. However, it was clear that picking up each of these bullets were kind of a pain for most people. So I've decided to reduce the amount of time a bullet can be recycled by linking that recycling to the player's current luck stats. In the future, there might be even actual bullet magazines and an automatic reload process (or manual). This way we could counteract the fact that bullets would be scarce if the player has poor luck. The bow got buffed The bow, however, got a big buff. Now, arrows are infinite. This effectively means that there are no more melee attacks and every time the player wants to attack a pre-charge is needed. The Mini Map Next, there's a new Minimap. This Minimap shows a simplified layout of the level. The room the player is currently in is also highlighted, and it changes when the player moves to another room. Each type of rooms has their own colours, which is dictated by the colour palette. This means that each level has their own room colours. If this might be a hindrance then this could be easily changed, but so far I simply lack the data to know. So far all rooms are shown (even the hidden ones), but eventually, only the discovered rooms would be shown. There's also no other things as of yet. There might be enemies, items and whatnot. These would be pretty easy to implement though. The map also rotates to match the player's view. It also follows the player around so that the player's position will always at the middle of the map. Take a look: Minor updates Fixed a bug with enemies' animations not working properly; Undid (partially) the UnityEvent's to also use C# native events: As seen here, there's basically no reasons to use UnityEvents rather than native C# events. One of the reasons one might use UnityEvents is of they use a serialized and strongly linked. But overall it's significantly slower; Another reason for the undoing is simply because my capacities are technically not serialized. This means that those capacities listeners are never invoked when the event is called. Added an empty Option tab in the pause menu. Next week So next I'll probably work a bit on the minimap, and perhaps fix a few graphical bugs linked with the MSAA applied to the game. Some models get unwanted gaps between shared vertices: So I might have to implement FXAA or TAA to fix this. Afterwards, it's boss time!
  10. What is a variable? Technically, it's a tiny section of your computer's memory that will hold any information that you put there. While a game is running, it keeps track of where the information is stored, the value kept there, and the type of that value. However, for this chapter, all you need to know is how a variable works. It's very simple. This tutorial has been taken from Learning C# 7 By Developing Games with Unity 2017 - Third Edition and published by Packt. What's usually in a mailbox, besides air? Well usually there's nothing, but occasionally there is something in it. Sometimes, there are letters, bills, a spider, and so on. The point is that what is in a mailbox can vary. Therefore, let's call each mailbox a variable. In the game development world, some simple examples of variables might be: playerName playerScore highestScore How to name a variable Using the example of the mailbox, if I asked you to see what is in the mailbox, the first thing you'd ask is, "Which one?" If I say in the Smith mailbox, the brown mailbox, or the round mailbox, you'll know exactly which mailbox to open to retrieve what is inside it. Similarly, in scripts you have to give your variables a unique name. Then I can ask you what's in the variable named myNumber, or whatever cool name you might use. Let's see how this is represented in our code. The first thing we need to do is create a new script in Unity, all the fun and magic starts here from these first steps: In the Unity project panel, under the Assets tab, we are going to right–click the empty space: Then we go to the Create menu and select the C# Script option A new file was created and it is ready to be renamed; this is very important and we need to always give a name to this file. For now, we can call it variableScript (the name we gave to this file doesn't interfere with the content on it, so we can we choose any name we want): Then we double-click the script file that we have just created. The MonoDevelop program will open with the script ready to edit: Make sure that the name that appears after public class is exactly the same name that you assigned inside Unity (in this example, we gave the name variableScript). In case we don't rename the script file right away when it gets created, Unity will automatically assign the NewBehaviourScript name: Now we are ready to create our first variable, we are going to name it myNumber. Make sure that your script looks identical to the following screenshot (for now, don't be concerned about the details of how to write this): Then save the file Note: When you name variables, try to come up with a name that most accurately describes what value your variable contains. Avoid generic names such as name, speed, and score. Instead, name them playerName, carSpeed, and opponentScore, respectively. A variable name is just a substitute for a value As you write a script and create a variable, you are simply creating a placeholder or a substitute for the actual information that you want to use. Look at the following simple math equation: 2 + 9 = 11. Simple enough! Now try the following equation: 11 + myNumber = ???. There is no answer to this. You can't add a number and a word. Going back to the mailbox analogy, write the number 9 on a piece of paper. Put it in the mailbox named myNumber. Now you can solve the equation. What's the value in myNumber? The value is 9. So now the equation looks normal: 11 + 9 = 20. The myNumber variable is nothing more than a named placeholder that can store some data (information). So, wherever you would like the number 9 to appear in your script, just write myNumber and the number 9 will be substituted. We can test this on the script that we had previously created, so let's do it: We start by selecting the script that we have created and then we double–click it to open inside MonoDevelop: Now we create a new variable called total and we don't need to assign any number to it because we want this variable to show us the result of our: After the void Start () function, we are going to write the math equation total = 2 + myNumber: Save the file, go back to the Unity program, and drag and drop the script file on top of the Main Cameraobject: Click Play and take a look at the Total variable: Although this example might seem silly at first, variables can store all kinds of data that is much more complex than a simple number. This is just a simple example that shows you how a variable works. We will definitely look at more complex variable types at later stages. Remember, slow, steady progress, baby steps! Creating a variable and seeing how it works Now using a different method, we are going to develop a script that shows us the result on the Unity console. Once again, don't be concerned about the details of how to write this; we are going to explain everything in more detail in future chapters. Just make sure that your script is the same as the script shown in the next screenshot: In the Unity Project panel, double-click variableScript. The MonoDevelop window should open automatically on variableScript.cs. In MonoDevelop, erase what we have done before and write the lines 7, 12, and 14, as shown in the following screenshot: Save the file. Note: The best way to save your script is by using a shortcut. If you are using a Mac, use command + S, and on Windows use Ctrl + S. We will be saving a new version of the script every time some changes are made to it, so it is a good idea to use a shortcut instead of saving through the Filemenu. We have added a few lines to our script. Before we check whether it works or what it actually does, let's go through line 7: public int myNumber = 9; In simple words, this line declares a new number type variable named myNumber and assigns a value of 9 to it. We don't want to worry about theory too much now and want to write more code, right? Agreed, but we do need to remember a few things first. Declaration To create a new variable, we first need to declare it by saying what type of variable it is, and as we explored before, a variable type represents the content. This means that the content for the myNumber variable is a number. The keyword for whole number variables in C# is int and for different types of content, we assign a different keyword. We also have to give our variable a name; myNumber is fine for now. You can use any name you want, as long as it does not contain spaces or special characters. Assignment We have created our variable, and now we are giving it a value. To assign a value, we use the equals sign followed by the value. In this case, it is 9. To close the line, use a semicolon; this is always necessary. The program reads our script one line of code at a time, and by using the semicolon we are telling the program that the line of code ends there. Click play! Quite an exciting moment! Go back from MonoDevelop to Unity and click the Play button. Unity should print out two lines on the Console tab, looking like this: Unity executed the code in the variableScript component on the GameObject just after you clicked Play. We can see two lines printed on the Console window. We wrote a piece of code asking Unity to print these two values the Console window. Let's look again at lines 11 and 13. Everything inside the brackets in the Debug.Log function will be printed to the Unity Console. It can be a number, text, or even an equation: So, line 11 is asking, "Hey Unity, print the result of 2 + 9 on the console!" Line 14 is using the myNumber variable's value directly and adding it to the number 11. Thus, the point of this exercise is to demonstrate that you can store and use whatever values you want using variables, and use their names directly to perform operations. How to change variables Since myNumber is a variable, the value that it stores can vary. If we change what is stored in it, the answer to the equation will also change. Follow these steps: Stop Unity by pressing the Stop button and change 9 to 19 in the Unity Inspector tab Notice that when you restart the game, the answer will be 30 I bet you have noticed the public keyword at the very beginning of the line that declares the myNumber variable. Let me explain what it means. It's called an access modifier. We use these to specify the accessibility of a variable. The public keyword means that the variable can be seen by code outside our script. Look again at the Unity Inspector tab. You can see the value of myNumber there because it is public. The private keyword, however, means that the variable can be accessed only by code in the same class. Note: Private variables are not visible in the Unity Inspector tab. If you wish to control or view them, make them public. Watch for a possible gotcha when using public variables Unity gives us great flexibility with editing or reading public variables in the Inspector tab. You will be using public variables most of the time. Now, I want to make you aware of something that might give you a headache sometimes. Note: All public variable values are overridden by the Unity Inspector tab. Let's look back at line 6; we had assigned our variable a value of 9. This value will be copied to the Unity Inspector. From now on, the value from Inspector is taken into account and not the value in the script, even if you change it. Therefore, be careful as this is very easy to forget. In the Inspector panel, try changing the value of myNumber to some other value, even a negative value. Notice the change in the answer in the Console tab. This tutorial is an excerpt from "Learning C# 7 By Developing Games with Unity 2017 - Third Edition" by Micael DaGraca, Greg Lukosek and published by Packt. Get the complete eBook for just $10 (limited period offer). Thanks for reading! Learn more on the Packt Hub: Creating interactive Unity character animations and avatars [Tutorial]
  11. You want to create custom meshes for your Unity3D UI, but you found the documentation lacking? In this article, I will describe How to implement a bare-essentials custom Unity UI mesh Point out all the pitfalls that leave you looking at invisible or non-existent meshes TL;DR To implement your own UI mesh, derive from MaskableGraphic and implement OnPopulateMesh(). Don’t forget to call SetVerticesDirty/SetMaterialDirty upon changes to texture or other editor-settable properties that influence your UI-elements and should trigger a re-rendering. Don’t forget to set the UIVertex’s color, otherwise, you won’t see anything due to alpha=0, i.e. full transparency. You can look at the full, minimal code example, here. Of Rendering Mini Maps Inside Unity UI My use case was simple: I wanted to create level previews for my current puzzle game project Puzzle Pelago, and I wanted to try making a simple tiling system based on a custom UI mesh. The requirements I was eyeing was that it should behave like all the other UI elements in unity, i.e. it should fit inside its RectTransform, it should work inside a masked ScrollView, and it should respond to disabled state tinting since it would be living inside of a button. What I ended up with looks something like this: The path there was not that bad, but still frustrating at times since all I found online was forum posts and Unity's own source code to go off of. So here I want to build a simplified example in which we will render a grid of textured quads inside a UI element, using one script. This should take all the hurdles for building any kind of (flat, 2d) UI geometry you might want to build. Unity Scene Setup Alright, let’s set up the scene as follows: Open the Unity project and Scene you want to work in. If there is no Canvas in the scene yet, create one! For this tutorial, I left all the properties at default. Inside the Canvas, create a ScrollView - we will want to check that our new UI component works inside of that! Inside the ScrollView > Viewport > Content, create new empty game object - let’s call it MyUiElement Add a CanvasRenderer component to the new game object, and then add new script: MyUiElement Open the new script in your favourite c# editor (I love Rider btw.), and go back to Unity’s scene. To make our lives easier, we will want to set the Scene View’s render mode to “Shaded Wireframe” so we can see our UI mesh geometry in detail. Also, it is useful to switch to the 2D view perspective, select our “MyUiElement” object and press F, so unity zooms in just right. Implementing the Custom Unity UI Mesh Script in C# Now we can go ahead and implement our new C# script! First off, our new script needs to at least derive from Graphic . But, if masking inside of ScrollViews, for example, needs to work, we better derive from MaskableGraphic. Otherwise, our graphics will render outside of the mask, too. Lol. Also, we want to be able to set the size of the grid cells in the editor, so we should add a public field for that. public class MyUiElement : MaskableGraphic { public float GridCellSize = 40f; Next, we want to be able to use a texture for our UI elements. Looking at Unity’s own implementation, e.g. that of the Graphic (source code) base class or the default Image (source code) UI element, we can see that a common pattern is to … … define Texture/Material slots as properties, such that when the texture is changed in the inspector, we can trigger Unity UI to re-render even while in edit mode. This is done by calling SetMaterialDirty() and SetVerticesDirty(). … implement mainTexture as a default overridden property such that if no texture is provided, we return the default white texture. [SerializeField] Texture m_Texture; // make it such that unity will trigger our ui element to redraw whenever we change the texture in the inspector public Texture texture { get { return m_Texture; } set { if (m_Texture == value) return; m_Texture = value; SetVerticesDirty(); SetMaterialDirty(); } } public override Texture mainTexture { get { return m_Texture == null ? s_WhiteTexture : m_Texture; } } Next, we have to override OnPopulateMesh() to do our rendering. It takes a useful little helper object for building meshes, the VertexHelper , as its argument. It tracks the vertex indices for you, and lets you add vertices, uvs and tris without having to do lots of array arithmetic and index tracking. It must be Clear()’ed before building a new mesh. I found it useful (and you may, too) to use a little quad-making helper function, AddQuad(): // helper to easily create quads for our ui mesh. You could make any triangle-based geometry other than quads, too! void AddQuad(VertexHelper vh, Vector2 corner1, Vector2 corner2, Vector2 uvCorner1, Vector2 uvCorner2) { var i = vh.currentVertCount; UIVertex vert = new UIVertex(); vert.color = this.color; // Do not forget to set this, otherwise vert.position = corner1; vert.uv0 = uvCorner1; vh.AddVert(vert); vert.position = new Vector2(corner2.x, corner1.y); vert.uv0 = new Vector2(uvCorner2.x, uvCorner1.y); vh.AddVert(vert); vert.position = corner2; vert.uv0 = uvCorner2; vh.AddVert(vert); vert.position = new Vector2(corner1.x, corner2.y); vert.uv0 = new Vector2(uvCorner1.x, uvCorner2.y); vh.AddVert(vert); vh.AddTriangle(i+0,i+2,i+1); vh.AddTriangle(i+3,i+2,i+0); } // actually update our mesh protected override void OnPopulateMesh(VertexHelper vh) { // Let's make sure we don't enter infinite loops if (GridCellSize <= 0) { GridCellSize = 1f; Debug.LogWarning("GridCellSize must be positive number. Setting to 1 to avoid problems."); } // Clear vertex helper to reset vertices, indices etc. vh.Clear(); // Bottom left corner of the full RectTransform of our UI element var bottomLeftCorner = new Vector2(0,0) - rectTransform.pivot; bottomLeftCorner.x *= rectTransform.rect.width; bottomLeftCorner.y *= rectTransform.rect.height; // Place as many square grid tiles as fit inside our UI RectTransform, at any given GridCellSize for (float x = 0; x < rectTransform.rect.width-GridCellSize; x += GridCellSize) { for (float y = 0; y < rectTransform.rect.height-GridCellSize; y += GridCellSize) { AddQuad(vh, bottomLeftCorner + x*Vector2.right + y*Vector2.up, bottomLeftCorner + (x+GridCellSize)*Vector2.right + (y+GridCellSize)*Vector2.up, Vector2.zero, Vector2.one); // UVs } } Debug.Log("Mesh was redrawn!"); } Note that in the AddQuad() function, we set position, uv, and color! Since in the UI material, texture is multiplied with the color by default. Leaving this at default, i.e. (r=0,g=0,b=0,a=0), this will yield 100% transparent material. So all you see is nothing, and if you are wondering why, this might be it. Here we use the component’s inherited color slot. Since we want our grid to update whenever the RectTransform is resized, we should also override OnRectTransformDimensionsChange(): protected override void OnRectTransformDimensionsChange() { base.OnRectTransformDimensionsChange(); SetVerticesDirty(); SetMaterialDirty(); } This should do. Now, back to our Unity scene, we should see a grid of white squares inside our RectTransform. To change this, we can select one of unity’s default textures in our texture slot. Adjusting the size of the RectTransform or the value of our Grid Cell Size, we can see that the grid updates automatically. Going into play mode, we should also be able to drag around the scroll view’s contents and have the grid be masked correctly. CONCLUSION You can have a look at the full code example, here . Of course, we are not limited to rendering quads, either, since the basic geometry we created here consist of triangles. So any 2D mesh should be possible to draw, and in principle, it could be animated, too! Anyway, if anything in my writeup is unclear, don’t hesitate to ask questions in the comments or via Twitter, @hallgrimgames. Good luck with your project! Note: This article was originally published on the Hallgrim Games blog, and is republished here with the kind permission of the author Christopher.
  12. This is my submission for the challenge. I wish I had more time to finish the project the way I wanted. Here you go: Hope you enjoy it.
  13. About LILITH A simulated open-world galaxy with a mission: help an alien family (your crew) survive the harrowing journey to planet Lilith. 🌟 website 🌑 newsletter 🌓 facebook 🌕 twitter 🌗 instagrump Every Journey is New Warp from moons to planets to distant star systems, navigating the dangers of a procedurally generated galaxy teeming with life. The galaxy's big and you never blast off exactly the same way each time. A Flying Home It's not just a spaceship. It's your strategic command center. Your storage hub. Your medical station. Your lifeline. Keep her running smooth and upgrade when you can, because you can't always count on galactic police to help you fend off raiders. [Those tentacles are your space sails, absorbing solar energy and keeping the ship's systems humming.] Planets Are Life Beam down to planets and gather or grow resources needed for survival. Command your crew, build harvesting rigs, and explore an array of atmospheres and environments. Hope you know how to handle a laser pistol. Advance Your Tech Invest in your survival by researching the best tools, weapons, and suits possible. Better items lead to longer stays on planets and higher yields. And it doesn't hurt to have a few grenades and machine guns. They Were Here First Engage civilizations for trade and business. They're aware of their simulated nature, so be cooland try not to do anything weird. The Intragalactic Government is aggressively seeking to purge "Users" like you. Other than that little detail, relax and tune in to a radio blasting government-approved music hits and delightfully peculiar ads. I'll be posting more game play content and descriptions! Looking forward to showing y'all more about this indie puppy. - Jun & Pate
  14. Hello everyone! This is my submission for the Frogger challenge. The final build for the project can be found here! I hope I have fulfilled all requirements for this challenge. Sadly, I do not have time to create a gameplay video. I am not sure if this is a must. I have added a couple of screenshots from my blog series. My post-mortem post will be done next week. As I already mentioned on the project page, I also could offer a Linux build if somebody needs one! I hope you like it and I am excited to see your high scores! Please tell me if there is anything missing!
  15. jb-dev

    The Almighty Mini Map

    From the album: Vaporwave Roguelite

    I've recently added a mini map on the right upper corner of the screen. With this the player can now see in which room it's currently in. That mini map get updated when the player moves to another room. In the future most rooms will be hidden until the player discovers it by either moving to a new room or, in the case of hidden rooms break a breakable wall or open the locked door.
  16. Hi everyone! I'm one of the developers from Far North Entertainment. We are a startup studio based in Sweden. We have been working together for three years and are currently developing our second game, a sandbox game in a post apocalyptic cyberpunk setting where you explore the world and find materials for crafting tools to help you survive against thousands of zombies! We have been working on this project for about four weeks and have taken inspiration from other games such as Project Zomboid, Terraria and Left4Dead and we are trying to gather feedback to determine in which direction we are taking it. Our Project page: The Gameplay Features: Online Co-op Multiplayer: team up with your friends, or go solo if you dare! An open world: explore the world and scavenge it for objects and materials that will help you survive. Crafting: use acquired materials to forge new weapons and armor or modify your existing arsenal. Build your bases: build bases of operations where you will be able to craft, plan your next destination or simply catch your breath in between your encounters with the Infected. Hordes of thousands: thousands of Infected can be simulated on screen at the same time. Make sure you have an escape route or enough ammunition in an encounter, otherwise your death is certain. The gameplay centers around you exploring the world, trying to find and gather materials that can be brought back to your base and be used for crafting tools that will help you survive. Our goal with the Infected is to have a dynamic threat that can create emergent gameplay scenarios where, in one instance a street you cross is completely empty only to be crowded with Infected shortly afterwards, thereby forcing you to plan a different route to circumvent them or try to blast an opening and push through them. This means that communication between you and your friends will be key in order to survive encounters with the Infected. You could have a friend draw the attention of the Infected away from you while you gather resources to take back to the base, or have a friend desperately firing of a shotgun shell, in a small encounter, drawing the attention of a large horde and dooming your entire team. We also have a DevLog on Youtube which I thought I'd update this thread with, in addition to the written updates about the game's development progress. We would appreciate any feedback on the game, I look forward to take part in it!
  17. I started this challenge one week after quitting my job. I had calculated that with my frugal lifestyle even my small savings would last me a few months. I feel this is somewhat unfair to the other challengers, but in the state I was before I went AWOL I just couldn't participate. I had kind of a mad hope that what I would accomplish dedicating myself full-time to my hobbies would somehow let me make a job out of them. Well, this doesn't seem to be happening, but the giant boost to confidence should be worth something. I think I only installed Unity after I 'signed up' for the challenge (I had stopped using it a year before to experiment with other engines). I was supposed to be the art guy, but the other person fell through, so I ended up doing everything. I used Blender for models, Krita for art, and eventually LMMS for music. I'd say everything went even smoother than I expected. Issues came up, but nothing that I wasn't able to handle. There's a lot of stuff in this project I promised to myself and at the blog that isn't there, but I didn't feel like starting something major at the last minute. I also toyed around with the idea of making the source code publicly available, but my project looks like a mess of unity packages (which would probably make its educational value rather limited). Sorry. In the end, I think the most important part for me making it through the challenge was the support of a like-minded group on the forums. Hopefully I'll be able to keep up after the challenge and develop more crazy ideas together.
  18. Nothing impressive to see here, kinda just another week of getting my ideas straight. Converting messy notes into legible text, then giving that text some context to make sense with the rest of the vision. I'm working on the design doc some more, basically. Combing through each and every detail of the game again to make sure nothing is boring, too derivative, tedious, or pointless. I want to charm the pants off of folks the whole way through. And I absolutely want to make sure to vaporize any accusations of this being an uninspired Pokemon clone.More on yotesgames.com
  19. So right now I am trying to figure out what my options are for building a game that at least will have a similar sandbox block presentation style that games like Terraria, Starbound, It Lurks Below, etc. have.The core parts that I am looking to achieve that related to the world are:- Relatively large map size (for example, I would like to support a map size that is the largest that Starbound has which I believe is 18 million blocks being 6000 x 3000)- Multiple layers of blocks (layer for the background, main world, vegetation, etc.)- Certain layers will support colliders, other won't (like the background really would not need a collider)- Dynamic lighting (similar to games mentioned above)- Falling blocks (like how sand works in Starbound)- 2D fluids (again similar to how it works in Starbound)- Dynamically growing blocks (like how vines can grow in Starbound)Currently I am prototyping with https://assetstore.unity.com/packages/templates/systems/terrain-engine-2d-115381 which is a promising solution and really the only asset I can find geared towards this exact style of game presentation however I want to have a fallback option in case for whatever reason I find that asset doesn't work in the end (at a minimum it will allow me to prototype a number of things quickly which is worth the price right there).If I find the asset above is not viable for everything I am going to want to do for the complete game, I don't mind having to some of the heavy lifting for the world management however there are 2 high level things that I do want any solution to provide:- manage the renderer of the blocks / tiles to the screen (I am fine managing the underlying "grid" of data the represents that world if needed)- manage the generation of the colliders dynamically (so when blocks are added / removed, the colliders are automatically updated)I think the rest of the things I would need to do I would be able to figure out is a reasonable time / am interested enough in them that researching them would not seem like too much of a chore (while I know developing a game as a solo developer I am going to have to do stuff that I don't necessarily find exciting / engaging but with this being a personal side project at the moment, I need to be able to limit that if I am going to finish this).Two options I can think of are:- Using a different tilemap solution: For example I have the Super Tilemap Editor asset that I used for a number of top down prototypes however most other tilemap assets seem to be geared towards top down (or at least that is what I see demo of for them), not sure if they would work for this kind of game.- Use Unity built-in tilemap solution as a base: Never used this so not sure how feasible it would be in using this as a based for my worlds in this kind of game.I would like to get people opinions of the above 2 options (maybe there is a different assets that I missed) or if people think I need a completely custom solution, I would like to hear the thoughts on why, thanks.
  20. So I've got this idea for a game, could someone review it? Wouldn't it be awesome if there could be RTS style battles, but everyone is a real person from a 1st or 3rd person perspective? That's my idea. There would be 3 base classes, warrior, mage and archer. But as you level up, ALL your classes get more powerful. It would be 50 vs 50 battles, with several modes(castle siege, field battle, etc...) it would be free with unlockable cosmetics. Any ideas?
  21. Hey there, first of all, I want to calm you... No, I am not trying to make nextgen MMO. I am just trying to make some simple game, using geolocation services. (and no, I dont believe i will be rich in one year, and will create another * GO title with millions of downloads). So, it's for a mobile, using Unity engine. Everything is good in a "singleplayer" mode, but now comes the real problem. How many/much networking I need to cover ? Will my choose for a NoSQL DB, choosing mongoDB to handle data (locations, stats, variables) for each ingame object individually, and for account data using for example MySQL, be enough ? If I will be running DB server at home? I am mainly confused about needing some kind of any other game server. Well, I will run app on my phone, get "world" from lets say openstreetmaps, getting all needed data from DB, spawning objects in this world covered by Unity (translating geolocation data to world, low poly objects - about 200m around GPS, maybe 60 objects at a time max), handling tasks on the app directly on the phone (crafting, killing, building), saving new data again to DB. As a beginner, I am thinking I got it all. And as a beginner, knowing it looks so easy now. If I want to add some kind of chat, or some king of real-time progression in game (like matchmaking duels and so) , or tasks be happened on server so less security risks, less hacking and so on, I got it, I will need some kind of game server. Will there be a big difference, deciding to make some server-client things on my game, If I choose to like in the middle of development ? (I am still at start). I am just so confused by the options on the web, like tenths of networking assets in unity, tenths networking services on web, all the possibilities. Its so many to learn, and I will get nowhere. So, will my covering, adding DB to my game, having DB servers home, work? Or I am so bad at logic with this, that I should just delete my gamedev directory, and never create it again ? Thanks for any helpfull informations, hopefully giving me some insight in this problematics.
  22. A 3D mobile (Andriod) game. Sci Fi setting. Puzzle-platformer. Please, somebody, make a some sort of expertise of visual aspect of the game. Just give me Your opinion. Thanks.))
  23. Hamdani

    We're Back with Prototype

    Hello everyone, almost three weeks we are gone and now we are back. We have a few problem here for past three weeks. For the last week we could not use our college laboratory because it used for other event. So, we decide to move to our rented house. But because we do not have a proper table and place to work we have problem with our productivity. Beside it, last week our artist Elbert was busy with his graduation. We decided to continue the development this week. Luckily, we already finished our prototype and we decide to playtest it to our friends in GUMM. It's a game community in our college. We asked them to play it and observe their playstyle, playtime and suggestion. From the playtest we found some bugs that need to be fixed from the player can not stick to the wall and the game tutorial. And Ade our programmer already fixed it when I write this blog. And our artists started drawing the enemy character and add more environment detail. You can tak a look at the prototype we used when did playtest two weeks ago. We add a bar that indicates where the player will hook and make the player motion slow when you hold your finger while the player in mid air. Thank you guys have a nice day.
  24. Hello, I'm currently searching for additional talented and passionate members for our team that's creating a small horror game. About the game: The game would be a sci-fi/post-apocalyptic survival horror 3D game with FPS (First person shooter) mechanics and an original setting and story based in a book (which I'm writing) scene, where a group of prisoners are left behind in an abandoned underground facility. It would play similar to Dead Space combined with Penumbra and SCP: Secret Laboratory, with the option of playing solo or multiplayer. Engine that'd be used to create the game: Unity About me: I'm a music composer with 4 years of experience and I'm fairly new in this game development world, and I'm currently leading the team that'd be creating this beautiful and horrifying game. I decided that making the book which I'm writing into a game would be really cool, and I got more motivated about doing so some time ago when I got a bunch of expensive Unity assets for a very low price. However, I researched about how to do things right in game development so I reduced the scope of it as much as I could so that's why this game is really based in a scene of the book and not the entire thing (and also that's why it would take 3 months). Also I'm currently learning how to use Unity and how to model things with Blender. Our team right now consists of: Me (Game Designer, Creator, Music Composer, Writer), 2 3D Modelers, 1 Sound Effect Designer, 1 Concept Artist and 1 Programmer. Who am I looking for: - A programmer that's experienced in C# and with Unity. - 3D Environment Artist experienced with the creation of high poly/realistic horror/underground/sci-fi environments. - A talented and experienced 3D animator. Right now the game is very early in its development (GDD is completed and all 3D Items, Music and Sound Effects are completed). If you are interested in joining, contributing or have questions about the project then let's talk. You can message me through here or in Discord: world_creator#9524
  • 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!