Games Distribution Platform for Unreal Engine/UDK Games.

Hey guys, I am an indie games developer who makes games in BGE and UE4.

I’m also a web programmer with experience creating bespoke content management systems.

I wanted to let you know that I’m working on a games publishing/distribution site made specifically for indie/pro games made with UE4/UDK.

I would like to make it a fairly dynamic site. So plenty of discussion/comments sections for ease of communication between players and developers. Most likely Facebook integration.

I’m creating the entire system from scratch, so it’s completely bespoke for the community.

It’s in an early stage of planning. Just mapping out the structure of the site.

One of my main goals, is to try and maintain the look and feel, quality and community found with Epic products. I’d like to approach somebody who works for Epic games so I can maintain the same high quality standards. Keeping that high level of standards for both the developers and the end users is a high priority.

Planned features:
Public gallery,searchable by common attributes (genre, theme, game type, platform etc).
Developer specific pages. So if you have more than one game, you can have your own “store front” where you can share a link to your own games page
Analytic’s - Private dashboard for developers to see statistics about their games or to make edits.

In terms of a business model, I’m not too sure at this point in time. The main cost really is server storage for game files/photos etc.

Anyway, as mentioned, this is very, very early! I would love to hear your thoughts though! Even if they are crushing, best to get it out at the early stages before I get too committed! I will outreach when the time is right, but if anybody who works for epic who is reading this forum who could advise me on my notes about about the consistent look and feel, I’d love to hear from you. I certainly don’t want to do anything without correct permissions!

Update
Website has now been made publicly available!

Upload your games now!

Website: buy-ue4-games.com
Facebook: buy-ue4-games

**Interested in helping? **

  • If you are a competent PHP/MySql programmer and would like to contribute, please get in touch! Especially if you are skilled with security!

  • CSS designers welcome! This will be very far down the road though! In typical programmer fashion, my design skills are not amazing! :slight_smile:

  • ANY community feedback from you guys is important and a massive help!

  • I could benefit with games or demo’s you don’t mind being published for free, to be used as test dummies during testing stages.

So I’ve made some pretty hefty progress on this.

I now pretty much have all the basic systems in place. Or at least not far off.

Developer log-in
Game upload system
Cloud photo handling
Developer unique games page

The game uploading so far, allows multiple photos and files. With the file uploads, you would ideally upload individual compressed folders for different formats (my_game_windows.zip etc).
You are not forced too though. As long as you upload one photo and one folder.

I’ve laid out the databases so that it’s very easy to add addition information to the game details. So there are some other bits, such as declaring if the file is a demo/free release or the full game.

I’ve also made provisions for game/user statistics and download analytic’s.

The basic system is very rudimentary at the moment. So I need to start working on making it a bit more asynchronous. Security measures have been put in place as I work.

Next tasks:

  • Finalise skeleton functionality
  • Convert certain tasks to be asynchronous

d4d52aff66a84a0caaa1fa987255466aab90e387.jpeg

One of the big challenges of this project, is data storage.

Mainly, photos and game files. Especially large game files!

I will be using 3rd party solutions to manage to game media.

I’ve implemented Cloudinary for photo management. Not only does it have a powerful API for managing and manipulating photos, it’s a very optimised system. It also has an easy to use PHP API. I especially like how easy it is to manipulate photos on upload or any time you are requesting an image. This has been implemented to the site. They are reasonably priced too, especially as your images are optimised nicely and so reducing your data footprint.

I’m currently researching cloud storage solutions for the actual game files. I’ve been looking at Google cloud storage. I’m going over the documentation for the API and it seems to be a reasonably easy API to work with. It too, is also fairly cost efficient with a pretty good price per GB rate. Their API has systems to manage large uploads which is definitely required for this sort of project.

I’m not settled on a cloud storage solution just yet. I need to look around a bit more before I settle on anything.

If you know of a good cloud storage provider that has a good PHP API please let know!! Feel free to give me an affiliate link if you are signed up with somebody that has a reward scheme for you!

*Sensitive and non-media data will be stored locally. I’ve created the databases so that system critical/sensitive data is completely isolated from other systems.

I’ve been putting in some serious leg work upgrading the game upload to a fully AJAX powered system. I still have quite a lot to do to.

The upload process will now be a lot more dynamic. You will be able to upload game files in the background while you work on the rest.
You’ll be able to dynamically add/remove as many photos or and files as you need.
Your game will be auto saved as you work.
The UI can be a lot cleaner too as less needs to be on the screen at the same time. Unlike the last photo I posted that had lots of form inputs.

I’ve put a lot of work in to this, coding it from scratch. It will pay off though. Having a completely bespoke system written from scratch will make life a lot easier down the road when I want to customise any systems.

I did manage to find an alternative cloud storage provider. I’m trying out bitcasa. There cloud storage has a PHP SDK as well as a RESTful API. I’ve been messing around with the SDK. It seems okay. Just the documentation is hopeless so I’m having to study the classes themselves.

hello Cypher2012, your project is very interesting, i will keep on eye on this topic for sure.

Hey enzoravo,

Thank you for the support! :slight_smile:

Made some good progress today again.

Created an entirely new file system which is a lot more simple to use. It will also make it a lot easier for me to switch to a different cloud storage provider once I find a good provider.

The upload page is still a big focus at the moment. I’ve finished making all current elements AJAX powered. Now you can add/remove as many photos/game files as you need and make any changes to the core details. No need to even press a save button.

