Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

252 Neutral

1 Follower

About GameDev.net

  • Rank

Personal Information

  • Role
  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Maybe it's just my experience, but Object-Oriented Programming seems like a default, most common paradigm of software engineering. The one typically thought to students, featured in online material and for some reason, spontaneously applied even by people that didn't intend it. I know how succumbing it is, and how great of an idea it seems on the surface. It took me years to break its spell, and understand clearly how horrible it is and why. Because of this perspective, I have a strong belief that it's important that people understand what is wrong with OOP, and what they should do instead. Many people discussed problems with OOP before, and I will provide a list of my favorite articles and videos at the end of this post. Before that, I'd like to give it my own take. Data is more important than code At its core, all software is about manipulating data to achieve a certain goal. The goal determines how the data should be structured, and the structure of the data determines what code is necessary. This part is very important, so I will repeat. One must never change the order here! When designing a piece of software, always start with figuring out what do you want to achieve, then at least roughly think about data architecture: data structures and infrastructure you need to efficiently achieve it. Only then write your code to work in such architecture. If with time the goal changes, alter the architecture, then change your code. In my experience, the biggest problem with OOP is that encourages ignoring the data model architecture and applying a mindless pattern of storing everything in objects, promising some vague benefits. If it looks like a candidate for a class, it goes into a class. Do I have a Customer? It goes into class Customer. Do I have a rendering context? It goes into class RenderingContext. Instead of building a good data architecture, the developer attention is moved toward inventing “good” classes, relations between them, taxonomies, inheritance hierarchies and so on. Not only is this a useless effort. It's actually deeply harmful. Encouraging complexity When explicitly designing a data architecture, the result is typically a minimum viable set of data structures that support the goal of our software. When thinking in terms of abstract classes and objects there is no upper bound to how grandiose and complex can our abstractions be. Just look at FizzBuzz Enterprise Edition – the reason why such a simple problem can be implemented in so many lines of code, is because in OOP there's always a room for more abstractions. OOP apologists will respond that it's a matter of developer skill, to keep abstractions in check. Maybe. But in practice, OOP programs tend to only grow and never shrink because OOP encourages it. Graphs everywhere Because OOP requires scattering everything across many, many tiny encapsulated objects, the number of references to these objects explodes as well. OOP requires passing long lists of arguments everywhere or holding references to related objects directly to shortcut it. Your class Customer has a reference to class Order and vice versa. class OrderManager holds references to all Orders, and thus indirectly to Customer's. Everything tends to point to everything else because as time passes, there are more and more places in the code that require referring to a related object. Instead of a well-designed data store, OOP projects tend to look like a huge spaghetti graph of objects pointing at each other and methods taking long argument lists. When you start to design Context objects just to cut on the number of arguments passed around, you know you're writing real OOP Enterprise-level software. Cross-cutting concerns The vast majority of essential code is not operating on just one object – it is actually implementing cross-cutting concerns. Example: when class Player hits() a class Monster, where exactly do we modify data? Monster's hp has to decrease by Player's attackPower, Player's xps increase by Monster's level if Monster got killed. Does it happen in Player.hits(Monster m) or Monster.isHitBy(Player p). What if there's a class Weapon involved? Do we pass it as an argument to isHitBy or does Player has a currentWeapon() getter? This oversimplified example with just 3 interacting classes is already becoming a typical OOP nightmare. A simple data transformation becomes a bunch of awkward, intertwined methods that call each other for no reason other than OOP dogma of encapsulation. Adding a bit of inheritance to the mix gets us a nice example of what stereotypical “Enterprise” software is about. Object encapsulation is schizophrenic Let's look at the definition of Encapsulation: The sentiment is good, but in practice, encapsulation on a granularity of an object or a class often leads to code trying to separate everything from everything else (from itself). It generates tons of boilerplate: getters, setters, multiple constructors, odd methods, all trying to protect from mistakes that are unlikely to happen, on a scale too small to mater. The metaphor that I give is putting a padlock on your left pocket, to make sure your right hand can't take anything from it. Don't get me wrong – enforcing constraints, especially on ADTs is usually a great idea. But in OOP with all the inter-referencing of objects, encapsulation often doesn't achieve anything useful, and it's hard to address the constraints spanning across many classes. In my opinion classes and objects are just too granular, and the right place to focus on the isolation, APIs etc. are “modules”/“components”/“libraries” boundaries. And in my experience, OOP (Java/Scala) codebases are usually the ones in which no modules/libraries are employed. Developers focus on putting boundaries around each class, without much thought which groups of classes form together a standalone, reusable, consistent logical unit. There are multiple ways to look at the same data OOP requires an inflexible data organization: splitting it into many logical objects, which defines a data architecture: graph of objects with associated behavior (methods). However, it's often useful to have multiple ways of logically expressing data manipulations. If program data is stored e.g. in a tabular, data-oriented form, it's possible to have two or more modules each operating on the same data structure, but in a different way. If the data is split into objects with methods it's no longer possible. That's also the main reason for Object-relational impedance mismatch. While relational data architecture might not always be the best one, it is typically flexible enough to be able to operate on the data in many different ways, using different paradigms. However, the rigidness of OOP data organization causes incompatibility with any other data architecture. Bad performance Combination of data scattered between many small objects, heavy use of indirection and pointers and lack of right data architecture in the first place leads to poor runtime performance. Nuff said. What to do instead? I don't think there's a silver bullet, so I'm going to just describe how it tends to work in my code nowadays. First, the data-consideration goes first. I analyze what is going to be the input and the outputs, their format, volume. How should the data be stored at runtime, and how persisted: what operations will have to be supported, how fast (throughput, latencies) etc. Typically the design is something close to a database for the data that has any significant volume. That is: there will be some object like a DataStore with an API exposing all the necessary operations for querying and storing the data. The data itself will be in form of an ADT/PoD structures, and any references between the data records will be of a form of an ID (number, uuid, or a deterministic hash). Under the hood, it typically closely resembles or actually is backed by a relational database: Vectors or HashMaps storing bulk of the data by Index or ID, some other ones for “indices” that are required for fast lookup and so on. Other data structures like LRU caches etc. are also placed there. The bulk of actual program logic takes a reference to such DataStores, and performs the necessary operations on them. For concurrency and multi-threading, I typically glue different logical components via message passing, actor-style. Example of an actor: stdin reader, input data processor, trust manager, game state, etc. Such “actors” can be implemented as thread-pools, elements of pipelines etc. When required, they can have their own DataStore or share one with other “actors”. Such architecture gives me nice testing points: DataStores can have multiple implementations via polymorphism, and actors communicating via messages can be instantiated separately and driven through test sequence of messages. The main point is: just because my software operates in a domain with concepts of eg. Customers and Orders, doesn't mean there is any Customer class, with methods associated with it. Quite the opposite: the Customer concept is just a bunch of data in a tabular form in one or more DataStores, and “business logic” code manipulates the data directly. Follow-up read As many things in software engineering critique of OOP is not a simple matter. I might have failed at clearly articulating my views and/or convincing you. If you're still interested, here are some links for you: Two videos by Brian Will where he makes plenty of great points against OOP: Object-Oriented Programming is Bad and Object-Oriented Programming is Garbage: 3800 SLOC example CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design” where the author beautifully goes through an example OOP codebase and points out problems with it. Arguments Against Oop on wiki.c2.com for a list of common arguments against OOP. Object Oriented Programming is an expensive disaster which must end by Lawrence Krubner – this one is long and goes in depth into many ideas Feedback I've been receiving comments and more links, so I'm putting them here: Quora: Is C++ OOP slower than C? If yes, is the difference significant? Note: This article was originally published on the author's blog, and is republished here with kind permission.
  2. Related reading: industry professional and GameDev.net moderator Brooke @Hodgman recently published a piece outlining his counter-arguments to typical objections to OOP:
  3. GameDaily.Biz spoke to Improbable about its new shortcuts to multiplayer game development for Unity and Unreal. Improbable helps game developers build believable online worlds with its bespoke technology, SpatialOS. Now, that task is much easier and accessible for those building games on the technology with the recent release of the SpatialOS Game Development Kit (GDK) for Unity. With these kits, Improbable hopes that developers find it easier to create vast, dynamic and unique worlds. This GDK for Unity includes a 200-gamer, first-person project that allows developers to experiment and tinker with their ideas for what their vision of a multiplayer game will look like. GameDaily.Biz met with Improbable’s Head of Product Marketing, Paul Thomas, and Head of Comms, Daniel Nye Griffiths, to speak about the SpatialOS GDK for Unity, as well as the upcoming launch of the SpatialOS GDK for Unreal Engine. In its first week, the SpatialOS GDK for Unity achieved over 2,000 developer sign ups to use it. “What we're trying to do is basically make it really fast for people to build multiplayer games,” said Thomas. “It comes with all the multiplayer networking so that developers don’t have to do any multiplayer networking. It comes with feature modules to allow [easy] solutions to common multiplayer problems, like player movement and shooting. And it comes with a cool starter project where you have 200 players in a free-for-all scenario. You can obviously use the power of SpatialOS to scale that project up to more players, with NPCs, and things like that. It gives people a really good base to start building multiplayer games.” There are several games currently in development or early access that utilize SpatialOS. The first into Early Access was Spilt Milk Studios’ Lazarus, a space MMO where the player becomes a pilot in a universe that ends every week, complete with a map that’s twice the size of Austria. Additionally, Bossa Studios released its survival exploration game Worlds Adrift into Steam Early Access earlier this year. Also using SpatialOS is Scavengers from Midwinter Entertainment, a studio founded by former 343 Industries studio head and Halo 4 Creative Director, Josh Holmes; the game is heavily inspired by his Halo 5: Guardians’ multiplayer mode, Warzone. Right alongside that company, Berlin-based Klang Studios is working on Seed, a simulation MMO that, according to its developers, lets players “interact and collaborate to create a world driven by real emotion and aspiration.” According to Thomas, for those looking to use the SpatialOS GDK for Unity, there is no limit to what their games can do with Improbable’s tech. “What we're doing is expanding the possible gameplay you can do. Traditionally, when you make a multiplayer game, you're constrained by one single server. So you can say you have a 64-player game with a handful of NPCs or you could have a world that's 3km by 3km. With Spatial, you can go beyond that, test a much broader canvas to start thinking about different gameplay.” “You can go for a massive online persistent MMO with 10,000 players and hundreds of thousands of NPCs, something very, very vast and big like that. But you can also have smaller experiences. For example, there's a lot of interesting space in just extending what you see in the Battle Royale genre and session-based gameplay.” Thomas continued: “Our partners at Automaton have a game in development called Mavericks. The interesting thing there is they have a Battle Royale with 1,000 people, but what I really find interesting is the gameplay mechanics they've put in, like footprints so you can track people. They've added a cool fire propagation mechanic so you can start a fire that spreads across the map and changes the world. Or you can add destructible buildings and things like that.” “So I think even looking at smaller scale games, we add a lot of value in terms of the new gameplay you can start adding. I'm just interested to see what people do with this extra power - what they can come up with.” While Battle Royale games and MMOs are obvious standouts for genres that best fit with SpatialOS, Thomas introduced some other ideas of genres that could benefit from the technology. “I also think there's a space for very interesting MMORTSs as well,” he said. “An RTS where you have persistent systems, like telling AIs to do things and then coming back to them a week later and seeing what's happened is an interesting space.” “I also see interesting mobile experiences that could come up. Having these worlds where you lay down some interesting things and then come back a few weeks later to see how they've evolved and changed, and the massive player interaction. Say for example with Pokemon Go, we can actually roam around the world and battle on the streets. I can see something like that working very well. Again, these are just ideas we've had and talked to people about. It's about giving people that flexibility and the ability to explore these ideas.” Klang’s Seed Griffiths added the possibility of events in a game that will have a massive, rippling, and lasting impact on its world as something that has people excited. One example he gives is how someone on one side of the map can do something that’ll have a knock-on effect for the rest of the world in real time. “There's a whole bunch of different angles you can take, some of which are about much larger player numbers or a much larger map, but there are other things you can do which are taking a relatively constrained game experience, a smaller map, a smaller number of players and adding richness to the game as well.” In fact, this is something that Thomas refers to as a “persistent in memory database,” meaning that for every object in the game world, there’s a history. Two examples cited by Thomas: “...a player could chop down a tree and that tree stays disappeared forever. Or a player can kill a big monster that was raiding a town and that town no longer gets raided by that monster, and this changes the dynamics of the world. Worlds can have a history. That means players can have a lot more meaning in these MMO worlds.” “Normally in MMOs, they're kinda like roller coaster rides: you go into a dungeon, you kill the boss and that guy respawns. It all resets,” Thomas continues. “But in Spatial MMOs, you could have these persistent effects that should change the gameplay meaningfully for all the rest of the player base.” “The other one I think that is interesting is the level of dynamism that you could have. So because you can have so much more server-side compute, you could potentially have NPCs roaming around the world changing their mind and deciding all of a sudden, 'oh, we're going to attack this player's base' or 'we're gonna go attack this town' and they have a lot more range and emotion and intelligence to them that you'd not see in other MMOs. “Normally in MMOs, NPCs sit there tethered. You go near them and they come and attack you, you run away, and they go back to where they were. In a Spatial MMO, that NPC can trace you across the whole map or a group of them can decide to get together and attack someone..” Bossa Studios' Worlds Adrift Next week, Improbable plans to launch its SpatialOS GDK for Unreal Engine, which will have a big focus on ease of use for access to Unreal, as well as a big emphasis on porting your projects to SpatialOS. “One of the things we'll be trying to push is a porting guide so you'll be able to take your existing Unreal game, move it onto SpatialOS and then you can grow to expand it with new and extra gameplay,” says Thomas. “ You can bring across your existing Unreal game and it feels very, very native and similar to Unreal if you're familiar with Unreal.” Griffiths continued, explaining how testing these experiences includes free cloud deployments, to a certain point. “If you're developing in SpatialOS in other ways, we provide a sandbox environment so you can get your game running. When you’re happy, you can port it over and sort of experiment with it in a free sandbox environment with a small number of cores to get started.” Based on what we learned, Improbable’s SpatialOS GDK for Unity will give developers enhanced flexibility to produce more in depth and engaging videos games. That said, we look forward to catching up with the company in the near future to see how this exciting technology is being used in the different games that we play.
  4. Note: we received this article as a submission from an author who wishes to remain anonymous. We will endeavor to pass on any feedback or questions and post responses. It can be hard to judge the quality of your own video game. You've worked hard and poured your heart and soul into it, and it's easy to forgive things that others will find off-putting. You've probably played it a lot during the process and will have become accustomed to things that might be jarring for others. On the flip side, creators can be their own worst critic; it can be easy to become hyper-critical and notice all the little flaws or rough edges that your audience may not care about or even be aware of. Obviously, it's hugely beneficial to get feedback from others and to playtest your game, but it can be hard to find reliable feedback, and you may be hesitant to do so in the earlier stages of development. How then, can you reliably judge the quality of your game so that you can be sure you're making your best product? One solution is to use references. Visual References You might have seen an artist painting or drawing something that's right there in front of them; stopping to check and adjust details as they go. The perfect way to ensure your artwork matches the real thing! But what if they can't work in front of their real subject? They might refer to one or more photos of their subject (or a similar one) instead. This is a reference; something to refer to, to check the details. You can do this too! You don't need to copy a subject exactly, like a learning artist faithfully rendering a fruit bowl - your subject may not even be something that exists in the real world! Perhaps your video game features fantastical monsters, mysterious aliens, or any number of imaginative creations. Fortunately, you can still use references for smaller portions of your work. A selection of eyes for inspiration. Perhaps you need some striking eyes for your alien species. Claws for a vicious monster. Rippling muscled limbs for a powerful beast of burden. Whatever it is that you're after, with some quick searching you'll be able to build a quick collection of reference images for inspiration and to check that the details of your work are realistic. Along with a good handle on fundamental art skills, the use of reference images can allow you to quickly judge and improve the quality of your work. Feature References Visual references are fairly obvious once you've thought of them, but we can use references in other ways too. Is your game complete, or is it missing things it might need to really capture an audience? Compare to similar games to see if you've implemented all of the features players are likely to expect, and if similar games have something that yours don't, think about whether not having that feature is an improvement (sometimes it is!) or whether it's something your players will miss. Note that in this case when I say similar games I don't necessarily mean something with the same theme and gameplay, which may not exist if you're producing something creative, but rather something that would be played by a similar audience. Maybe no one else is creating a hack & slash game where you can establish and explore romantic relations with your weapons, but you could still look at both action RPG titles and dating simulations to see if you've included everything players of those genres might expect. Making a lightweight casual puzzle? Look at other hyper-casual games. Hardcore simulation? Look at other in-depth sims. Does your game offer the input methods players will expect? Do other games in your genre all offer unlockable characters? Is your game accessible? Do you have that neat screenshot-sharing feature your competitors all offer? Quality References Your art looks great. You have all the features players might expect. But is your game polished enough? The good thing about judging quality is you can even compare to games that have wildly different gameplay. Instead, you would want to compare your game to others of a similar price point: if you're making a small free-to-play puzzle, don't compare to a blockbuster AAA game. Do your screenshots grab attention like those of your chosen references? Are the animations as smooth? Is there a consistent theme, or is that font you chose for the menu options jarring and out of place? Conclusion By finding and comparing your game to references, you can more easily judge the quality of your work and see if there are things to improve or add.
  5. Search GameDev.net directly from the Unity Editor with the GameDev.net Search plugin! Customize your search for all content on GameDev.net, only the latest, or the most relevant. Or, narrow your search to specific GameDev.net content: Blogs Articles Forums News Contractors Projects and more!
  6. It's no secret that what makes or breaks a VR experience is whether or not the player feels immersed in the VR world you've built. Here are a collection of tested guidelines for creating a more captivating VR experience. Introduction In recent years, virtual reality (VR) technology has progressed exponentially to enable immersive environments in which users feel a heightened sense of realism—that “you’re really there” feeling in the created environment. Across the board, CPU performance, GPU performance, VR headsets’ visual fidelity, and VR-enabled software have all advanced tremendously. Games are the most obvious beneficiaries of VR technology and are already beginning to make the most of it. Other software genres can benefit from VR’s immersive capabilities as well, including education, training, and therapeutic usages. However, as with many new technologies, it’s easy to implement VR that looks cool on the surface but has fatal flaws that pull you out of the immersive experience or ultimately make you wonder why someone went to the trouble of creating the software. Developers run the risk of having an initial “Oh, wow!” quickly become “What’s the point?” Read more
  7. Does your code use one of the most popular graphics or compute APIs? Here is a map of Intel® processor series to each graphics generation to add to your dev docs. Developer Documents for Intel® Processor Graphics Intel® processor graphics provide the graphics, compute, media, and display for many of our processors including the 6th gen Intel® Core™ processors. Does your code use one of the popular graphics or compute APIs? Do you want a deeper understanding of our graphics hardware architecture? In the table, you’ll find the right documents to help you write and tune your software so it runs great on Intel processor graphics. If you’re developing compute applications, the compute architecture guides give foundational reading and the OpenCL™ optimization guides show you how to optimize. If your code uses the graphics APIs, read the graphics dev guides or programmers reference manuals. Read more
  8. Game developers work extremely hard to get their titles in front of gamers but what more can PC resellers do to help developers grow? See what answer Intel® has and how they plan on expanding your game's reach. Game developers work hard to get their titles in front of gamers, immediately upon release. A new title generally commands its full retail price during the first few months, but promotional sales are a common practice to increase sales and players once a title has been in the market for a while. Reaching More Gamers, Sooner Media sites such as IGN, Metacritic, Slate, FANDOM, GAMESBEAT, Engadget, YouTube, Twitch.tv and PCMag.com help get the word out about new titles through news, reviews, events and influencer opinions. Many game developers also have promotional relationships (some exclusive) with major platform players like Intel, nVIDIA, Sony (PlayStation), Microsoft (Xbox), and PC OEMs. Intel offers Starter Packs through PC OEMs to get titles in front of gamers. Consumers may get a “pack” of select titles and downloadable content with the purchase of a qualifying system. We’ve run that program for five years, and we expect millions of bundles to be sold in 2017, supporting hundreds of PC resellers and retailers, worldwide. Can you imagine the number of gamers we reach? In addition, Intel® Extreme Masters eSports tournaments and expanding global and regional gaming events help more gamers hear about and experience new titles. Read more
  9. Arizona Sunshine* found success in the VR space after following Intel® Guidelines for Immersive VR Experiences. See how they became the fastest-selling non-bundled virtual Reality title to date. With a dazzling launch in early 2017 that saw Arizona Sunshine* become the fastest-selling non-bundled virtual reality title to date, and instant recognition as the 2016 “Best Vive Game” according to UploadVR, the zombie-killer game is not just another VR shooter. Combining immersive game play with intriguing multi-player options, this game takes full advantage of VR capabilities to promote playability in both outdoor and underground environments. Through its association with Netherlands-based Vertigo Games and nearby indie developer Jaywalkers Interactive, Intel helped add sizzle to Arizona Sunshine by fine-tuning the CPU capabilities to provide end-to-end VR realism. The power of a strong CPU performance becomes apparent with every jaw-dropping zombie horde attack. From the resources available when a player chooses and loads a weapon, to the responsiveness of the surrounding eerie world, the immersive qualities of the VR interface make it easy to forget that it’s just a game. Read more
  10. Unity* 3.0 provides tools and settings that simplify game creation. This paper analyzes and troubleshoots performance with Unity* on Intel® graphics processors, and provides users with performance considerations for their games. Abstract Unity provides a number of tools and settings to help make games perform smoothly. For this project, we chose ones we thought could prove to be troublesome and analyzed how they affected game performance on Intel® graphics processors. We put ourselves in the shoes of a game developer learning how to use Unity. We wanted to stumble into performance pitfalls and then determine how to work through issues with Unity’s built-in performance mechanisms. One of Unity’s strengths is the ability to create content quickly, but when considering performance, especially on mobile and tablet devices, the developer needs to slow down and plan out how to utilize the built in performance mechanisms. This paper prepares new and existing Unity users with performance considerations when building your levels/games, and offers new ways to build. Read more
  11. Green Man Gaming* and Intel® work together as a team to help indie game developers reach their goals. See what marketing initiatives they have in store for Indies. Launched in 2010 in London, Green Man Gaming is an eCommerce technology business and a video games publisher that supports independent development studios to market their games globally. The online store and community offers the latest game insights and information, and more than 8,500 digital multi-platform games from 550 publishers to gamers in 195 countries. Millions of gamers worldwide discuss, discover and share all things gaming within a highly engaged community at greenmangaming.com. This includes unique game data tracking, reviews, top Twitch streamer videos as well as expert insights available on Green Man Gaming’s game hubs, blog and newsroom. Individual and community gameplay data is available on the website including total hours played, full game library and game achievements. Green Man Gaming’s multi-platform game data tracking is a unique offering in the video games industry. Read more here.
  12. How are you planning on making money with your app? Here's an extended list of the ways you can make money through your app and what that means for the players. There are a lot of different ways to think about making money from your app, and a lot of articles you can read about it. (Including our own recent article on monetization strategies. It’s a rich subject, and a really important one for anyone who’s thinking about making a game, app or piece of software. Because there are so many terms used to describe the different models, we wanted to provide a brief rundown on the various different models. Read more
  13. Make the most of the digital world by reaching out to industry influencers without spending money. Get this guide to approaching influencers and find success in spreading the word as an indie developer. Getting noticed in the vast digital world, with its myriad social networks and other channels of influence, might appear to require mountains of money and resources. This could be a problem for indie game developers with limited budgets. Expensive PR agencies might have once been the only option, but today's internet-based marketing channels are free for the asking. The networks and people who can provide the exposure you need often have as much to gain from your success as you do—it's your content that keeps them in business. More than they create, influencers endorse and attract. They need a constant flow of new and visionary material to keep viewers interested. Indie game developers can feed that appetite for content as well as any major game studio, but how do you make that connection? Read more
  14. Don't make the same mistake as so many businesses by trying to bring in as many customers as possible. Learn the 30-3-3-30 approach to guarantee you're engaging your audience every step of the way. Getting noticed in the vast digital world, with its myriad social networks and other channels of influence, might appear to require mountains of money and resources. This could be a problem for indie game developers with limited budgets. Expensive PR agencies might have once been the only option, but today's internet-based marketing channels are free for the asking. The networks and people who can provide the exposure you need often have as much to gain from your success as you do—it's your content that keeps them in business. More than they create, influencers endorse and attract. They need a constant flow of new and visionary material to keep viewers interested. Indie game developers can feed that appetite for content as well as any major game studio, but how do you make that connection? Read more here.
  15. Since the late 1970s, Intel® has supported the PC gaming community. They fully believe the freshest ideas and most interesting stories come from indies, not large studios. Continuing their support of the developer community, Intel® has released a practical guide for marketing indie games. Intel has supported the PC gaming community since the late 1970s, when the Intel 8088 processor ran at 4.77 MHz inside the IBM PC. While hardware advances received the early headlines and large studios dominated the trade press the role of independent game developers has always been of interest. The freshest ideas, the most interesting stories, and the most ground-breaking advances still come from the indies who bravely bring their visions to market. Their struggle to balance the mastery of new technology and to conquer competitive marketing is growing in complexity. Intel’s new Get Ready, Get Noticed, Get Big initiative is designed to help indie game developers with vital tools, information, and guidance during each stage of the marketing process. This marketing guide is a go-to resource packed with current content for vital individuals and small teams trying to get their titles noticed in the dynamic gaming market. Read more here.
  • 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!