• Advertisement

alnite

Member
  • Content count

    6707
  • Joined

  • Last visited

Community Reputation

3446 Excellent

1 Follower

About alnite

  • Rank
    Legend

Personal Information

  • Interests
    Art
    DevOps
    Programming
  1. what do you listen to while making / playing games??

    Some of the music I have played while programming: Trance, Synthwave, Sax Jazz
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. UUID is what you are looking for. There are plenty open source implementations for all kinds of languages.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. When did immediate mode take over the web?

    Lol. Web development is the new entry-level programming framework that people are learning nowadays. Coding bootcamps are churning new web developers every month. In the past few years, how many times have they switched frameworks? From Angular 1.3 to 2.x. Now, there are Polymer, React, Vue, among jazillions of many other Javascript/CoffeeScript/TypeScript/CSS/Less frameworks out there, each claiming better and simpler than ever before? Many times I have felt blessed that it was games that introduced me to programming.
  15. Seeking True Economic Games

    OpenTTD for sure does not have any stock/bond trading. It only has basic loans and subsidies. I don't know about the recent Transport Tycoon.
  • Advertisement