Jump to content
  • Advertisement

alnite

Member
  • Content count

    6709
  • Joined

  • Last visited

Community Reputation

3447 Excellent

1 Follower

About alnite

  • Rank
    Legend

Personal Information

  • Role
    Programmer
  • Interests
    Art
    DevOps
    Programming

Recent Profile Visitors

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

  1. All Javascript client code can be viewed by users. The only tool you have is code obfuscator, but that really doesn't change much, only add an extra layer of inconvenience. edit: You actually do want to use obfuscator, or minifier as some people call it. Since it compacts your code, remove whitespaces and trim names, it can significantly reduce download time and thus make your game load up faster.
  2. alnite

    What technology for a game-server

    I think you are confused here. HTTPS has nothing to do with PHP or its nuances. All the features you are asking can be simply done using standard web HTTP REST API interface. Similar to forums, Google Maps API, Twitter, Facebook, etc. This is language agnostic, and virtually all languages should have some libraries to do this. PHP, Java, Go, Python, Ruby, whatever that fancies you. HTTP supports file uploads. HTTPS is a secure protocol on top of HTTP. It's always a good idea to use it. The hosting company can do it for you. If you are into system administrator and stuff, you can do it your own as long as you have the certificate. Again, this has nothing to do with the language. Some languages are single-threaded like PHP, Ruby, and Python, and actually will have some problems handling multiple HTTP/S requests at the same time, and therefore needs additional libraries and tooling to do the threading, forking, and buffering so some users aren't getting a 500. This is where Apache and Nginx comes in to buffer those requests before getting into your code.
  3. alnite

    what do you listen to while making / playing games??

    Some of the music I have played while programming: Trance, Synthwave, Sax Jazz
  4. alnite

    Saving Player Information

    How depending on the requirements of your game and how many players you are thinking of supporting at a time. @hplus0603 already gave some pretty good choices. I am getting a feeling that this might be your first networked game, and by multiplayer, it really is just you and your friends, not the entire Internet. I'd say just pick one, just for the learning experience. You don't know which method is the best for your game. We can tell you the best solution is probably using SQL tables with replications so you can scale your server horizontally, and query individual fields for analytics purposes. You can also optionally go the Key-Value NoSQL route and save them as JSON. But, this is probably too large of a requirement for your game, and also by yourself to support. Not to mention the monetary cost of such architecture. If I were you, I'd just save them into a human-readable format onto disk (a simple `FileOutputStream`), and read it back when you load the game.
  5. alnite

    Trickjumping in games

    I like trickjumping in games. Reminds me of a friend of mine who was top-ranked back in the Unreal Tournament 2004. He and his buddy were so good at trickjumping that on one CTF map, they would trickjumped from the top of enemy tower back to the home tower to score a point (you are supposed to go back through the middle the crossings). This is the map: That kind of move was one way to confuse the opponents. You know your flag is taken, but you don't know where the fuck it is as you are not seeing it crossing through the middle. Instead it's flying right above you at high speed.
  6. alnite

    Is there a doctor in the house?

    Usually common among toddlers I have observed, but I assume normal adults should've grown out of it. Disclaimer: not a physician or a psychologist.
  7. I loathe web development, but it has become the necessary evil in a programmer's life. There are many different web frameworks out there, and each has its own styles and ways of making web development "easier" and "cleaner". Of course, that statement is highly subjective, and bound to change in the future as new and "better" frameworks come along. In my opinion, it all comes down to your personality. Some programmers like a big framework to work on. Some popular ones nowadays are: React, Angular, and Polymer. You typically need to install a backend (the server that serves your HTML) node.js with npm/bower/gulp and stuff, code in this pseudo-HTML/JS/TS, then build and compile your code into the HTML/CSS/JS that your users will be looking at. You are no longer working directly with HTML and JS files with these frameworks. Example of this pseudo HTML/JS (taken from React): class Square extends React.Component { render() { return ( <button className="square"> {/* TODO */} </button> ); } } Then there are the micro JS frameworks. They are somewhat less authoritative, and you can still add them to your HTML manually with the <script> tags. Examples include mithril, Vue, and pretty sure there are dozens others. They try to make web development simpler, while keeping the original spirit of HTML/JS intact, and without the necessity of downloading an entire framework with a bunch of npm dependencies. They typically provide the data-binding without forcing you to write in a pseudo HTML/JS like above. This is my preferred method of web development, but I have never been paid to do a frontend development. So, take my advice with a grain of salt. Then there are CSS frameworks. Bootstrap is a CSS framework. It comes with predetermined set of CSS classes to make responsive web. You can use Bootstrap if you are still coding the web like it's 1999, since all you need to do is to include the bootstrap.css into your HTML files and use them in your <div>s and see the magic happens.
  8. alnite

    Backups (online and image)

    I am doing the same, except DropBox for docs I want easy access to, and its camera upload features. Google Drive replaces my Office. Bitbucket for private repos, and Github for public. For everything else that I infrequently use, I use S3 with rclone to sync them up.
  9. One gotcha in developing a server-client application is that you can run into a chicken-egg situation. In order to test the server, you need a fully functional client. In order to test a client, you need a fully functional server. Which one do you develop first? Developing both at the same time can be time consuming if you do not have a solid protocol specification. If you change the protocol, you are updating both server and client code. What packets are being sent to clients when a player disconnects, when a player moves, etc. etc. Did the server respond correctly? Did the client respond correctly? What happen if they get out of synced? There is a lot of details that need to be hashed out before your server and client applications can even reach their alpha status. I have found out in the past that supporting HTTP can be helpful in testing some functionalities of the server, because HTTP is widely supported by the browsers. In other words, you have already gotten a fully functioning client, without the game logic obviously. Some people also recommend using telnet as your first client. However, I find telnet to be too rudimentary for testing once the logic gets a bit complicated.
  10. Any server-side language that supports threading should work. Java, C, C++, Go. Single-threaded languages like Python and Javascript may need additional libraries to support concurrency. Typically it's cleaner to have one thread to read and one thread to write, per player. So you are looking at two threads per player. If a game session has 8 players simultaneously, then you are looking at 16 threads per session. You do want to organize each game in a logical session in its own thread. It doesn't have to be a separate process. HTML5 can scale raster graphics easily. You will get pixelation, but that's more of a design question than technical. Do you want the vector look, or do you want the bitmap look? edit: pressed enter too soon.
  11. alnite

    Generate unique ID per user

    UUID is what you are looking for. There are plenty open source implementations for all kinds of languages.
  12. alnite

    What to do in a pirate game?

    Interestingly enough, these have been done by the Uncharted Waters series. I suggest you download and play the 1st and 2nd on DOSBox. It even features some kind of alliances between the nations, ability to invest in cities (so they produce better goods to trade and better ships). You can hunt down pirates, rival nations, or just be pirates yourself and attack every ship you see. Or, mind your own business and travel around the world and discover artifacts and treasures. Or, just do them all since you have unlimited time and it's open-ended. There's the MMO version of that game, which I haven't personally played. But I played the 1st and 2nd quite a lot back then and really liked the open-endedness of the game. You can definitely draw more inspirations from the series.
  13. alnite

    Let's gamify education!

    Definitely. Learning is more effective in a context of a fun environment. Video games can definitely be that context, but it should still remain a game, not a series of pop quizzes.
  14. alnite

    Let's gamify education!

    I posted my thought on this a while back. Here's an excerpt: In other words, it's about the practicality of whatever it is you are teaching.
  15. alnite

    The Go Programming Language

    I have been using Go a lot. Is it suitable for game programming? I don't think it's quite there yet, simply because there is a lack of interest in developing a UI for Go. Check out go-gl for GLFW support. https://github.com/go-gl/glfw It is, however, very suitable to write server-side code for your game. The UI can be served from the Javascript side through websocket. In some ways, I think it may end up be a better architecture because you are separating the game logic/data from the rendering.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!