Jump to content
  • Advertisement

Search the Community

Showing results for tags 'C#'.

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


More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

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

Categories

  • Audio
  • Visual Arts
  • Programming
  • Writing

Categories

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

  • GDNet+
  • 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 355 results

  1. 3D Artists And Unity Programmers For Doom Like Shooter Game:ROGUE Studio:Rebound Entertainment Current Team:3 Payment:Rev-Share Or Kickstarter Programming Requirements: - Must Know And Have Experience With Unity And Know C# - Must Be Able To Spend 5 To 12 hours a week on the project - Must Be Older Than 15 3D Artist Requirements: - Be Able To Model, Animate, Create 3D Monsters And Characters Or Rig (Must Have at least one of these) - Must Be Able To Spend 5 To 12 hours a week on the project - Must Be Older Than 15 Project Description: You are on the ESL (The Elementary Space Lab). You wake not knowing what has happened, you soon learn that a experimental AI Has gone rogue and created beasts and monsters to kill anything in its path. Now, you know what your mission is. If You Are Interested DM Me on discord at thathuman44#4207 or email me at oneriot3@gmail.com
  2. Hi - I'm a game designer, artist, and game content creator who's been working in the industry on/off for many years. My work has been primarily on PC and mobile puzzle and action games. (Here's an oooold article: https://www.gamasutra.com/view/feature/130053/breaking_down_breakout_system_and_.php) I've decided to develop one of my prototypes into a game. Closest description would be a mashup of Mario Brothers, Mount Your Friends and Cut the Rope. Single or local multiplayer. Unity 2D. When I began this project in my spare time a few years ago, it was a series of paper and visual prototypes and there were many unknowns. Since then I've been lucky enough to have pitched the design to a university game incubator in 2017 and have it accepted and developed as a capstone project through Fall/Spring semesters (won best-project award). This has reduced the unknowns dramatically. I've also refined and evolved the theme and art style. Thus my decision to proceed with developing the prototype into a game. I'm looking for a very experienced developer with numerous games and prototypes under their belt (bonus points for "2D physics-thing" prototypes and games). Ideally several years of Unity C# work. Ideally based in the U.S. since I'm on the east coast. This would be a variable amount of revenue share based on contribution (anything from: 4-16 hours per week for a ~12 month duration). I estimate project completion Sep-Dec 2019. I'll provide A TON of specifics for serious inquiries in the form of a brief screenshare walkthrough and short design pitchbook. Start would be in early September. ***Please message me on gamedev.net*** ***Please include the usual details required to determine qualifications/experience*** ***Please be over 18*** THANKS FOR READING!
  3. This Week Hello everyone! This week was an exciting one. Lots of things were fixed, improved and implemented. I found 2 experienced 3D artists who will be helping me along the way. I guess I can say I'm part of a team now It seems that I learn something new everyday just by talking to them, which is great! New Workflow To improve my productivity I decided to start making a TODO list with post-it notes stuck to my wardrobe doors. On one side there are things which need to be done, and on the other are things which I have alreadydone. It is really satisfying to move the notes from one side to another And it makes it easier for me to remember what things I've done each week, so I can write them in the blog. 3D Artists Recently I've found two 3D artists who agreed to work on the game. They've got some awesome ideas and in the coming weeks the game should start to look pretty great. Here's what one of the artists already started working on (construction yard vehicle): This will be a prop for the construction yard themed levels. There will be 4 themes total: airport, construction yard, prison yard, and parking lot. Each theme/scene will have props, ground textures and everything else related to that specific environment. This is how the each cell on the floor will look like. It will be animated, and the turrets will rise from beneath these doors: Currently one of the artist is working on ground textures, walls and environments in general, and another artist should soon begin working on turrets. New turret: Progress With The Game So as I mentioned before this week I've done lots of things which include: Implemented smooth (lerped) camera movement Implemented support for multiple enemy routes (with multiple entry and exit points) Added non-bomber air enemies Improved information displayed on UI (Upgrade menus, bottom panel) Limited deltaTime's maximum value Added fast forward button Added text telling what will be the next wave Multiple routes shown by the black/brown markings on the floor. Price is now shown at the bottom panel without the need to hover over the turret button. Text of the type of the turret is now highlighted: That is everything for today, see you next week!
  4. How do I do title in C#? Conceptually I am thinking when an event occurs in a game, it will trigger a bunch of things watching for said occurance. Example: in a card game, I have a unit that has "whenever you play a unit this gains +1/+1". SO when I play a unit, a method in this card will get called giving it +1/+1; When researching events however, i learned that you have to subscribe to the publisher of the event (correct me if I am wrong) but this defeats the purpose?? I don't know when or where the event will come from is the issue. is there an alternate way of doing this? Or is my understanding how events work incorrect?
  5. Project Overview: Rogue is a doom inspired FPS. An AI Called Solace On Board The ESSL (Elemental Space Station Lab) Becomes sentient and decides to create creatures to kill all people and break free, ultimately seeking revenge for the “experiments” they did to her. You wake up on board, and grab your gun and make it your mission to destroy Solace. We will make a kickstarter once we have a prototype and some concept art. If we get funded then awesome! If not then it’s good experience! GAME DETAILS Language/Game Engine: Unity C# Theme/Setting: Futuristic Genre: FPS Musical Direction: Electronic/Metal (Don’t want to copy doom though) Artistic Direction: Realisticish 3D ROLE DETAILS My Role: Game Designer, Writer And Project Lead/Manager Looking for: +1 Composer +2 Sound Effects +3 Programmer +3 Artist 3 Concept artist(s) , 1 2D artist(s), 3 3D artist(s), 3 Texture artist(s), 3 Animator(s), 3 Modeller(s) +1 Producer +1 Project Manager +2 Level Designer +1 Community Manager If Interested Contact me on discord at Thathuman44#4207 Or Email Me At rioishere14@gmail.com
  6. Jaap85

    Attribute balancing

    Hi everyone, I am creating a turn-based game about cycling, where players compete to reach the finish line first. All players have a different strength (which determines their dice roll) and several (12) attributes, which determine the bonuses to add to their dice roll. I have thought out the system and implemented it last week. Of course it does not feel completely balanced yet, so i tried to do some testing to balance it, however, i have never done this before and have no idea if i am doing it in an efficient way. I documented my efforts in a blog post (link). I would be very happy to hear your thoughts on them and any suggestions to improve this process (or better define the final goal it should have). Hopefully the Math forum is the right forum for this. Thanks in advance!
  7. Since my last update, i have implemented most of the attributes in Cycling - The board game. Quick recap: the game is about getting to the finish line first. Each turn, each player rolls a dice (D6) and moves the amount of squares. The odds of the dice are rigged based on the player's strength (higher strength = better odds). Next to the dice roll the player can gain bonuses to move additional squares. These bonuses are based on their attributes (which can range from 1 - 20). Now that i have implemented them, i have to check if they add fun to the game. Fun is of course hard to measure, but what i am aiming for mostly is balance between the different elements. For example, if one attribute is much more important than others, the others are irrelevant. To test them, i left my computer running for a night and simulate over 600 different races with different AI players (with every time different attributes and strength). I now had a lot of data points to analyse with. I decided to use a multiple regression analysis, where i analysed the impact of the strength and all the different attributes on the outcome of the race. This led to the following results: R-squared: 0.43 Coefficient of different attributes Strength -4,59 Climbing -3,60 SoloRiding -3,06 GroupTechnique -3,04 Flair -1,57 Sprinting -0,93 Restoration -0,84 Starting Position -0,73 Determination -0,51 Composure -0,36 Luck 0,12 Conclusions This stuff really makes me feel like a nerd, which is nice 😉 The R squared means that more than half of the results are not explained by this model The fact that all attributes are negative is correct (the higher the attribute, the lower your total final time) The attribute luck has a different sign, which basically means that a lower attribute is better (although the coefficient is very small, so technically it means that it is not relevant) Strength is more important than all the different attributes Climbing, solo riding and group technique are most important Composure and determination hardly matter at all I am somewhat happy with these outcomes, but find it difficult to determine my final goal here. I think it is not a good idea to have all attributes at (roughly) the same value, since then it won't matter which one you improve at all. On the other hand, an extremely large difference between attributes, means that your strategy should be to simply focus on the best attributes, which is also technically not really fun. For now, my next move will be to make the lowest three attributes somewhat more influential so that they matter more. When that is done, i am just going to continue playtesting manually and get a feeling for how the game is running. At that point i will also upload a new version, so i can (hopefully) get some feedback on the game itself. In the meantime, please feel free to try out the game yourself (link) or even better, let me know what your ideas would be to further balance the game. Thank you once again for reading!
  8. I am developing a progression system game in Unity3D and in a scene I have multiple GameObjects that have the UI button component. I am trying to find a way to store reference to all of these UI button components in one class and than access those buttons from other classes. I have thought about setting up a class with public Button variables and than adding this class as a component to GameObject however this does not feel optimum. Is there a way to create a reference to multiple UI buttons from once class and than access the referenced variables from other classes? Summary can be seen below - scene in unity 3D with multiple UI buttons - trying to find a way store UI buttons in one class - access UI buttons from other classes that have been instantiated in scene
  9. leduardocarvalho

    Showing you a game I made

    I recently made a game in a 48h Game Jam. It would be awesome if you could go there and play it and please leave a rating for us to see if your're enjoying! Thanks a lot!! https://itch.io/jam/game-jam-plus-/rate/285252
  10. Hi! My name is David. I am a 3D modeler with two years of experience in modelling and four to five in the game development industry. I have been in many teams before and have experience in things other than modelling. I will mention them below! My portfolio: https://www.artstation.com/ieida I will describe the game shortly and give you a document to read after messaging me. The project's name is My Piece(might change). The game is very short but sweet, designed for a team of up to 3 developers max. Basically, it is a visual novel that does crime solving in a unique way. The game will eventually break the fourth wall as well, like many other. I am aware. Looking for: Unity programmer (experience/will to program and polish game mechanics) and sound effects artist. Requirements: willing to work on someone else's project, calm, cooperative, self-motivating and dedicated. You should also be willing to spend at least 4 hours a day on our project. If there is enough work of course. Things I have experience in other than modeling: VFX(Unity's shuriken only), graphic design(UI and logos), basic coding(C#), game design, rigging and animation. I possess all of the skills mentioned above in Requirements, so all I want is for others to do the same so we can work well together! I will handle all of the art needed. I will spend at least 6 hours a day on the game, as well as be on all of the time to talk to the team. Length of project: as I said, it is designed with a small team in mind, so I would say it can be done in one to three months of hard work. Rev-share project! Contact: either message me on Discord Leida -#8727 or e-mail me gomnosano@gmail.com Hope to work with some of you soon! Have a nice day :).
  11. jb-dev

    A bomb

    From the album: Vaporwave Roguelite

    A bomb about to be blown. That dude is gonna have the time of his life 🙃
  12. Today I've worked on adding bombs to the game. They are really useful for dispersing enemies and such. The model was made a while back. It was just a mater of importing it in Unity and coding the script. Here's a nice video I've made just for that: There's nothing really special here, just polymorphism, Unity Components and C# delegates.... Collider[] cols = Physics.OverlapSphere(explosionCenter, m_explosionRadius, LayerMask.GetMask("Obstacles", "Entity", "Player Body", "Pickable"), QueryTriggerInteraction.Ignore); for (int i = 0, length = cols.Length; i < length; ++i) { GameObject collidedObject = cols[i].gameObject; HealthController healthController; Rigidbody rigidbody; AbstractExplosionActionable explosionActionable; if(collidedObject.layer == LayerMask.NameToLayer("Entity") || collidedObject.CompareTag("Player")){ healthController = collidedObject.GetComponent<HealthController>(); healthController.RawHurt(m_explosionDamage, transform); } else if(collidedObject.layer == LayerMask.NameToLayer("Pickable")) { rigidbody = collidedObject.GetComponent<Rigidbody>(); if (rigidbody != null && !rigidbody.isKinematic) { rigidbody.AddExplosionForce(m_explosionDamage, transform.position, m_explosionRadius); } } else if (collidedObject.layer == LayerMask.NameToLayer("Obstacles")) { explosionActionable = collidedObject.GetComponent<AbstractExplosionActionable>(); if (explosionActionable != null) { explosionActionable.action.Invoke(m_explosionDamage, m_explosionRadius, explosionCenter); } } }
  13. I've got a bunch of balls all spawning in a timed interval and I am setting the velocity of them when they spawn so that they will spawn and immediately start going in the direction I want. However, they don't do that. Instead they spawn in place and gravity makes them begin to fall straight down. if they hit something, then they take off like just like they should have spawned. I'm not sure why they have to hit something for this to happen. Any ideas? The code below is the ball spawning code. The mainballVector is set in a different section and I have verified it does have the correct values. Instantiate(newBall, new Vector3(paddle.transform.position.x, (paddle.transform.position.y + 1), 0), Quaternion.identity); newBall.GetComponent<Ball>().hasStarted = true; GameManager.pickUpManager.allBalls.Add(newBall.GetComponent<Ball>()); newBall.GetComponent<Rigidbody2D>().velocity = mainBallVector; //use the original ball's vector3 to follow it directly
  14. 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. 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
  15. My name is Gael and I'm a game designer and a writer. Designing, writing and making videogames are my passions, but at the moment, this is only a hobby. Nevertheless, I intend to turn it into a career. This is why I am currently looking for some people to join forces and make a team of game developers. Even though I'm not a 3D artist, I can help with some 3D models like little objects or the environment. But my main role is designing and writing the game. The intention is to create a JRPG similar to the Final Fantasy series, Lost Sphear, Children of Mana, etc. This game is already designed and the story is completed. Nevertheless, there is always room for improvement and your contributions will be more than welcome! POSITIONS: - CONCEPT ARTIST - This person will create and design characters, environments and other concepts used within the game. So, he or she will be responsible for generating a portfolio of images to clarify the artistic vision. Manga / Anime is the preferred style of the artist, but other styles are also welcome! - 3D ARTIST - This person will create 3D models like the game characters, monsters, objects, etc. - ANIMATOR - This person will animate the models created by the 3D artist, to create in game animations as well as cut scenes. - C# PROGRAMMER- This person has to have experience with Unity 3D and C#, as this is going to be the main engine to create the game. For the moment, this is going to be unpaid work for all of us. But with time, the aim is to monetize this game and create a full indie video game studio. You will receive revenue when it starts making benefits. As this is a large and unpaid project, it can become tedious and frustrating working on it. However, it will be worth it, at least for the experience and fun we can all get by making it! Looking forward to meet you! Gael. - UPDATE - You can find some details of the project here:
  16. I have created a GameObject array that contains 2 GameObjects with the same tag. I am trying to get each index value and use the index value for an OnClick event on each of the 2 GameObjects with the tag. The 2 GameObjects that have the same tag have a button component. I am trying to access the array index for each of the 2 GameObjects and use them for an OnClick method that recognises the appropriate index through conditional statements. The method "public void red_buttons_mthd ()" is attached to each OnClick for the button component of the 2 GameObjects . - GameObject array using FindGameObjectsWithTag. - Access each array index - Separate indexes using if statements - Access function from OnClick of each button component I get the error seen in the quote below. I have searched the internet and seen numerous forums on the issue of accessing index values and using them in conditional statements, however I can't seem to find a conclusive answer. If you need any more information do please let me know. public void red_buttons_mthd () { GameObject [] red_buttons_go = GameObject.FindGameObjectsWithTag ("red buttons"); for (int i = 0; i < red_buttons_go.Length; i++) if (red_buttons_go[0] == true ){ Debug.Log ("red button 1 pressedd"); } else if (red_buttons_go[1] == true [1]) { Debug.Log ("red button 2 pressed"); } } This is being developed in the unity game engine.
  17. Hello, i know this is the most random thing, but i need help, i am trying to make an idle game myself and publish it, but i am learning code by myself, and i am really lost, i got stuck with a null reference exception error when i was refering to variables and functions from another script and i have been stuck for hours the references work in start and update methods but not in the method i am trying to make for my buy button, i tried alot and alot, i think i spent over 7 hours trying to figure it out and whenever i asked anyone on any forrum who could help they refused and one said and i quote '' this is the simplest error you may as well leave game development'' and i really dont want to i am working against my circumstances and studying against what my parents want me to study( i am 17) i thought maybe you could relate and help, if you can help me please message me and ill send the code so you can maybe take a look at it, thank you.
  18. Hi, I have a big amount of animations and a big amount of characters, and I have to retarget those animations to the characters. Is there any free library which allows easy retargeting between models? What I'd need is this: * Supply a source FBX (or similar) with several animations, * Supply a destination FBX with a model and a skeleton * Supply a mapping between both skeletons for retargeting * Get as output another FBX with the animations of the first file "retargeted" to the second model This is usually automatically supplied by game engines (unreal, unity, ...) but I'm having a hard time trying to find a library that provides it (actually I've had a hard time to even find acceptable documentation to implement it) C# would be ideal (though unlikely), but any language would do Thanks!
  19. After really thinking about it, the method I've used to play MP3 wasn't the most flexible, so after re-working it out, I've decided to stream the music directly in a Unity AudioClip. This way, the audio goes through an audio mixer form which I can easily apply filter to... I was also able to cross-fade between two music track. I've also put the sound loading onto another thread, making the audio loading run in the background rather than clogging up the main thread. Also, it's easier to use the 【 VaporMaker】with the Unity Audio system... I can even add more wacky filters over it to make those songs more VAPORWAVE than ever.
  20. Hello. I am currently trying to program an enemy's movement across a platform. When it reaches the end of the platform, it supposed to turn around and walk to the other side of the platform. But when I test the game, the enemy only turns around the first time. When it starts walking and approaches the right side, it switches and starts moving to the left, but when it approaches the left side it just walks off. Here's my code: public float speed; public bool movingLeft; public bool grounded = false; public Transform groundedEnd; Rigidbody2D enemyBody; // Use this for initialization void Start () { enemyBody = GetComponent<Rigidbody2D>(); } // Update is called once per frame void Update () { Raycasting (); flipEnemy (); enemyMovement (); } //check if enemy is grounded void Raycasting(){ Debug.DrawLine (this.transform.position, groundedEnd.position, Color.green); grounded = Physics2D.Linecast (this.transform.position, groundedEnd.position, 1 << LayerMask.NameToLayer("Ground")); } //flip enemy before falling off the edge void flipEnemy(){ if(!grounded && movingLeft){ Vector2 localScale = gameObject.transform.localScale; localScale.x *= -1; transform.localScale = localScale; movingLeft = false; } if(!grounded && !movingLeft){ Vector2 localScale = gameObject.transform.localScale; localScale.x *= -1; transform.localScale = localScale; movingLeft = true; } } //what direction the enemy is facing/walking void enemyMovement(){ if (movingLeft) { enemyBody.velocity = new Vector2 (-speed, enemyBody.velocity.y); } if (!movingLeft) { enemyBody.velocity = new Vector2 (speed, enemyBody.velocity.y); } } }
  21. OpenMouthGaming

    where to start pls help

    so im going to be completely honest I have autism and adhd so my concentration and attention span is crap but in one month I have an interview for a game development school I need to be able to learn any or all of the programming languages in the tags in under a month at least just the basics so im able to make simple programs for a portfolio preferably the stuff will be free and interactive so not just videos and text thx
  22. Hello, Since March, I've been working with 3 other people to develop a Match-3 game with unique and new components to it. We're currently scheduling our release for sometime between October 20th-November 20th. We need assistance with programming, and they would be working with another programmer who has written most of the core game and social media integrations. We would be matching our standard rate that the rest of the team is receiving, and giving the added experience of progressing through the rest of the development cycle, so we offer a pretty good learning experience if this is your first game that is geared toward polish and release at high standards. Here's what we have and offer: Our legal ducks in a row: we have contracts, we have a real LLC, we have a bank account and federal Tax ID We have our website up and running, with a press kit, as well as a facebook page for marketing We have a marketing guide, with names, numbers and emails of Apple, Google Play, Amazon Appstore, Tech journalists, and traditional newsmedia Most of the core programming complete for upscaling Fantastic custom art by a dedicated artist Fantastic custom music by a professional composer Unique mechanics and style for the genre Unique local marketing opportunities that offer a built-in player base that coincide directly with our game Your voice and opinion will matter both for this game and any future designed project, including possible future opportunities after release Here's what we need: A programmer with a knowledge of C# and/or the Unity Game Engine Someone with an Entrepreneurial spirit who's willing to adapt or change when the situation needs it Someone who can have strong opinions, but also can compromise and puts the game and needs of the team first If interested please email me at Sam.Azzarano@EmmersionStudios.com so that we can talk about this exciting opportunity. Thank you for reading.
  23. Hello, I am using unity and I am confused on one part It's like I have three buttons out of which one has to be selected. If I have selected one of the three buttons during runtime and then I want to select the other button. How would Unity know that only one button has to be selected out of the three and unity has to disable the older selected button now? There must be some function to make unity know that it has to deselect the older option and select the newer one? I have attached a screen shot along with this. Thanks
  24. I've started to work on this lib for our current project. But, maybe gamedev community will be interested in it. Assume, you want to get your game version name and code. Yes, you will write something like this using AndroidJavaClass and AndroidJavaObject: public static int GetVersionCode() { AndroidJavaClass contextCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject context = contextCls.GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaObject packageMngr = context.Call<AndroidJavaObject>("getPackageManager"); string packageName = context.Call<string>("getPackageName"); AndroidJavaObject packageInfo = packageMngr.Call<AndroidJavaObject>("getPackageInfo", packageName, 0); return packageInfo.Get<int>("versionCode"); } public static string GetVersionName() { AndroidJavaClass contextCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject context = contextCls.GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaObject packageMngr = context.Call<AndroidJavaObject>("getPackageManager"); string packageName = context.Call<string>("getPackageName"); AndroidJavaObject packageInfo = packageMngr.Call<AndroidJavaObject>("getPackageInfo", packageName, 0); return packageInfo.Get<string>("versionName"); } With this lib you can do same thing like this: var activity = Internal.GetCurrentActivity(); var pm = activity.GetPackageManager(); var pi = pm.GetPackageInfo(activity.GetPackageName(), 0); int code = pi.VersionCode; string name = pi.VersionName; There are not much you can do with this lib right now. But I'm going add new classes/methods from time to time. I appreciate any feedback. Also, would be great if you star this repo
  25. Vaporwave is synonymous with music. It is primordial that music must be spot on... But with recent takedowns of Vaporwave classics, let's just say that I'm less eager to have sampled Vaporwave included: I don't want that to spoil an otherwise perfectly good game. So I'm probably gonna ship the game with sample-free Vaporwave, made by yours truly. However, that's not the end of it. I'm going to let the user play their own Vaporwave if they like. That way I can secure myself from any takedown possible. I'm also going a step further and created the 【 VaporMaker】 Unity and audio As you're probably aware, Unity can play audio assets that are imported into the UnityEditor. This approach only works with packaged audio, however. This means that we need another way to play external files. There's a utility class that can be used to play any sound file from anywhere: WWW . This class is used to do simple HTTP requests and catch its results. If we use the "file://" protocol, we can actually load a file from the player's local machine. And what's more, is that there's a nice method for getting audio clips: WWW.GetAudioClip Cool, let's use that. WAIT, WHAT!?! MP3 ARE ONLY SUPPORTED ON PHONES!?!? That's no good... The workaround So, you're telling me that mp3, the most universally available file format, is not compatible with Unity's audio system? Yes. It appears so... Due to licences issues, Unity cannot be shipped with an MP3 decoder. Which is really weird, but we can't really do anything about it. Thankfully, Unity has C# and .NET, which are one of the most used tools nowadays. I'm pretty sure that there exists a way to fix this. Enter NAudio. NAudio NAudio is a .NET library that can load and play most audio files. This is really useful because we can then use that library rather than Unity's Audio system. NAudio is compatible with Unity, which is a big plus for us. Of course, we'll need to do a bit of fix around, but it's nothing really hard. NAudio is just a .dll. It's just a matter of dropping it in our Asset repository and voilà: you can now use NAudio in our scripts. Here's the little blog post I've followed if you're interested. Reading metadata Listening to mp3 is fun and all, but I also want the player to know which song is playing. Things like song title, artist, album title and even, if I can, the album cover... Most of the time, these pieces of information already exists within the .mp3 file itself as metadata. This is how, for example, most media players are able to display the album cover of a song. Similarly, this is also how some applications are able to group songs of the same album together. Depending on the used metadata convention, they are either at the very beginning of the file or at the end and can take many forms. We won't need to open a byte stream and manually seek these metadata ourselves. There's already plenty of libraries that are able to do that for us. Funny enough, the solution I've chosen came from the Linux world. Let me introduce you to Banshee. Banshee is an open source media player not unlike iTunes. It can manage one's music collection and play them. This program is written in C#, which coincidently is the same language as our favourite engine... The library responsible for reading such metadata in Banshee is called TagLib#. With a little bit of tinkering, we can include TagLib# in our Asset repository, making good use of it. After creating a UI element containing the metadata, here's the result: (The blurriness is part of the art style, trust me) The 【 VaporMaker】 Now we have both the data and the playback. But I'm not satisfied. Managing the music As you may (or may not know), Vaporwave is basically slowed downed music. Some artist chooses to keep the editing at a minimum, while some add a lot of butter on top, but it all boils down to slowed downed music. The idea I have is to let the player create their own Vaporwave to be used in the game by putting some mp3 file in a special folder. These files will be played at a slower speed than usual, thus creating some rudimentary Vaporwave. Although the idea is simple, NAudio itself doesn't come with such functions... However, they DO have a post on the subject. Basically, we'll add SoundTouch, an open source sound manipulation library. Although written in C++, we can still call its native function with the wrapper given by the post. One drawback is that we'll need to supply native .dll libraries for all platforms if it's doable. A few extra resources (Like a mac and Linux installations) are needed for this if you want multi-platform support, but nothing really hard. (If all fails, you can just copy/paste the source code and fix things here and there) So by following along the source code, we can add the required files in our Asset repository. Easy as pie. Once everything is set up, we'll just need to plug that VarispeedSampleProvider class into our mWaveOutDevice instead of the mVolumeStream like so (if you follow along that blog post I've referenced earlier) private void LoadAudioFromData(byte[] data, bool isVaporMaker) { MemoryStream tmpStr = new MemoryStream(data); mMainOutputStream = new Mp3FileReader(tmpStr); mWaveOutDevice = new WaveOut(); if (!isVaporMaker){ mVolumeStream = new WaveChannel32(mMainOutputStream); mWaveOutDevice.Init(mVolumeStream); } else { mSpeedControl = new VarispeedSampleProvider(WaveExtensionMethods.ToSampleProvider(mMainOutputStream), 100, new SoundTouchProfile(false, false)); mSpeedControl.PlaybackRate = 0.75f; mWaveOutDevice.Init(mSpeedControl); } } When we'll play the song, it'll play at any speed we specified by the PlaybackRate property of the VarispeedSampleProvider instance we constructed. Managing the art I've could have stopped there, but I STILL wasn't satisfied. I wanted to make a clear distinction between normal custom music and any piece that went through the 【 VaporMaker】. To do so, I've decided to change the album cover for something more vaporwave. When I fetch the album cover for vaporized songs, I actually map each pixel by their lightness to a gradient of two colours. I've also made those colours members of the MonoBehaviour so that they are available in the UnityEditor. TagLib.File file = TagLib.File.Create(filepath); TagLib.IPicture pic = file.Tag.Pictures[0]; Texture2D text = new Texture2D(2, 2); text.LoadImage(pic.Data.Data); for (int x = 0; x < text.width; ++x) { for (int y = 0; y < text.height; ++y) { float h,s,l; ColorExt.RGBToHSL(text.GetPixel(x,y), out h, out s, out l ); text.SetPixel(x, y, Color.Lerp(m_vaporMakerDarkCoverColor, m_vaporMakerLightCoverColor, l)); } } text.Apply(); Afterwards, when the UI displays the album cover of the vaporized song, it will use the funky artwork rather than the original one, Here, take a look: With all of this, I'm sure that this feature will be popular, If not only for the ability to play our custom music.
  • 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!