Comments: 1 - Date: March 24th, 2008 - Categories: N+, Business, XBLA, Metanet
Mare and Raigan recently did a controversial interview on Gamasutra that seemed to have sturred a reaction among the press and gamers. The heart of the controversy is that Xbox LIVE Arcade has, by majority, very low rated games. This in turn hurts the developers who are making gems because:
1) Players are turned off by the mass and not bothering to go through every game there is.
2) Developers’ ideas are turned down because there’s already an (allegedly crap) game of that genre in the pipeline
Fair enough. But really, lots of shitty games isn’t the problem. Metanet’s problem is one of control and visibility.
Control
What I mean by control is that platform holders hold the keys to the channel, and choose games based on some formula that they’re not showing. One of the criteria is a minimum quality bar, to make sure the developer can actually finish the product. Others are presumably based on their portfolio range, whether it will annoy retail distributors, and other means that could be perfectly reasonable but which we know not of.
Visibility
The problem with visibility is that all the games are lumped under one huge long list. If you do not have a recent update, the chance that your game is seen is largely based on the first letter of your game name. So, if there is a huge number of games that you don’t particularly like, you’re not going to see the ones you do. Okay, there is also some categorization of games, but it’s not exactly ideal.
Solving Metanet’s Dilemma
I think it’s clear that every platform will have a fair share of good vs. poor games, and that one persons treasure is another’s dog poop. That is, unless, you run the platform like Steve Jobs. Although even that’s wrong now that the SDK is out.
So saying that a platform holder “shouldn’t release bad games” isn’t the answer (even if we all know some of the games out there are indeed simply bad, in every sense of the word). The problem is that the platform holder is trying to control the releases based on more than simply the fact that they can indeed finish the game without breaking any laws. Indeed, they are basically saying that they know what’s best for their customers.
Instead, if Microsoft opens up their platform, and does not discriminate based on portfolio, an interesting thing happens. All sorts of games come in and you basically have a free market in the ecosystem. This of course creates an even bigger diluge of games, making your game even harder to find. So the obvious next step is to create as many ways to find the games you want as possible. Ratings is one. Tags is another. Recommendations is another. Suddenly, if you made a good game, visibility isn’t a problem any more. This is saying that the customers know what’s best for themselves.
Really, coming from the Web 2.0 side of things, this is all common sense and has been done over and over again. In fact, it’s being done on the hobbyist, community XNA games, so it’s unfortunate that they’re not doing it for professional game developers.
We don’t know the Truth
One thing is for sure — there’s a reason for all this not happening, and the reason is not that the people running Xbox LIVE Arcade are stupid. It may be that their priorities are different than ours (retail will kill us if we threaten them), and it may be that if they implemented these features they’d have a break through product.
But we don’t know what reasons they have, and it may be that in 6 months we’ll realize why they’ve been holding off, or that they’re already implementing it. Well, we know that they’re certainly implementing something for Xbox LIVE — it would be naive to think they’re standing still.
Anyway, looping back to the beginning — good job Raigan, on speaking your mind. And N+ is both dog poop and an amazing game. I prefer to think it’s the latter.
1 Comment »
Comments: 1 - Date: March 18th, 2008 - Categories: Business, EA, Apple
This article from Wired on the success of Apple is a mixed bag. The entire piece basically describes how Job’s overbearing management style simultaneously motivates, demeans, and pushes people to create his vision. At the same time, you can’t argue that he’s been right. I personally have 3 iPods, a Macbook Pro, and I’m seriously considering an iPhone. This brings up an interesting question: Is it okay to be an asshole if you’re right? The answer is yes, if you’re okay with building a company that revolves around you.
On a completely unrelated note, I love this quote by Michael Capps of Epic: “the narrow range of folks who can afford to do high-end, Direct X 10 PC gaming are also the guys who really understand how BitTorrent works” (source: gamesindustry.biz).
Also: Pandemic’s Josh Resnick had a great talk at GDC about the difficulties of starting a game studio. I unfortunately missed it, but heard about it through Nick. Today an article came out that hinted they are looking at the Free-to-Play model. EA has had some success in this department, so it’ll be interesting to see what they’ll do.
1 Comment »
Comments: 0 - Date: February 16th, 2008 - Categories: GDC, Business, nexon
As many of you know, since early 2007, Klei has been working with Nexon to create a Free to Play, original IP game. We will be launching the game later this year, and I have to say, I haven’t had this much fun creating a game since Dawn of War. The amount of freedom we’ve enjoyed in the last year is almost unbecoming of a publisher, although giving freedom to independants appears to be the way of the future.
On Monday, I’ll be making my yearly pilgrimage to GDC; a trip I always feel invigorates me. Without exception, I come back fired up, excited about the change and developments happening all around us in this industry. As in the previous year, I’m participating in the Independant Games Summit, speaking about The State of Indie Games. If you’re going and would like to meet up, feel free to contact me.
Comment on this post »
Comments: 2 - Date: December 29th, 2007 - Categories: Business, meritocracy, EA
I had an interesting discussion today with an old friend who’s currently in an MBA program. We were chatting about our relative experiences, and how I had been frustrated that in my previous position as a programmer I had felt held back due to the lack of meritocracy. In retrospect, I have a greater appreciation of the company’s position — there’s obviously politics involved that push back; people who have been waiting in line, the practice of gradual (percentage based on your current salary) increase in salary, and other unfortunate but understandable forces. I then commented “interestingly, EA is a meritocracy”. His response was surprising to me:
“That’s not surprising. In my experience with large institutions, they have the ability to create the structure needed to foster meritocracy. A small company, however, is more ad hoc.”
I had always believed that large organizations were more prone to “waiting you turn” due to the inevitable hierarchy and increased politics. It had never occured to me that the resources would allow you to be better at creating an environment that championed achievement — I took it for granted that they would have to use the resources to try and simulate a smaller studio.
On a side note, I’ve been reading The Age of Turbulence by Alan Greenspan. It’s not light reading, but I would recommend it to anyone looking to gain insight into how the US economy works. It’s certainly prompted me to reconsider how I approach certain aspects of business.
2 Comments »
Comments: 10 - Date: October 25th, 2007 - Categories: Slick, Business, XBLA, Virtual Console, PSN
Recently, I had a conversation with Nick about the business of console download games. As you know, I like the business model, especially for the developer starting out, but I began thinking more about commonalities between the three console offerings, and what I believe would improve the experience for the consumer, and in return, benefit the developer. The following are my conclusions.
1) Better support for user-generated content
Microsoft does a great job at supplying robust libraries and a tight platform for development, but as far as I know, all three consoles have no unified way of supporting user-generated content for their downloaded games. The usual answer is for the developer to supply their own server, but considering the security and authentication requirements to do so, this is simply not an affordable approach for a small budget game. I don’t believe the blocker here is the cost of hosting on the platform holder’s side — all Xbox LIVE users have a small amount of user space online, for example; you just can’t use that space to share content readily and easily.
Instead, the issue is legal and political — how do the platform holders protect themselves from offensive user-generated content? The answer is the same way any other online networking site does it — via EULA’s, and easy levers to report and control offensive material.
I’d like to see a simple way for downloaded games to be able to post even a small amount of data for sharing in the game; available even when the owning player is offline. If any platform supported that, I believe you’d see incredibly creative games flowing directly from that — in the meantime, only games that have a large budget (and probably a different agenda than a typical arcade game) have the luxury of such a feature, and all other games with user-generated content use crippled features such as sharing levels only with friends, and only when they’re online.
2) Less focus on retro games and advergaming
Let’s be honest — when you download a game that’s twenty years old, you had great memories of it and are expecting to be thrust back into the nostalgia. Instead, the game is incredibly difficult, and man do the graphics suck. When your new downloads page is filled with these offerings, or poor quality advergames, you’re going to be skeptical about coming back to try new games; you may even miss that great original indie title you’ve been waiting for.
In a nutshell — the poor quality games are drowning out and hurting the very games that the platforms are trying to push.
To be fair — I think the Virtual Console is making great use of their awesome back library, and WiiWare is a nice separation between retro and original games (although in general the Shopping Channel is pretty clunky and slow).
3) More focus on instant play value
Even though I understand Microsoft and Sony’s strategy of promoting their download offerings as a source of creative and “new” types of games, I somehow feel they’re doing at the expense of certain potential. New styles of play on an old interface (the controller) often necessitates a learning curve, and this learning curve creates a barrier for customers. Instead, I think they should be focusing on games that are instantly fun — exactly as Microsoft’s name calls for — consumers want arcade games!
I believe that Sony and Microsoft have a captive audience begging for more games that are instantly engaging, regardless of the genre. They do have an appetite for the unconvential, quirky game, but those games need to be interspersed with arcade racing, fighting, sports, puzzle (etc) games. I’m not talking about Project Gotham Racing — I’m talking about Rock N’ Roll Racing. Less depth — more fun.
So, in my humble opinion, combining these three factors would create a download service filled with fun titles that everyone in the family would want to try out. They are high quality, instantly fun, don’t require a deep knowledge of old games to enjoy them, and every once in a while, incredibly creative. As an owner of a next-gen console, you’d be encouraged to show these games off at parties and play with your friends — after all, there’s almost no learning curve to most of them. What’s not to like?
Thoughts?
10 Comments »
Comments: 0 - Date: October 11th, 2007 - Categories: Uncategorized, Business
Most of you are probably familiar with the notion of low-end Disruptive Technology. In a nutshell, it happens when products focus on the least demanding, least profitable customers in a market. These customers are largely ignored by the incumbent; they simply aren’t worth chasing with their current business model. However, the new entrants give these undesirable customers a “good enough” product, all the while improving their technology. Eventually, the entrants create more value than is needed for the low-end customers, and the product moves up-market, stealing market share from the incumbent. Because they were forced to innovate and create better value-add with lower costs, the entrants give better value to the encumbent’s mid-value customers, and the encumbents are forced to serve an ever-shrinking high-end market.
The obvious analogy here are AAA console games as the encumbent, but who are the new entrants?
Let’s take a look at what’s happening in our industry at the moment:
The AAA console developer’s dilemma
Often, the incumbent knows about the rise of the disruptive technology, but does nothing about it. In this instance, the reasons are:
1) The cost of switching is way too high. Companies have so much money invested in developing multi-million dollar games that it’s unreasonable to focus their energies somewhere else.
2) Companies do not want to compete with themselves. For example, all three next-generation consoles have a very precarious balancing act to not aggrevate their partners (developers and especially retailers), and thus must treat digital content as more of a novelty than as an alternative to retail games.
3) Business is good. This is probably the number one reason that developers feel no pain at the moment — year-on-year, retail games are making more money; not less.
Looking at the AAA console market’s target market, we see that they target between the mid to the highest performance demands of the consumer.
The Rise of the Free Game
These days, there are so many new business models targetting the lower-end markets that it would take a book to cover them all. I believe many of these are here to stay and will thrive: innovating on interface as the Wii does, for example. Mobile games, as horrible as they are, will continue to improve and will one day be “good enough”.
However, to me one of them sticks out to be particularly promising: the free online game. I believe that there are several key innovations on this type of game that will make it extremely successful.
To see how closely this matches the theory, we can start by looking at its history: the early web games targetted the least demanding customers — those who want a small distraction. The experience has horrible — slow connection speeds and poor implementations allowed for only the worst games. The web bubble came and went, and many games that were meant to be never happened.
As the free games gained ground, the first offerings that were successful were still far below the quality of console games (by traditional measures of features and graphics, that is): Neopets, Habbo Hotel, BnB are all examples of this. However, as these companies innovated on their technology, their offerings became more advanced and each new offering met the demands of higher and higher markets: Kart Rider and Gunbound are recent examples. Let’s see how they can do this and still keep a competitive edge:
Key Advantage 1: Initial Cost of Development
Because the games are free, they have the luxury of lower expectations — they could launch faster, and receive input faster, before a large investment is made. Indeed, free online games can launch with an initial investment that is a fraction of the cost (in time and money) of a traditional game.
Key Advantage 2: Better Value for Consumers
Once the game is made, they can quickly test the waters with the consumers. These consumers have an extremely low barrier to entry, so a userbase is quickly built. If the game was successful, they can then build on the success and move up-market, reacting to consumer demand as needed.
The end result is that the game is made with less money, costs less for the consumer, and is more in tune with the demands of the consumer. These games, if built properly, simply give better value to the consumer.
Key Advantage 3: Multiple Monetization Avenues
Whether it be advertising revenue, item selling, market research due to the large user base, or premium subscriptions, free games have a large number of monetization avenues. I’ve complained before that boxed products generally only have one point of monetization, possibly two if downloadable content is sold, but in general this type of upfront costing causes a large barrier to entry that is non-existant for Free Online Games.
When, not If
I think it’s clear that there will soon be a convergence from Web 2.0 companies and Game Development studios in the race to build value in free online games. These games have and will continue to move up-market. Things that can only be done on large budgets today will become available at a discount, or become irrelevant, tomorrow. The key now is to determine how to position yourself to not only take advantage of this new model, but also position yourself to bring unprecedented value to the consumers.
Exciting, isn’t it?
Comment on this post »
Comments: 2 - Date: October 4th, 2007 - Categories: Eets, Business, hiring, multidisciplinary, talent
I just realized: Currently, every single Klei employee can code to a certain degree. In fact, only our Art Director does not have Computer Science degree. Okay, there’s only five of us, but that’s still a funny thing that you can build entire games in this day and age with this kind of make up.
One thing I do believe in is multi-disciplinary talents. I’ve mentioned before that 90% of the art in Eets were created by programmers by trade, and the fact that our Art Director is quite proficient in Action Script is no small benefit. Our make up is something like this:
2 Specialized programmers
1 Artist who can code
1 Designer who can code
1 Programmer who can do art
During the development of Eets, we actually had 2 programmer/artists. I’ve been mulling on this a bit, and I’ve come up with the following reasons why I’m compelled to find as much cross-disciplinary talent as possible:
1) Communication is far better. Time spent explaining how something works on the art side versus the code side becomes minimal, and the final implementation is far cleaner, because both sides understand the needs of the other.
2) You don’t need to waste the specialist’s time doing simple tasks. The designer can script the entire level. The artist can write the script to interact with the GUI. The coder can hook up the art pieces.
3) Your schedule doesn’t go into smoke when one person goes out of commission. There are far more people that can take up the torch and finish the task instead — if you’re using SCRUM, this is especially important.
Interestingly, I’m finding that as middleware improves, there’s less and less reason to hire talent that don’t work well with other people — there’s less emphasis on engine creation, and almost every task requires that you work with someone in another discipline. I’m sure as Klei grows, we will start to hire more talent with less diverse education, but I will definitely push to provide the training and create better bonds between the disciplines. I’ve seen too much work go to waste because of that disconnect.
2 Comments »
Comments: 2 - Date: September 13th, 2007 - Categories: Business, desk formations
Single-person Office
When I wrote the Dawn of War Skirmish AI, my producer afforded me a single-person office. In that situation, it felt perfect: I was the only programmer on the AI, and it was relatively separated from the other tasks of the team, allowing me to focus intensely on my task at hand. Mostly during the day, I would leave my door open for anyone who had questions / comments; when I needed to concentrate and didn’t want any interruptions, I would close the door and code away. It was the ultimate “zone”.
The obvious downside to this is that I was cut off from the day-to-day workings of the team, and most developers don’t have the luxury of an enclosed system such as a Skirmish AI.
Open Office Formation 1
After working on DoW, I reverted back to the open floor plan, and immediately disliked it. The formation looked similar to this:

