- Advertisement
Search the Community
Showing results for tags 'Education'.
Found 131
RTS design techniques?
Glenos posted a topic in Game Design and TheoryHi I have been googling for the last half an hour to find no result in what I'm looking for. Racing games have the technique called rubber banding. I just want to know what the same kinds of techniques are called for RTS games. I would give more examples but that's the only one I know of. I'm curious as RTS's are my favorite genre and plan on making them in the distant future. Thanks in advance
Education Where to learn how to set up and use game server for my game?
Fast Arrows posted a topic in Networking and MultiplayerSo im starting to build game for me and my friend to play but if it ends up good then i want it to be easily expandable. My question is ... Where do i learn how to set up a server? how to run code on my server? how do you open your server to the outside world. Not only your home/pc. I want to program my server in java because i'm fairly comfortable with java. I've decided i want a tcp server. Do i need separate server to handle log-ins, registers etc.? I've done a lot of googling and i still can't find any decent tutorials.
[Book] Cloth Simulation for Computer Graphics
Tuur posted a topic in NewsHi, I recently published a book focusing on cloth simulation for computer graphics. Details can be found here: and on Amazon: Abstract: I hope you find it interesting! Thanks, Tuur View full story
[Book] Cloth Simulation for Computer Graphics
Tuur posted a story in NewsHi, I recently published a book focusing on cloth simulation for computer graphics. Details can be found here: and on Amazon: Abstract: I hope you find it interesting! Thanks, Tuur
Introduction, looking for tips and advice.
Glenos posted a topic in For Beginners's ForumHi there I'm creating this topic as an introduction to who I am and why I have found my self here. I'm a mature student(26) from England. I have just started My second year at college. So far I have learned a lot about making 2D games from my previous year. This second year is going to be involving more 3D stuff and using engines such as unity and 3DS max. which at the moment I have about an hours experience with. However I'am thoroughly enjoying it, even though I'am only on day 2 of my second year.I just have a few questions that I hope some of you lovely people can help me with. I Love Love Love video games, always have always will. I'm so excited to actually start making some games. How ever career wise I'm unsure as what path I should follow, Artist,animator,programmer ect, they all appeal to me. I've always wanted to set up a business and never new what until about a year ago when I first started studying. So I hope that in the future I will be an indie dev.Think I have rambled on enough now. I will list my questions. 1. What is the best career path to follow? I mean what is the industry lacking? 2.whats the best engine to start off with? so far I have only used construct 2. 3.Is programming as difficult as it sounds? whats the best language to use? 4.How can I get ahead of my fellow students? 5. what is your favorite game and why? I have more but I'll leave it be for now.
Music Game Audio Lookout - A YouTube series on how music and sound in games work
william.equal posted a topic in Your Announcements. Playlist link to all episodes so far: Link to my channel:
FREE for Labor Day Weekend, Our 1st Kids App
mlamanna_music posted a topic in Your AnnouncementsFree until Tuesday, our 1st children's app for iOS, Abigail's Tales: First Day Butterflies.
:
Looking to interview any Game developer!
Shreyas fc posted a topic in GDNet LoungeDear GameDevs, I am plan on creating a video game. However, before I start creating the game, I would like to interview a game developer to understand a bit about the whole process of creating a game. The interview will be conducted via Skype video call or Skype Chat (I can also do discord) and will be very short (5-10 minutes). I want to interview any game developer (beginner or experienced). Regards, Shreyas Edit 1: Grammer
The Complete Guide to Free Commercial Use Music & SFX That Don't Suck!
Jordan Winslow posted an article in AudioSo you Incompet Unfortunately! Honorable Mention: Partners in Rhyme - on fade-ins, fade-outs and looping audio: How to make everything sound cohesive, as if everything was designed specifically for your project:
Education Worth it to go to School as a Composer?
Alec Weesner posted a topic in Games Career DevelopmentHello future and present game designers!. Thanks.
Online Tournament Timings? How is it done/Calculated?
JoAndRoPo posted a topic in Games Business and LawHi! How do you calculate tournament timings in online games? For example, if it's morning here (everyone is awake) and if it's night on the other side of the planet (everyone is asleep), then how do you let players all around the world play the tournament? Is it that players have to select their country before starting a game and accordingly the tournament is created for each nation depending on their time zone? Can you give me some examples of games using different methods, if any? I hope you understand what I'm trying to ask here? Even I'm not sure if I asked the right question? Thanks!
Reworking the Compound Clouds (Tutorial)
Lyfe posted a blog entry in The Development Of LyfeHello once again to this entry to our devblog. This one will show the basics how we reworked the compound clouds to look - let's be honest - a lot better than they did before. The last version consisted of one class CompoundCloud which was represented by a procedural mesh component. That one started out as a simple cube and then offset the positions of the vertices by a randomly chosen amount between two previously chosen values. That looked... functional at best. And interaction with the player was pretty much not practical and computationally expensive. So the next idea we came up with was to make a cloud of sphere meshes and just have the player collect every one of those. This resulted in a new hierarchy. At the top there's still the CompoundCloud but it now has an array of Compound_ParticleComponents for its representation. Each one of those has a sphere mesh to handle collision and a particle system to look pretty. A short demo of the new system can be found here. We should probably start with the particle system. Not many steps requiered here. 1. Create a new particle system 2. Click on "Required" and in the first section ("Emitter") set a material (will be shown later) and the Screen Alignment to "PSA Rectangle" (this might not make a difference to the standard but it's set to that for our system). Then scroll down and set a cutout testure in the section "Particle Cutout". We used our heart icon you might have seen in one of our update videos. (we also changed the background color to something light so you can actually see what is happening) 3. Click an Spawn. There's a little more to do here. First of all set the rate in the "Spawn" section to "Distribution Float Uniform". Same for the rate scale. Play around with the values a bit or just take what we got there. Next set the particle burst method to interplated. The burst scale distribution should be "Distribution Float Particle Parameter". Once again play around with the values until you have something you like. 4. Go into "Lifetime" and set Min to 2 and Max to 1.1 (Again, once you're done with this tutorial just play around with this values) 5. Go to "Initial Velocity" and reduce the Min and Max values. We recommend between 2 for all Max and -2 for all Min. This will keep your particles closer together and not have them shoot in one direction. 6. Next up add a seeded initial location and set its bounds to something you like. 7. And the final step is to add a seeded sphere. You should now have something roughly looking like this. The Material: (absolutly nothing special) Now for the interesing part: The code. This is perfectly doable in blueprints, too but since we're mostly working in C++ I'll show how we solved it in code. I'm also only gonna show the constructors of the CompoundCloud class and the Compound_ParticleComponent class since this tutorial mostly deals with the look of the clouds. If you're interested in how any other part works just let me know and maybe I'll make a short explanation for that in the future. The code then: uint8 particleCount = StaticMaths::RR(CLOUD_PARTICLE_MIN, CLOUD_PARTICLE_MAX); We get a random value for the number particle systems we want to use. In our case this is our own function that simply determines a number between two other numbers. std::string center = "CenterSystem"; UCompound_ParticleComponent_Cell* temp = CreateDefaultSubobject<UCompound_ParticleComponent_Cell>(FName(center.c_str())); particles.Add(temp); RootComponent = temp; Then we set up the center component. All the other systems will circle around this one. This also functions as the rootComponent for the actor. The UCompound_ParticleComponent_Cell is the second class and we will deal with it later. for (uint8 i = 0; i < 100; i++) { for (int j = 0; j < pow(i, 2); j++) { //define the name for the current particle system //ParticleSystem_<circleNum>_<Num>_<randomSeed> std::string name = "ParticleSystem_"; name.append({ static_cast<char>((i + 1)) }); name.append({ "_" }); name.append({ static_cast<char>(j + 1) }); name.append({ "_" }); name.append({ static_cast<char>(j + i) }); //create the particle system with the newly defined name UCompound_ParticleComponent_Cell* temp = CreateDefaultSubobject<UCompound_ParticleComponent_Cell>(name.c_str()); particles.Add(temp); temp->SetupAttachment(RootComponent); //set up random location within a circle double a = (((double)rand() / (RAND_MAX)) + 1) * 2 * PI; double r = (CLOUD_RADIUS_STEPS * (i + 1)) * sqrt(((double)rand() / (RAND_MAX)) + 1); double x = r * cos(a); double y = r * sin(a); FVector location = FVector(x, y, 0); temp->SetRelativeLocation(location); //finally: check if number of elements in array is particle count //if so, stop this loop if (particleCount - 1 == particles.Num()) { break; i = 100; j = pow(i, 2); } } if (particleCount - 1 == particles.Num()) { break; i = 100; } } This part is where the magic happens. Basically we want to have somewhat circular shapes around the center system. So the outer for-loop with i counts the circles. The 100 is a dummy value since there will never be that many circles and it would be a waste of resources to actually calculate the true number of circles. We only need to know the number of particleComponents which is our particleCount. The inner loop with j counts from 0 to i to the power of 2. So on every circle there are i*i particleComponents. Next up is a bit of naming. Not really relevant. Then we create another particleComponent and add it to the actor and the array. What comes next might be interesting for some: this formular basically determines a random position on a circle. So we take (i + 1) times our pre-defined cloud radius steps to get the radius of our current circle and we have all the data we need. Everything else can be determined from that and a random number. Whe then set that location for the particleComponent. At the end of the inner loop we check if we already have all the particles we need. If so set i and j to their max values so the loops stop. This is why we didn't need to calculate how many circles there will be when we start the loops. Don't worry, the particleComponent involves less maths. //instantiate mesh component and particle system component particleSystem = CreateDefaultSubobject<UParticleSystemComponent>(TEXT("ParticleSystem")); mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh")); particleSystem->SetupAttachment(this); mesh->SetupAttachment(this); //Collision binding mesh->bGenerateOverlapEvents = true; mesh->OnComponentBeginOverlap.AddDynamic(this, &UCompound_ParticleComponent_Cell::BeginOverlap); mesh->OnComponentEndOverlap.AddDynamic(this, &UCompound_ParticleComponent_Cell::EndOverlap); We create default subobject for the mesh and the particles system and then bind the collision functions. Easy as that. //get the mesh and set it auto meshAsset = ConstructorHelpers::FObjectFinder<UStaticMesh>(TEXT("StaticMesh'/Game/Meshes/ball.ball'")); if (meshAsset.Object != nullptr) { mesh->SetStaticMesh(meshAsset.Object); mesh->SetVisibility(false); mesh->RelativeScale3D = FVector(5.f); } else { Logging::Log("Could not find Asset 'ball' at path in Compound_ParticleComponent_Cell"); } Then we load the mesh and set it. We also scales up the sphere mesh since it turned out to be way too small and the player would miss it a lot of the time. (That Logging::Log there doesn't really concern you. It's a function we wrote that simple writes a message into a file and onto the screen. Helpful for debugging. I left it in there for this tutorial because I think you should always have something in your code tell you when something goes wrong.) //get the needed particle system and set it in the component try { //static ConstructorHelpers::FObjectFinder<UParticleSystem> psAsset(TEXT("ParticleSystem'/Game/ParticleSystems/PS_CompoundCloud_SingleCelled.PS_CompoundCloud_SingleCelled'")); auto psAsset = ConstructorHelpers::FObjectFinderOptional<UParticleSystem>(TEXT("ParticleSystem'/Game/ParticleSystems/PS_CompoundCloud.PS_CompoundCloud'")); if (psAsset.Succeeded()) { particleSystemType = psAsset.Get(); particleSystem->SetTemplate(particleSystemType); } else { Logging::Log("Could not find Asset 'PS_CompoundCloud_SingleCelled' at path in Compound_ParticleComponent_Cell"); } //particleSystem->Template = particleSystemType; } catch (int e) { Logging::Log("Could not find Asset 'PS_CompoundCloud_SingleCelled' at path in Compound_ParticleComponent_Cell\nCause: FObjectFinder Access Violation"); Logging::Log(e); } We had some trouble loading particleSystems this way so I left in both ways to do it and the try-catch block in case one of you might have a similar problem. So that's basically it. Bye and keep on evolving.
Game Industry Conference
Wojtek Mos posted a calendar event in Games Industry EventsuntilWith more than 3.200 attendees, over 500 visiting companies, 121 talks and plenty of B2B opportunities, Game Industry Conference is the biggest game dev event in Central and Eastern Europe. Set to run for three days plus the side events day, the conference brings together the industry experts, professionals and important figures, providing them with an environment where they can make connections, exchange knowledge and present their ideas. Game Industry Conference takes place alongside the Poznan Game Arena, one of the most important and largest game expos in Europe. Over 71.000 visitors enjoy the show by testing games and hardware from more than 130 expositors. The two events form a significant gateway into the Central and Eastern Europe video game industry as well as the best place to meet most of the people from the Polish game industry, which, with more than 400 studios and 5.000 people working in games development, is one of the most dynamic and fastest-growing industries in the region.
Game Developers of Georgia rev up for CIMFest 2018
Atlantica posted a story.
Game Developers of Georgia rev up for CIMFest 2018
Atlantica posted a topic. View full story
Unity Part 1: Unity ECS - briefly about ecs
Prastiwar posted a blog entry in Prastiwar's Game Dev BlogSome thoughts about ECS Part 1: Unity ECS - briefly about ecs Part 2: Unity ECS - project design Part 3: Unity ECS - operations on Entities Part 4: Unity ECS - ECS and Jobs The rule of thumb explanation How does ComponentSystem often look like: public class SomeSystem : ComponentSystem { private struct Group { public readonly int Length; public EntityArray Entities; public ComponentDataArray<SomeComponent> SomeComponents; } [Inject] private Group m_group; // Inject the group entities with given components protected override void OnUpdate() { float dt = Time.deltaTime; // Nice cached deltaTime, we're on main thread, so we can use Unity's API for (int i = 0; i < m_group.Length; i++) { // some operates on data } } // System was enabled (ComponentSystemBase.Enabled = true) protected override void OnStartRunning() { // probably some more caches for optimization, preparation for Updates } // System was disabled (ComponentSystemBase.Enabled = false) protected override void OnStopRunning() { // probably some clean up } } Let's take a look at this first: struct Group { public readonly int Length; public EntityArray Entities; public ComponentDataArray<Foo> Foos; public ComponentDataArray<Bar> Bars; } What is group? Group is filter of all Entities in active world that have Foo and Bar component It's like array of matching entities with references to all specific given components. So, group is like EntityArray but with references to components, EntityArray itself is just array of Entities (and entity is just an index). Group is constructed with a set of required components, subtractive components. It's also synced. Why do we have Length field? Isn't Foos.Length the same? Yes, you are rigth! They're the same. Length is length of EntityArray, so also Length of Foos and Bars, because each entity has Foo and Bar component It's more obvious in this case: for(int i; i < m_group.Length; i++) { // Using m_group.Foos.Length or m_group.Bar.Length would be a bit confusing in this case // because we iterate over all entities and can get access to ANY of their components } To summarize - every array in injected group would have same Length, because it's length of Entities and each entity has every given component. Separation of Length field is just for convenience. How to manage indexing? The injection magic. for(int i; i < m_group.Length; i++) // iterate over all entities from group { // It's safe to iterate like that, because every array in group has the same length // and indexing is also injected(synced) in that way to use it exactly like this: var actualEntity = m_group.Entities[i]; // Actual iterating Entity var actualFoo = m_group.Foos[i]; // Foo component "attached" to actualEntity var actualBar = m_group.Bards[i]; // Bar component "attached" to actualEntity } How do I manage lifetime of systems? Well, you don't really need to! Unity takes care about that. Systems track injected groups and will be disabled if there are no matching Entities and will be enabled if there appears one as well. But if you really want to, take a look upwards, see OnStartRunning and OnStopRunning ? I mentioned ComponentSystemBase.Enabled = true which is probably what are you looking for. It's property that allows you to active/disable system manually. Systems don't update in order I want Convenience attributes for rescue! Since all systems are updated on the main thread, you need to think about order of updates, there are some attributes to help you with it: [UpdateAfter(typeof(OtherSystem))], [UpdateBefore(typeof(OtherSystem))], [UpdateInGroup(typeof(UpdateGroup))] where UpdateGroup is empty class. You can even control update before/after Unity's phases by typeof(UnityEngine.Experimental.PlayerLoop.FixedUpdate) or other phases in same namespace. How can I get access to system I want? You can just inject it just like [Inject] private YourSystem yourSystem; easy as that. You can also use World.Active.GetExistingManager<YourSystem>() or if you're not sure if it exists but it should, use World.Active.GetOrCreateManager<YourSystem>() Why to use EntityArray in system? What can I do with this index? Since systems most often operates on components, not directly on entities, it raises question "Why do I even need this index". Saying "it's just and index" doesn't mean that is not usable at all. It's very important integer. If you haven't tried Unity's ECS implementation, you probably don't know where is it needed. It's needed among others for functionality from EntityManager that holds EntityData and controls adding/removing (and much more) components from a given entity. But actually you don't want to add/remove components via EntityManager. You'd rather do it after update to not break the group (you'll get error about accessing deallocated nativearray), so you want to use PostUpdateCommands (EntityCommandBuffer). More about that in one of futures part of article. World vs EntityManager EntityManager is not weird, magic class, it's ScriptBehaviourManager and "merges" entities and their components. In ECS we have a lot of managers. ComponentSystem is also ScriptBehaviourManager ! World holds all managers in one piece. We could colloquially say it manages the managers. I know what's your question - yes, we can create multiple worlds, sounds interesting, isn't it? Maybe we'll take a look at this in future. ComponentData and SharedComponentData. What's the difference? The difference is trivial, ComponentData is just a component, SharedComponentData is as it says, component shared between different Entities. Very good explanation you can read in docs: So, with same IComponentData (eg. Position) changes from Entity0 won't change Position from Entity1, ut with same SharedComponent (eg. Renderer) if you change material from Entity0, it'll change also material from Entity1. However you don't really want to change SharedComponents a lot, actually very rarely. More details THERE. Well, there is one more difference - ComponentData have to be blittable. Oryginally published at: Go further: Part 2: Unity ECS - project design Give me some feedback in comment section, don't worry I won't hate you if you show me some "anomaly" in my article. If you enjoy my article - like it and follow me. It'll motivate me to write more articles. See you.
Lets build cool things!
Armaan Gupta posted a topic in Hobby Project ClassifiedsHi there, My name is Armaan and our game studio my company started, The Creative Games, is looking for talented people to join. Art, development, code, audio, design... whatever you do, we would love to have you. As of now were working to get more people to really get a diverse set of inputs. Were not focused on a "type" of games, really just whatever we as a team want to make. If you want to be a part of a team working on building cool things, email me at armaangupta01@gmail.com or text me on my Discord (Guppy#7625). Can't wait to have you join!
Ask legendary game developers and producers anything
lameron posted a topic in Your AnnouncementsThe Big GameDev AMA Series Who and what would you ask if you had the chance to ask renowned game developers and producers? Write it in a reply. Now you can ask the man who introduced Tetris to the western world or. Check for details.:
Double Fine Quest
Timmmmmmmmmm.. T posted a blog entry in Ramblings & Experience Points.MY QUEST: I found out about Double Fine through your a podcast in 2012. Fast forward six years, I’m a student game developer giving it all I have for a job there. So, I checked their “Action Jobs” page to see what I could find. Under "We are always recruiting everybody, all the time" there is a short story about what happens when you get a job there. Also featured on this fabulous brochure. Last summer, I decided I wanted a job there, but they must have interns banging on their windows, so how could I stand out? I decided to make a game that would have several sections to demonstrate my ability and show that I would work hard. Last Fall, I learned Unity through my University. Every single project I made was either a part of my Double Fine game, or specifically designed so that I could reuse code for my Double Fine game. Around December I realized it would be awesome to go to GDC. The main reason being that I could speak to people from Double Fine and make an impression. It was too late to sign up as a GDC volunteer, passes were over $1k, but someone told me about the Unity Student Scholarship. I didn't have a proper portfolio, but I uploaded my work from my Unity class and any other Unity projects I had. Even without a portfolio, I tried to make it look good. I spent so long on the application process that I was late to a New Years Eve party. The new year came, and my game that would get me into Double Fine, codenamed "Project Sourdough," was not on schedule. It would never be completed on time, although parts of it were a complete mess. Since Sourdough didn't have time to rise properly, I needed to make a more concise experience very rapidly. I reused as much code as I could to make "Project Unleavened," a game that follows the story on Double Fine's “Action Jobs” page. Time passed. I really wanted to go to GDC. One night, I prayed that I would go, even though it was unlikely. I also prayed that if I didn't go, they would at least tell me soon, so I could stop thinking about it. The very next moment, I pulled out my phone to call someone, and an e-mail popped up on the lock screen from Unity folks. "Thank you for submitting... We received a lot of high quality applications ... Unfortunately, you were not chosen as a recipient ... But we were impressed with your application" and they gave me a limited access pass. I was completely in awe. SO I WAS GOING TO GDC! The next thing I needed was a way to give them the game. I designed a one-sided business card reminiscent of an atari cartridge, and had it printed onto two USB Business cards from VistaPrint. I had a lot of work to do on Unleavened. I put in some crazy hours in the weeks leading up to GDC, and had to either solve or work around countless issues. Unfortunately, due to a quirk in my dialogue system, I could only build for Windows at the time. Fortunately, I did get some help from my friends. I found out one of them is a QA guru. Another one could make great drawings, and it was amazing seeing him bring a piece of the game to life. But their time was limited by their own schoolwork, so I did all the coding and most of the art myself. That said, I can’t understate the importance of my friends and family during development. The final week of crunch on Monday, my phone died. It got hot, the battery drained quickly, and then it would not boot up. I've had it for years, so it was at end-of-life, but the week before flying across the country was a bad time to bite the dust. If nothing else, Verizon knows how to sell phones. I got my hands on a Pixel 2 before the week was out. Crisis averted, but it took the entire day to resolve that one. Tuesday, I referenced DF’s Jobs page. It had changed. I had been planning to apply for an internship, but there was a brand new note. “Alas, we are unable to offer internships pretty much ever, sorry!” That could be the end of the story. But it’s not. If I couldn't be an intern, I’d apply for a full position as a Gameplay Programmer. I programmed, built, tested, rinsed, repeated until it was error-free. After all that testing I copied those files onto the two business cards. I took a few hours off Sunday night before GDC to hang out with friends. Unfortunately, I needed more than two business cards for GDC, so I got back to work around eleven to design some normal ones. I lied down for a moment and fell asleep for three hours, woke up at 5 AM and then sent my design to the local Minuteman Press. The next morning, there was no next morning, I woke up at noon. I ran about a mile to the printer to get those business cards, and began to pack ASAP. (Disclaimer: That's not San Francisco ) I had a friend who was on-time to bring me to the airport, but I was too far behind packing, and missed the flight Monday. They rescheduled me for free since the next flights had open seats. I was stuck at the airport for hours, exhausted, but Tuesday afternoon I finally made it to San Francisco. Double Fine runs a booth called "Day of the Devs" which showcases a few selected indie games. I hung out there for hours trying to find one of them. I met plenty of good people, but I missed their main producer (Greg Rice) by literally a minute. Wednesday night was an awards ceremony, and the Tim Schafer got a big one. I waited twenty minutes after the show until the people from that company started walking out, and caught up to Greg Rice when he separated from the rest of them. "Mister Rice, can I talk to you for a minute?" "I'm really really late, I can't talk now." "Can you at least take this?" And I handed him one of the USB Business cards with my resume and the game on it. He ran away screaming. Well, not really, he just walked away quickly. THE HUNT CONTINUED, Thursday, I finally got lucky at Double Fine's booth. While scanning badges, I saw some tiny print. It said "Double Fine Productions." Whoah. I looked up, and saw he was wearing a shiny Double Fine pin. It was beautiful. I looked at his face, and he was talking to someone else. I awkwardly stood by until he was free, and then told him my story before relinquishing the second USB Business card. Package 2 delivered! Delivered to a Communications Manager, no less! Friday I walked out of a building and saw some people in Double Fine branded clothes ==> I orbited around in front of them, and introduced myself to two more DF people (programmers). They really liked the idea of my game, so I gave them my card and told then where to find it online. Saturday I applied to Double Fine thru their web site, the normal way, except that I included a link to the game. Monday, the Communications Manager sent me an e-mail that the game didn't work. I know exactly the issue and exactly why. I sent both the fix and a working version. Which brings us to today. Here is the game I made: Playtime is usually less than ten minutes. I did modify my dialogue system for web, so you can play it in your browser. Experience Points: (AKA fancier way to say TL;DR) I'd love to say that you can work hard for your dream job, but at this point I have no idea if I'll get the job. What if I don't get the job. I poured my life into a project for a [possibly] failed endeavor. I still gained: -A portfolio. -A trip to GDC -Lots of contacts from said trip -Some free time in San Francisco -TONS of Unity Experience -Practice writing. I love writing, but it's hard to sit down and do it. -Practice Art-ing. I love UI, but spritework is not my calling. -A chance to collab with some friends -A game that may or may not be fun, I'll let you guys decide -This crazy story. Honestly, the University feels mundane after all this... This list is getting crazy long.. But seriously, if your project fails, you'll probably learn more than if it succeeds. That said, don't ever strive for failure. Study Failure. Look at why things don't work, learn from other people's mistakes. Everyone learns from success, myself included. (I'm not the first person to try and get into a company by making a game...) Anyway, I'd love to get your feedback. If you can spare ten minutes, I'd love to hear what you think of my game. Also, if you have any tips for getting noticed by a game company / making yourself more employable, I'd love to hear those as well. Cheers!!
- Advertisement