Jump to content
  • Advertisement
The search index is currently processing. Activity stream results may not be complete.

All Activity

This stream auto-updates     

  1. Past hour
  2. Alberth

    Python + Pygame Threading Sample

    Multi-threading is hardly ever simple. Maybe you use the wrong way of storage? If you use horizontal rows for display, erasing is as simple as removing one of the rows, and moving the remainder down. That is, just because the game looks vertically oriented doesn't mean you have to implement it that way. There are often other options that create the same effect but are easier to work with in an implementation.
  3. bzt

    Optimized SLERP

    UPDATE: It looks like I've found it. The single header implementation of _mm_sin_ps in the cephes library has zlib license, uses SSE intrinsics only, and it seems that it's using the same polynomial as k_sin (I know, it is pervert that the link is a Java library source on the Apple's website, but that was the first result in the search engine for Solaris kernel :-)) Now I only need _mm_acos_ps. Cheers, bzt
  4. RickBaker

    Bare bones AAA team

    What if you are already using a pipeline for CGI assets in Houdini and those will be the main art assets with anything extra need being shot in the studio? If you already have the offices and motion capture and sound stages? This is hilarious!! Triple me team, time to get the robots out.
  5. gametable

    Tic Tac Toe

    Tabletop Tic Tac Toe is gametable.org's first game. Our Tic Tac Toe game can be played with a friend or against one of four computer difficulties. The players, X and O, take turns marking spaces on a 3x3 grid. The first player to get three in a row wins! Gameplay is simple and nostalgic. While not a technically challenging game to develop, we're still proud to call this our first game.
  6. Today
  7. bzt

    Optimized SLERP

    Ok, I'll have to turn JS off, because this editor drives me nuts. I can't properly place my comment into quotes where I want them. "Nice work!" Thank you very much! It could have typing errors, I was burning the candle on both ends pretty badly 🙂 "C++ really isn't slow" Yes it is. Trust me, allocating objects on every slerp call is bad (this is OOP related-issue, not C++ specific). Also I can see the Assembly output, which is full of indirect register based memory accesses, or with virtuals even worse, register based branches like "call *%rax". Not significant either of them alone, but it builds up. But that's nothing compared to the lazy use of classes and objects. It takes a very skilled programmer with many years of practice to create effective code in C++, speaking from experience. An average programmer's code tends to eat up all available memory pretty quickly, and it's copying memory from here to there over and over again, just because the class' creator or the library's user was unsure of a buffer's ownership. "Instead of optimizing trigonometric functions, you could use polynomials" Yes, that was my thought too. I'm really big fan of the k_sin() implementation of the Sun Solaris kernel, seems like to be particularly good candidate to be vectorized, and it's accurate enough. I'm waiting for library suggestions. If I could find any proper OpenSource SSE implementation of acos/sin, I'd like to use that (it has been almost 30 years since that kernel was written, surely somebody tried to implement it using SSE, I just haven't found it yet). I definitely don't want to reinvent the wheel here 🙂 "This is a first-order correction to LERP." Thank you very much, but this has different characteristics than SLERP. To properly approximate SLERP with NLERP, I'd suggest to take a look at zeux.io's article (linked from my repo's README) it is the best I've seen. "Do you have an animation blending setup where you can just drop this and see if it looks OK?" Unfortunately not yet. I'm just printing out bunch of numbers with printf, that's one reason why I've asked if someone can spot a mistake let me know. With a visualizer I could see it at once 🙂 Cheers, bzt
  8. TheAGamer39

    A Dev Team Needed

    This is a unity project (unity is the engine I'm using) so the programming language is C# I have currently got the character movement and animations working and I'm implementing coin and gem collection and I'm also working on a start screen. If you want to know any other info please reply to this comment.
  9. Cubic321

    Panda Jumper

    Added some enemies ghosts. Actually did a lot of things else, but it is still difficult to show.
  10. alvaro

    Optimized SLERP

    void slerp(float *qa, float *qb, float t, float *ret) { float d = qa[0] * qb[0] + qa[1] * qb[1] + qa[2] * qb[2] + qa[3] * qb[3]; float x = 0.8059f * (1.0f - d); float x2 = x * t * (1.0f - t); float a = 1.0f - t + x2; float b = t + x2; if (d < 0.0) b = -b; ret[0] = qa[0] * a + qb[0] * b; ret[1] = qa[1] * a + qb[1] * b; ret[2] = qa[2] * a + qb[2] * b; ret[3] = qa[3] * a + qb[3] * b; } This is a first-order correction to LERP. I intend to write code that is more precise than this, but I wonder if this is good enough for use in video games directly. Do you have an animation blending setup where you can just drop this and see if it looks OK?
  11. Hi, I'm not sure if this is the right forum for this, or it should go to General Programming. Please feel free to move it. I'd like to read skeleton from a model, using Assimp. As it turned out, interpreting Assimp structures is just as complicated as parsing many different formats at once. Judging by huge number of assimp-bone related questions on forums (some of them here too) I'm not alone with this problem. I've searched a lot, and I could find many answers to my questions, however the pieces are still not fitting together entirely. To explain what my problem is, I'll try to summarize what I've gathered so far, and please correct me if I'm wrong somewhere. The main problem is, both bone structure and mesh structure is stored in the same node structure, however it would be false to assume they are correlated. Meaning you have to traverse the same node-tree two times, completely independently, to get the correct results: one time for the meshes, and one time for the bones. Is this true? The best instructions I could find so far is here under section "Bones", but it is just a pseudo-description of a rather ridiculous algorithm (I'm sorry, but I really think that). Some important answers I've found here. Most assimp tutorials (like here and here) I've found seems to miss key parts of the whole procedure. They usually simply iterate through aiScene->mMeshes or walking the node tree collecting mMeshes in a vector, but from what I've learned so far, this is wrong (or more precisely only works in an exceptional case when only the root node has meshes). To explain what I mean: - model space: this is what we use to display our model - mesh node space: all mMeshes in a node contains vertices in this space (is this correct? or are they stored in model space in the first place?) - bone node space: similar to mesh node space, however totally unrelated to the node space that contains the mesh So, to correctly load all vertices into model space, we have walk through the node tree, concatenating the node's transformation matrix along the path and apply it to the vertices. Otherwise if there's only one node with meshes, and it's the root node, then, and only then model space == mesh node space. Is this correct? Bone nodes' transformation matrices are not model space related, rather skeleton hierarchy related, and they also have an offset matrix which transforms from mesh node space into this bone's node space. This is clear (at least something is :-)) Traversing the node tree for bones and concatenating their transformation matrices along the path will result in a matrix that converts from bone node space into model space. If there's only one node with meshes and that's the root node, then, and only then this concatenated matrix is the inverse of the offset matrix. This seems reasonable if I understood everything correctly. If we later want to use an animation, then we have to 1. get the list of bones which changed on that particular frame 2. collect all vertices that are affected by that bone (mMeshes[]->aiBone) 3. collect all of the bones that control those vertices and all of those bone's children (in a unique list, as we have to recalculate all vertices belonging to those bones) 4. using the corresponding offset matrices, convert those vertices from their "bind-pose" skeleton mesh node space into one or more bone node spaces ( V -> V'[1..numWeights]) 5. use the transformation required by the animation frame on all vertices that belong to the modified bone using their corresponding bone node space versions (V'[x]), or do we multiply the frame transformation matrix temporarily with the bone's transformation matrix? (In other words, should we transform the vertices in the bone space or their coordinate system in model space?) 6. get a weighted average of each vertex in their corresponding bone node space (w[1..numWeights] * V'[1..numWeights] -> Vm), then transform the result into model space (or should we / would it be better to convert the points into model space first and calculate the weighted average there? (Let's assume we have a frame for the sake of simplicity, I know how to iterate skeletons.) A little note on 5th question: although it seems to be irrelevant whether we transform the points or their coordinate system, because we'll get the same result (in model space), however this affects the points of the children bone spaces differently. I guess we must not convert the bone node spaces into model spaces, rather keep them parent bone node space relative, and only convert the final points back to model space. Am I correct? Thanks, bzt
  12. Say there's a new feature, e.g. "rework main menu". That's gonna need some code changes, and some art changes. When they merge this feature in, they're going to want to have the new version of the code and the new version of the menu art going in at the same time, or it won't work. So the coders and artists will be adding their new work to the version control system so that the correct version gets used. There are a bunch of other aspects to version control, such as being able to see when things changed and why, letting QA test the state of the game as it was at a certain point, letting people ship different versions of the game (e.g. a stable build for demos and an unstable build for developers) and allowing people to revert changes that they no longer want (rather than having to keep a bunch of local files under different names like Blah_Revised_Final_ReallyFinal_v2). Almost every developer uses version control now, so some familiarity is typically expected of employees. (If you're an external contractor... you might still get away with just firing off a bunch of assets in a zip file. It happens.)
  13. alvaro

    Optimized SLERP

    No, it's not that. Intel has some library that pretends that those instructions exist and uses whatever approximations they came up with. I think you understood the situation already, and I just didn't read your text carefully enough. Sorry about that.
  14. Hey, looking to join a team on a serious game project. I'm a programmer with a lot of unity experience. Most of my work with unity platform has been in 2D games, but I've dabbled with 3D games and my experience is that the code is essentially the same. I have demonstrable experience with Procedural Content Generation and Complex behavior based AI Algorythms. I can offer additional skills, I am creatively minded former D&D dungeon master and can churn out content with the best of them. I can construct stories, write for scenes, generate fluff content, write/edit in english. I make digital music as a hobby with virtual instruments and sound production software. My experience with producing sound is pretty extensive, but pales compared to my experience programming software. I am mainly interested to join projects that have already started. I would like to join a bigger team but would also be interested in partnering up with another programmer. hit me up on discord firesickle#2388
  15. Interesting, thanks. Version Control isn't something I had considered or am familiar with. How does it influence the art assets for a game? I wouldn't turn down an in-house position at a studio (Ubisoft have an office near to where I live for instance), but there aren't masses of them advertised near me. Might put together a portfolio and start knocking on the doors of what few studios are around, can't hurt. Any other suggestions? One other area might be concept art, I'd need to brush up a bit on my digital painting!
  16. MarkK.

    Doom Game Challenge : þoom

    A bit of a fail this time, but on the side started a new framework, built a collada importer that makes me happy, (no more assimp bloat) I've had my fill of software rendering...I miss triangles Things I discovered: http://galogen.gpfault.net/galogen-web.html (glew killer) My new favorite approach to opengl function loading. No muss, no fuss. Include the header, add the implementation. Done. No build the library, no initialization call. API version targeting on generation. https://github.com/jkuhlmann/gainput I currently like this because of it's action mapping type approach. (still evaluating)
  17. Zakwayda

    OBB-OBB detected 'intersected' but It's not

    There are different ways to perform the per-axis test once you've computed the axis. For boxes, for example (both oriented and axis-aligned) there are shortcuts for computing the projection of the box onto an axis that don't require processing each vertex individually. You can compute the full projections and test those for intersection, or in some cases you can compute the projected radii and test the sum of the radii against the projected distance between the object centers. In the code you posted, perhaps the most straightforward (although perhaps not most efficient) way to test against arbitrary axes might be to compute the projection of each shape by projecting all vertices of each shape onto the axis, and then testing the projections for intersection.
  18. It is certainly possible to work remotely, but most studios prefer their full-time employees in-house. It's not at all impossible to get hired as a remote worker, but you reduce your chances. Regarding pitching to indie teams, you have to be realistic about expectations. The hobbyists at one extreme have no cash. The larger indies at the other end of the scale have in-house employees. In the middle are some companies that are in the precarious position of being able to pay for art but not having someone available full-time. You might be able to get some work from them, while understanding that their budget is limited. But there isn't a money tree of developers struggling to find artists - more the other way around. Version control tools are things like Git, Subversion, Perforce, etc. They manage different versions of assets alongside versions of the code running the game.
  19. RoKabium Games

    Something Ate My Alien

    Steam Store: https://store.steampowered.com/app/1047870 You are the AI of a very skilled mining ship called Antalasia, currently cruising the remote solar system Bitiax looking for mining opportunities. While peacefully scanning for elements on the nearest planet Metis, Antalasias systems are suddenly taken offline and the ship turns dark for a second before being booted up again with all computer screens flashing “Intrusion detected”. Under control of a pirate ship, you must send down your faithful aliens to the planets below and battle to find the loot that the pirate is demanding! More In-depth: A 2D digging, adventure puzzle game with some retro feel reminding us of the amazing first digger games such as BoulderDash that we knew when we were younger. That is the type of game me and my partner wanted to create as our very first joint project for our studio “RoKabium Games”. Both being avid gamers we hadn’t seen many games in that genre that focused more on the actual digging being the main element rather than being an action plat former or survival and crafting sandbox with the occasional digging part. So last year we started working and planning for our game “Something Ate My Alien”. We knew early on that for a 2-person team to pull of creating a whole video game we had to have a planning structure for a game that wasn’t too large or complicated. So early ideas of making a full blown 3D, interactive, huge sandbox with multiplayer alternatives was just not gonna be a good starting point. We scaled down the idea of a huge concept and decided to rely more on our existing skill set in the game industry. We decided to focus on a more manageable core of that we ourselves would like to play and what we believed other people would also enjoy to play. A finite game story of about 10 hours game play from start to finish, something fun and charming with just the right amount of action/digging/puzzles ratio. We also knew that our game would show quality and engaging graphics being hand painted by myself and it would all be done in a style that would ooze retro, hand painted, uniform and a beautiful game with easy to navigate and clear game mechanics and graphics. We wanted it to be a lighthearted but a addictive little gem suitable for a both younger and a more adult audience. Our game would be exactly how we envisioned it since it would be the labor of our own vision, not working for anybody else. As a digital artist with several years experience in working for game studios and painting game assets, backgrounds, icons, characters etc and being part a team of other game developers, I did have some much needed experience in understanding just how much art is needed for a complete game. Even the smallest game contains more art pieces than you might think. For example, for every animation you do in 2D graphics you have to paint a new image and each animation can have anything from a very basic 5 frames up to 30-40 frames. So for each enemy you draw for example you need to also draw that enemy having an idle position, a walking cycle, a running cycle, an attack cycle, a dying cycle, a jumping cycle etc. So for one single enemy in a game you might have to produce up to around 100 images. Add to that, our game would have at least 10 different enemies for each level and we have designed our game to have a total of 4 levels. Each game level or planet as it is represented in SAMA is built up with a set of ground tiles that has seamless tiling for a smooth and more realistic look. For each tile-set I’m designing 6 variants so the illusion of random and unique ground that looks like it is not repeating. Each world has 4 unique tile types to add variation for the digging mechanics and giving the player more varied game play. On top of normal ground tiles we have variants of 20 unique decals and edges created to blend different types of ground together better and adding even more realism. Inside the ground tiles you can as a player find all kinds of loot. So far I’ve designed 25 unique minerals, 9 different type of gemstones, 8 different kind of gases (each with animation cycles), 28 types of artefacts, 12 different types of complete fossilized animals which consists of 62 separate type of bones to find. There are teleporters, oxygen stations, health hearts, energy boosts, lamps to light up the dark caves, secret doors with puzzle areas to solve to get rare loot or upgrades. There are icons for every item and enemy you can find. All of these visual elements are hand painted by myself and still this is just the bare base of each planet level. When designing the UI for the game we both wanted it very neat and tidy look, using our main colour scheme of blue-green-warm yellow that I first came up with during the conceptual art at the beginning of the project. I also wanted some elements to have somewhat of a computer screen/electronic look with glowing outlines to emphasize that you as the player are the actual AI of the ship and the UI you see is the computer interior. While continuing painting and designing the artwork for SAMA we are getting closer to a first Alpha of the game and we are hoping that with the help of feedback from gamers around us and people interested in our game we can develop a game that is incredibly fun and beautiful to play. See more over at our website: Somethingatemyalien.com or Steam page at https://store.steampowered.com/app/1047870
  20. JohnyBGooD

    PC Devlog #7: Building System.

    Greetings, Now our alien can build Holographic Bases with a variety of unique features. The building process consists of 2 stages: energy floor design and creating of items. The alien can create 3 types of energy spheres, they can be combined in many ways. This gives us different energy schemes for further building. The items require a certain amount of energy in the floor beneath. Currently 2 types of items are ready: nutrients farm and resource farm. I plan to add much more items with unique and interesting features in the future. In the video you can see the process of building along with an episode of building resources gathering. Video demonstration is here:
  21. markypooch

    Python + Pygame Threading Sample

    Hey Gomta777, You may already by aware, but in case not, it bears repeating. When thinking of multithreading in python, tread carefully. Python has a global lock that it uses for reference counting objects. For compute bound workloads/(local, non-IO) this will effectively ensure you never see the benefits of multithreaded performance as the GIL will prevent the lock being shared. What you want for non IO workloads is multiprocessing. Turns out the best way around the GIL is more of them. https://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python The above example walks through multithreading, and multiprocessing in Python. A few other thoughts: * Also, give your code a few once over with CProfile. You may not even need multithreading/multiprocessing. * Other speedups with pygame can be had with being sure not to update the entire screen each iteration of the gameloop, and, instead updating only what sprites has moved, i.e. become dirty.
  22. _WeirdCat_

    OBB-OBB detected 'intersected' but It's not

    Yeah you are right! Anyway they don't describe properly how to calculate that, they say cross each edge of A and B but then what?
  23. Thanks for your reply Kylotan. What you're saying would seem to suggest that an individual freelancer wouldn't have much joy in this area of the industry (correct me if I interpreted it wrongly). The digital nature of the work would presumably make it possible to work remotely via email/skype etc... - is this common if at all possible for in-house/studio positions in game development? What about building a portfolio of icons, menus, 2D assets and so on, and pitching myself to indie teams - do any of these indies ever pay? Is there realistic potential there? By this, do you mean keeping abreast of how a particular version of an engine handles an art asset such as a .png file differently from a subsequent or previous version of that same engine?
  24. RoKabium Games

    SAMA

    Images & screenshots from "Something Ate My Alien" game by RoKabium Games.
  25. Yotes Games

    Battle Gem Ponies

    Battle Gem Ponies! The fully-animated action-packed RPG adventure! An evolved version of the Ponymon ROM-Hack, and now its own indie project.Rotation battles, specialized move slots, new types, gym leaders specializing in strategies instead of types, EVs & IVs that can be altered with a slider instead of breeding, a balanced roster without intentional tiers, and a version of Eevee that can switch between any of the types at will. All ideas that went into this project's conception.Sound good? Then come along for the ride! Developed by Tony Yotes in Unity3D with 2d Toolkit INTRODUCTION: Welcome to the official Battle Gem Ponies Pre-Alpha thread! BGP has been an idea swimming in my head for years before finally starting development in December of 2014. It was inspired by a Fire Red version ROM Hack called Ponymon where the Pokemon were replaced with My Little Pony characters. The hack went unfinished for years and the story didn’t seem to do much more than name swap and make friendship references. I wondered how cool it would be to see that MLPxPokemon idea taken all the way and fleshed out into a completely new adventure. Fan games like Pokemon Uranium and Fighting is Magic inspired me to take up programming in high school so I could make fan games of my own. Specifically, I always wanted to make my own Pokemon game that did away with all the parts that annoyed me in the main series. Things like grinding, HMs, boring/easy fights, and evolution lines with stats too low for competitive viability would be no more! The first attempt at making such a game didn’t go too well, being just a kid with one java class and a C++ tutorial under his belt. So I spent the next 7 years practicing game development (even getting a degree in Gaming & Simulation) to build the skill necessary to craft a full-blown RPG like this. Over the years the game has gone from overambitious Pokemon fan game to legally safe overambitious Pokemon clone with its own characters, world, logos, assets, and so on. Measures have been taken to make sure this is a Cease & Desist-proof original property inspired by Pokemon that's made from scratch. Lots of blood, sweat, and tears are going into making this game a success. I hope Battle Gem Ponies is turns out as good as the game I saw in my head all those years ago. I can’t be the only one who would like to play a game like this, right? Thanks for checking out the project and enjoy the demo! -- Tony Yotes -- CONCEPT: Command super-powered, shape-shifting ponies in strategic turn-based RPG combat. The battle system is a variation of Pokemon's Rotation Battle in that matches are 3 vs 3 and either player can swap out their current fighter at the beginning of the turn (but at the cost of attacking last). Your pony will shapeshift between these 3 forms until each one's individual HP reaches zero. To catch wild ponies you have to weaken them and use capture gems that "download" the opposing pony's data and allows your pony to transform into it. In order to complete the capture process though, the wild pony needs to be defeated. There are 18 elemental classes each with their own strengths and weaknesses. In place of the "Normal type" there is a neutral class with no special advantage or disadvantage, thus being able to cause a regular amount of damage on anypony. The classes are Fire, Aqua, Surge, Plant, Ice, Ki, Toxic, Earth, Air, Esper, Bug, Ghost, Draco, Steel, Light, Dark, Chaos, and Magic. A major aspect of battle is the Ultra transformations. Like with mega evolution, finding special objects in the overworld will allow you to transform any one of your party members into a powered up version of themselves (sometimes with alternate elemental types too). FEATURES: Fully Animated Battle RPG! Every single pony and attack is uniquely animated to bring these pixel art battles to life! Explore a Vast World! An enormous, vibrant region awaits! Travel through deserts, mountains, forests, graveyards, and underwater temples on your quest through the Pinto region. Power Up Your Pony! Form a powerful bond with your shapeshifting pony companion and watch it grow stronger, learn awesome new moves, and take on the toughest of enemies. Travel with Your Pony! Surf across oceans and lakes with any swift-swimming ponies. Teleport to the nearest Health Center whenever you like with a simple phone call. Even have whatever pony is with you smash any boulders in your path, just because they all can! Customize Your Team! Choose who you take into battle from a selection of 60 Ponies and their Ultra Forms. You can alter their moves, stats, and equipment to become an unbeatable trainer! Hundreds of Different Moves! Using attacks grouped into Light, Heavy, Status, and Tutor slots that make you think more carefully about which moves to take into battle. Discover the Secrets of the Legendary Alicorns! Powerful, winged unicorns that embody the Sun and Moon are said to be the strongest ponies to ever live. People have wanted to harness their power for personal gain since ancient times. With recent advancements in technology, however, it might be easier than ever for their power to fall into the wrong hands... Collect Badges and Save The World! You’ll have your skills tested by expert Mavens and fight for your life against the evil Paragon Cartel. Simple story objectives that fans of Monster RPGs will be familiar with, but perhaps with a few surprises along the way... THE PINTO REGION: Just one corner of a brand new world… H - Rest House G - City Gate C - Celestial Shrine P - Paragon Cartel Secret Base (start in Honey Dew and venture around) A colorful and varied region with a gemstone motif and mysteries scattered across the map. It's meant to be an adventure lasting at least 6 hours on average. Preferably longer, and extended indefinitely with post-game content. The environments should be visually varied and filled with enough story content to keep the player interested in progressing. Every single section has at least a handful of notable experiences within. The scope has been thought out and written in a 200+ page long game design document along with every other aspect of the game. SCREENSHOTS: SOCIAL MEDIA: Follow the game on your favorite social media sites to get the latest news and have your burning questions answered! Interact with Yotes Games on any of the sites below. Find Yotes On: | Facebook | Twitter | YouTube | Google+ | Patreon | | IndieDB | Gamasutra | DeviantArt | Reddit | MyIGN | | Itch.io | Tumblr | LinkedIn | MyLittleGameDev | Alternatively, you can just email yotesmail@gmail.com DOWNLOAD LINKS: The latest current build is version 7.0, now available on Itch.io! Available for Android, Windows, Mac, and Linux platforms. Demo V7 contains 3 areas, 12 ponies, and a Random Battle Now mode. (Combat calculations may exhibit bugs.) Pre-Alpha V7.0 (11/17/17) Download: https://yotesgames.itch.io/battle-gem-ponies CREDITS: Engine, Development Tools, & Plugins provided by Unity3D and its Asset Store Orchestral Composition & Soundtrack Eric Eom (E^2) Chiptune Composition, Soundtrack, & Sound Effects Justin Heng (blucario) Game Design, Production, Marketing, Pixel Art, Animation, Writing, Programming Tony Yotes (Yotes Games)
  26. This past month has been the most productive by a mile. A nice new tradition I'm starting up is putting up 2 Patreon updates a month now. One at the beginning of the month and one at the end. These posts are getting super meaty and full of news now, so the separation gives some breathing room to the avalanche of content to talk about. This month's posts are about finally finding a programmer to help me exponentially speed up development. We got a lot done in just the past 30 days and now the prototype phase is at least 50% complete. See the full Patreon Exclusive posts here! Otherwise come back in a month for some big news. Because now that we have momentum going, a new demo you can play will be here before you know it. Or for now, come checkout a quick summary of October's progress on the Yotes Blog.
  1. Load more activity
  • 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!