Previously, without too much thought, I originally sized all images to square dimensions. After some consideration, I’m thinking it would actually be better to enforce a standard LCD widescreen aspect ratio/resolution for images. I think this is a lot more appropriate given the target medium. This will allow proper in-game screen-shots to be uploaded nicely and allow for nice wide-screen profile/game cover photos etc.

Confirmation box’s appear before you delete any files/photos or the whole game.

So the next cloud storage service provider I’m going to try is Amazon S3.

After watching some tutorials, it’s revealed they have a pretty simple to use PHP SDK. Also, looking at the pricing, Bitcasa (Who I have been trying out) are hugely expensive.

Bitcasa - 5TB $1000 per month!!
Amazan S3 $0.0125/GB per month. So about $62 for 5TB per month. (Keep in mind there’s also a small charge for other bits, such as download/access usage, but equally minute).
Google - Similarly priced to Amazon. Overly complicated SDK API.

Let’s work on the presumption that a modern game is around 50GB to keep maths simple.

Bitcasa - $10.00 per game per month!!
Amazon/Google - ~$0.62 per game per month.

That price can actually be deflated, as game folders should be compressed before upload.

Why is Bitcasa so expensive? Have I done my maths wrong here? Is it simply because they are not a large, powerful company with the same resources available?

I’ve been checking out the prices for a VPS web host. I’m currently creating and testing the site on a basic shared host, so it can’t handle/restricts very large uploads. Which is a real pain as the files only need to be temporarily uploaded to the server before being transferred to the storage provider.

For any other developers/web site owners,

I will also be doing a public “API” so you can retrieve game data from the site and display on your own. In my head, I’m planning to start with an XML and a JSON variety which gives access to a lot of developers using different programming languages. If it’s popular, I may do a PHP SDK, but, that will be quite far down the priority list at this moment in time.

Neat, i will definetly check your progress

The website is now transferred over to using S3 cloud storage for the game files.

I’ve also managed to achieve quite a big goal. Your game files no longer need to be uploaded to the main website and then transferred. They will now be uploaded directly from your computer to the cloud storage. That means you can now safely upload files as large as you like and they will upload much faster.

Well, I’m pretty happy with where I’m getting with the file system. The real hard stuff is out of the way now. phew! :slight_smile:

I decided to take a bit of a break and spend a bit of time working on the public API stuff. This will actually come in handy for when I start creating the display pages. I will probably use the same data retrieval to power those pages.

The image below shows the response you can expect to receive if you request game information.

I’ve been working on an XML and JSON variety. Most modern programming languages have tools to parse those, so this should open the door for many developers. Both will have an identical data structure so it’s not confusing if you switch.

7bb150faa358e2ec3fdb9069881b9bd60bad479c.jpeg

It’s very simple to use. Lets say you are a PHP programmer…
Sample for XML:


$output = simplexml_load_file("http://test-domain/public_api/games_xml.php");
foreach($output as $game)
{
   echo $output->game->vcGameTitle ."<br>";
   echo $output->game->ext_url ."<br>";
}


Sample for JSON:


$output = file_get_contents("http://test-domain.co.uk/public_api/games.php");

$result = json_decode($output, true);
foreach($result as $game)
{
    echo $game'vcGameTitle'] ."<br>";
    echo $game'ext_url'] ."<br>";
}

I did a bit more work on the API. I’m thinking to stick with just XML, is going to be a better option.

  • Less work load due to sticking to one data exchange method
  • Easily allows nested data such as images for each game. You can see in the image below an example of nicely nested image data.
  • Universally known and lots of tools built for parsing XML in many languages, including C++
  • Safely allows added available data without breaking applications relying on the API.

Now nested with additional info such as tags, platforms etc.

A bit more work done for the game upload section.

You can now tick/untick what platforms your game supports.

Instead of the entire game being ticked as a demo or not, you can now mark the individual game files as demo’s or full releases, so they are together in one place. I think this makes a lot more sense.

Also, the game won’t be released until you decide for it to be published.

Getting close to finishing all the core functionality for the game upload section.

eb21a1a83c41b8c8fe66e313342ec6dd65e4fd8e.jpeg

So I’m pretty happy with the game upload functionality. I managed to finish it off.

I’ve started thinking about how to present the games to the end user. As of yet, I’m sticking with targeting widescreen PC users. My aim is to allow users to browse games with nice large images while getting some basic information. If they want to know more, they can click and view the game for more information.

Thanks to the great optimising on Cloudinary, users with bog standard broadband will be able to enjoy browsing large images without a performance hit.

I would really prefer an even cleaner look than that shown below. Purely just images with information displayed when the user hovers over. Something like that at least.

47c535334d4a41d536b3a757ae727f20b927611c.jpeg

I’ve been very busy today working on the search engine.

This is a real headache to get right, but I’m getting there. Users will have a few options to search with and they will be able to choose how results are ordered (Rating, recently added etc).

Full search features will be made available to developers utilising the public API.

I tested the game uploading with one of my games, just to test in a slightly more real scenario.

All seems to be working okay.

I had a little problem when I copy and pasted formatted text in to the description. I’m thinking of adding a rich text editor for the descriptions anyway, so that’s not an immediate problem.

Users can now download versions you have marked as demo’s, directly from the games display page.

I’ve made a start on the purchasing systems too. I’m thinking a buy-it-now style option would be better than a cart. I can’t imagine many people purchase more than one game at a time.