• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
BKrenz

Launcher, User Authentication, Update Downloading

7 posts in this topic

Hello everyone!

 

Before I start, I would like to mention that I know my away around programming general applications and the like in C#. It's my intended language for the game I'm planning.

 

I'm currently planning out a Sandbox RPG style game, devoid of any story lines. The plan is to use a Client-Server model, where a player will spawn a server to handle all of the computations and logic for the game, and the client will handle the rendering, audio playback, and user input. The reason behind this is to allow for easy locally-hosted multiplayer.

 

However, I'm still in the planning stages and things are subject to change. I'm still planning out a lot of the main game content, but I'm also working on selective implementation details. I plan on starting with a basic Launcher for the game, through which a player will Login using a created account and be able to download the game and its updates. The Launcher will also be providing other data, such as news.

 

I'm stuck with planning the implementation details of the server, as it's not something I've encountered before. Basically, I need to figure out how to approach an authentication server based on created user accounts, and how to accurately distribute the latest updates of my game to the user base.

 

Also, I figure I'm going to have to host this stuff somewhere professionally. I would only need the Authentication server running full time, and the ability to download the game files directly from there. No idea how to approach that, either.

 

Feel free to ask me more questions if you don't understand what I'm saying.

Edited by BKrenz
0

Share this post


Link to post
Share on other sites

Essentially here's plan for the User Accounts, Login Authentication, and Game Downloading as it stands now. I need to know if there are gaps, and how to fill them in, and whether or not I'm sane.

 

 

1) I will need to create a website (or a similar function) that allows for users to create accounts.

2) I will need to store these accounts in a database.

3) I will need to create software to act as the authentication server.

4) This authentication server will process incoming requests from a user's launcher when logging in, and verify it's a valid User.

5) The server will need to access the database for verification.

6) The server will return the verification results to the User.

7) If valid, the launcher will proceed.

8) The launcher checks if game is up to date, and updates if not.

9) I'll need a place to have the game files hosted.

10) I'll have to code the launcher to correctly install the files.

11) The launcher will create an instance of the Game Server and the Game Client, for actual gameplay.

 

 

So my questions are:

 

1) What is a good website hosting company?

2) How would I host my Authentication Server?

3) How would I host my game files for download?

4) A MySQL server would be best for a database of the user accounts, yes?

 

 

I'm going to have a playable state in the game before I even start worrying about login features. That's namely for when I need to manage other people playing the game.

Edited by BKrenz
0

Share this post


Link to post
Share on other sites

You have nothing in there where the Launcher validates that it is actually talking to the server, or that the launcher validates the files as being signed by you.

0

Share this post


Link to post
Share on other sites
If your game is small, you can host the files, and the user database, and the login service, all on a shared web hosting plan, such as DreamHost or whatever. You can have the game use a HTTP POST with user name and password to get back the validation result for the account. Write the application in Python or PHP or Ruby or whatever web hosting language is available where you get your hosting set up. PHP is very easy to get started with, and will get you pretty far, although if you dive very deep into it, it will drive you batty with all of its language and library inconsistencies. For a game that may or may not get big, it's probably the perfect choice, though :-)

The "best" database is mostly a function of what you're most comfortable with. There are many games that use MySQL for user databases, so that can work great. MySQL is also usually available from web hosting companies. Other options for user account databases might be Redis, RIAK, MS SQL Server, BigTable, or SimpleDB, depending on which particular technology stack you're building your server on.

Once your game starts to grow and you're ready to go "for real," you can move your code and data to a virtual provider like Amazon EC2 or Linode or Rackspace, or you can start renting full servers from any self-managed or co-location facility.
0

Share this post


Link to post
Share on other sites

Thanks for the response hplus!

 

As for the web hosting, I'll look into using Python, as I know some of that. If unavailable, I'll definitely look into PHP.

 

As far as databases go, I'm not really extremely interested in database work, and only really need something that works. I'm not familiar with designing any of the database languages you mentioned. Would you recommend one over another, and how would you recommend learning how to do what I need to do?

0

Share this post


Link to post
Share on other sites
You may not be interested in databases, but that is the tool you have to use to solve this problem :-)

I think the best overall option would be to use MySQL. It's available everywhere, and performs well.

You'll need to know how to create database tables, and how to insert, update, and query those tables. This means learning some MySQL administration (for the user/password your server uses to connect,) some SQL (for the table creation and queries,) and some MySQL connector library API (for actually having your code run the queries.)
0

Share this post


Link to post
Share on other sites

I completely understand I have to use it. I've learned it in the past, but that was Sophomore year of High School. Plenty of time since then, so all I remember is basics.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0