There are obvious advantages to this — it saves space, and you can put teams that work closely together in each formation — communication is much better in this layout. But there are also some glaring disadvantages:
1) It’s both visually and aurally distracting. You can hear everything around you and you’re literally watching your three compadres working, so when they get up, it distracts you.
2) Communication is still not ideal. Sure, you can chat with your co-workers, but first, everyone in that 4 person formation can hear what you’re saying, and second, if you needed an opinion or help, they would need to get up and walk around to see anything.
Open Office Formation 2:
Today, Klei works in an open floor plan layout. We place our desks in a circular formation such as the following:

In this formation, communication is much improved, and far less distracting. When one person on the team needs to talk to another, they simply turn their chairs around and roll over. This allows the developers to discuss things easily, and without distracting the other 2 developers. It also makes it far easier for a 3 or 4 person discussion. Finally, the actual communication is more effective — as soon as I turn around, I can see what the other person is talking about, right on their monitor.
This formation is also very effective (if not more so) in a four-occupancy office. It has all the advantages of an office, and improves communication.
The Roving Desk Solution
Most companies I know now work with desks on wheels. I’m a big believer of trying different formations out, and if they don’t work — change it! For example, at Klei, we have a six person team, all of whom work together on a daily basis. So we’re currently in an asymmetrical, slightly awkward looking circular formation. Taking it to an extreme, some companies (I believe HotHead and certain departments of Yahoo!) have everyone on laptops and roving desks, making it even easier to move around.
2 Comments »
Comments: 2 - Date: August 23rd, 2007 - Categories: Xbox 360, Eets, PC, N+, Business, ramblings, Casual, Long Tail, XBLA
When Klei began life in my basement, we had a prototype for our game, Eets, and looked to which platforms we could port it to. Eventually (you can read the full story here), it found a comfortable home on the PC, but we also ended up with a neat controller prototype to work with. Around the same time, we noticed the rise of the Xbox Live Arcade, and pitched it to then-XBLA-games-portfolio-manager Ross Erickson. It was a hit, and in April 2007 we released Eets: Chowdown on the XBLA.
We’ve also worked closely with Slick Entertainment to bring N+ to the fold, and through both of these products, we’ve certainly learnt a few things:
1. Exposure
We know who’s on XBLA. Better than that, we know they’re ready and willing to pay for games. In fact, $10 on a PC is $10 more expensive than what PC users are used to, where on the 360, $10 is an incredibly great deal. Add in the fact that the barrier to entry for XBLA is relatively high (at least compared to the PC), and you’ll find that it’s far easier to get noticed on the 360 than on a PC.
Note: I’m not going to go on and praise XBLA’s conversion rates — they’re very high, but they’re also irrelevant. It’s like comparing the conversion rate of Wal-Mart and bikes to a bike shop (the bike shop will certainly have a higher bike conversion rate, while Wal-Mart certainly sells more bikes).
Microsoft also has a decently large install base, and the Dashboard is built to show off your game whenever anything new pops up. Arcade Wednesdays has been very successful at drawing eyes to the latest products out, and Major Nelson and the like help drive even more people to your games.
At least in our experience, we have done far better volume both in terms of downloads and purchases on the Xbox than on the PC. I also suspect that, for the average game, the Xbox Live Arcade tail is longer and thicker than the casual space.
2. Good risk / reward structure
Compared to traditional console titles, games on XBLA (and any other console download service) are cheaper to make, require far less marketing, and the production cycle is cut to a third. In fact, I could probably write an entire article on AAA titles, and why it’s a tough life to make one as a third party developer.
Compared to casual games in the PC space, you immediately have more guaranteed exposure, as we talked about above. Your royalty rates are also higher (depending on your arrangements), and, not unimportantly, your profile as a studio raises significantly when you are known as an XBLA developer (few) rather than a casual PC games developer (many).
These two factors means that, as a small-medium sized studio, Xbox Live Arcade is a great place to gain some exposure with a good chance of some decent ROI.
3. Great support from Microsoft
I have to say, we were very impressed with the level of support we received from Microsoft during development. All three key points of contact (PM, Test Lead and Release Manager) had lightning fast response times — closing on the final stages of development, I would email our Test Lead at some time past midnight, and received a response 15 minutes later.
Microsoft also understands where the key barriers are to small developers and removes those barriers for you. They either handle it for you (ESRB submissions) or give you direct contact to the teams you need to know to get it done (testing and localization).
4. Easy to develop for
Developing an Arcade game on the 360 is a smooth ride: you have more power than you need, and the platform libraries are mature and easy to use. For the most part (see the note below), you can concentrate on building your game as efficiently as possible. That means both using their internal libraries (such as networking and match-making) and external third party libraries that you may have been prohibited from using because you couldn’t guarantee your target market would have good enough specs on the PC.
I’m also really looking forward to seeing how XNA turns out. I’ve seen Nick do some amazing things with it.
Note: Certification is that necessary evil that certainly no smooth ride at all. After the first time through it, though, it gets much easier.
5. Access to achievements, leaderboards, upsell features, etc
Microsoft puts a fair amount of focus on these features, and with good reason. My suggestion if you’re building an Arcade game is, think about these things early, and make the most of it. They’re great for extending your product shelf life, and obviously your upsell is incredibly important for your bottom-line.
I think many AAA developers could use a couple lessons in upselling, and building an Arcade game might not be a bad idea to do that. Too many of the demos on the Marketplace actually make me want to buy the game less than before I played it because of how badly it was put together.
Obviously, it’s not all a bed of roses to develop for Xbox Live Arcade. There are certainly things that could be much improved in their systems, but it was definitely a positive experience for us. Next week: I’m on holiday, but I’ll think of something interesting to write about
2 Comments »
Comments: 5 - Date: August 16th, 2007 - Categories: Eets, PC, Business, ramblings, Casual, Long Tail
Last week, my post was admittedly reeking of manifesto snobbishness. I felt like I needed some strong words to describe the changes that are happening to the industry.
This week I’m pulling back and writing about my own experiences with the Try & Buy, PC Download market. Eets: Hunger. It’s emotional (not the best game name ever), was released in 2005 as a try-before-you-buy download title. We sold it on our own site, and over time expanded to the major portals such as Yahoo! Games, Big Fish Games, and others. These are my top 3 reasons why I won’t be doing that again any time soon:
1. Developers take all the risk.
In this market, most developers create the game entirely on their own budget, and then ship it off to the distributors to sell. The distributors then put the game up on their site, and if it doesn’t hit certain metrics within a short time span, the game gets pulled off the front page, buried underneath hundreds of other games. You can bet the long tail is hard at work after this point, but selling a few copies here and there over a long period of time doesn’t benefit the developer — it benefits the distributor because of the volume of games. Hence, it’s in the distributors best interest to grab as many games as possible to build their library up and fatten the long tail.
In addition, because of the promise of “free” volume sales the distributors hold, they offer low royalty percentages. The result is that developers take all the risk in developing the product, while distributors get the largest profits if the game is successful. If the game isn’t successful, that’s still good news for the distributor as it builds the library.
Note: I’m not a big fan of “fairness”. Distributors shouldn’t be giving better percentages out of the goodness of their hearts — they worked hard to get into the position they’re in, and it’s an enviable position (for now). I simply feel there are other opportunities out there for developers that have a better risk/reward structure.
2. It’s not very exciting.
Last week I argued vehemently that fewer people can acheive better results than a huge group of people. I could write an entire article just on this (people have written books on it), but the most important ingredient in all of this is passion. The fact is, Klei is not staffed with people who are passionate about building games for this target market — that is, players who buy games off of Yahoo!, MSN, and Big Fish Games.
We believe we can and do make games for mass market audiences, but from our experience, the players on these sites are a very small subset of this pie, and the games that do well on these sites are not the type we wake up hoping to make.
Note: A few months ago, I went to a conference where a prominent casual game developer stated along the lines of “The console titles are working with such a niche, whereas the try-before-you-buy market is HUGE! Just look at how many people have computers connected to the internet!” To that, I say: Nike doesn’t sell to everyone with feet.
3. We don’t believe in the model.
Even disregarding everything above, I believe the market goes against the greatest strength of the internet. It can be encompassed with one word: Service. The future of games, especially ones delivered over the internet, is providing not just a finished product, but a continued service. But everything about this market stops you from doing that:
- You only have on point of contact to the user — the sale of the game. You will never earn another dollar off that customer for that game.
- Each portal has a different DRM, and you have no control over their priorities in updating your game (very low), so even if you wanted to, you can’t improve your game over time.
- Each portal’s largest asset are their visitors, so they will do everything to stop visitors from leaving their site, hence most players will never arrive at your site to participate in your community.
So there you have it. My top 3 reasons we’re no longer in this market. My prediction is that over time, these large portals will have no choice but to provide games as a service (some already do) (Okay, two of those three aren’t portals) (Actually, GoPets IS a portal, but it’s hidden behind a game). I realize I’ve opened a big can of worms right here, but I think I’ll leave that topic for another day.
Edit: Warren posts a very valid point, and after thinking about it, I realized that my title and post are somewhat mismatched. I’ve changed my title from “Top 3 reasons Klei isn’t into PC Try & Buy”, to “Top 3 reasons Klei doesn’t do Casual Portals”. In addition, here are my thoughts on Steam:
Portals such as Steam are a great step in the right direction. They give more visibility to the games they launch, are more selective with their choice in games, and they understand and promote games that are continually updated and modded upon. They also promote episodic content. That is, they get it.
I still feel it’s an more an incremental improvement than a revolutionary one, but I think Steam has great potential to be so much more. It’ll be interesting to see where portals take us in the next couple years.
Next week: Where Xbox Live Arcade excels
5 Comments »
|