Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

107 Neutral

About jlouts

  • Rank
  1. jlouts


    http://primordian.com/ a website designed for people to connect with random strangers to chat and play games with. The entire website including all the games have been programmed by me in java using GWT. any feedback is appreciated.
  2. you can export to a runnable jar (essentially an exe). Easiest way to do so is to use an IDE that supports the operation (like eclipse). Alternatively google arround to see how to make a runnable jar.
  3. BA is for wimps get a BS I don't know much about this but I'd assume that a general computer science degree and a game programming degree would be similar. I've not heard of many places with a specific degree for game programming most places I've looked into have computer science/software engineering and offer the options in upper level to focus in specific areas (such as game development). MIT and CMU are definitely two extremely good schools for computer science. They are also extremely expensive. From what I've heard from my uncle essentially when getting jobs a degree is just to get you your first job and from there it's all based on experience. I wouldn't depend on a school to teach me what I need to be ahead of everyone else to be honest. In my case I didn't even take SAT subject tests (which prevented me from applying to those high-tier schools) but my knowledge from programming as a hobby has been able to get me a programming internship at CMU before I even started college and which I'm continuing through the school year (from PITT which is right next to CMU).
  4. only problem with IPs is they aren't static for each machine. multiple machines behind the same router share an IP. computers can go from place to place using different IPs and a lot of ISPs provide dynamic IPs rather than static IPs. You could try using some type of uid system for tracking users rather than user registration. So the game would store locally a uid and if it doesn't have one it would ask the server for one, the server would then generate a new uid for the user that they can use to use the service. If they don't provide a valid uid for the system when using other services than uid generation you can lock them out.
  5. This whole thing is off topic, but I'll bite. Java runs on a single plaform: The JVM. There are emulators for the JVM for many platforms, but the way I see it that's not being multi-platform. [/quote] JVM uses a JIT to compile java intermediate code to native code of whatever platform it is on. Seems cross platform enough for me, unless you really want java to throw out the compile once run anywhere philosophy, in which case there are various compilers to compile java code to native code. As for the topic of which OS is best for programming? It really shouldn't matter in this day in age, I bet there are full featured IDEs for linux just as there are for windows and if you wanted to you can use command line for either platform. All that matters is that you're able to get the job done which virtually all operating systems allow you to do easily anymore.
  6. jlouts

    Question about inheration

    I believe you have to make the Render function in CMenueButton virtual as well to override CMenueElement's Render function.
  7. jlouts

    Input on multiplayer system

    developers on xbox live, psn, and steam aren't dealing quite the situation that I am where I want to provide a website that requires no plugins (just a modern webbrowser) nor firewall/port forwarding to use. So until websockets get more support I'm stuck with http requests. Well just to make it clear I'm not writing straight javacsript, I'm using GWT, but based on what your saying, by allowing multiple connections to queue up for data from the server I should be able to reduce some of the latency introduced from the actual establishing of the http connections?
  8. And here's the proof that knowing Java alone will make you superior programmer. [/quote] That made no sense. [/quote] java code is inherently cross-platform unless you utilize native code.
  9. jlouts

    Web game - what language?

    There's a huge array of options, no single choice is really best but here are options: frontend: -Java applet -GWT (Java code compiled to javascript) -javascript -flash backend: -php -java servlet -ruby on rails -google appengine (hosts java servlets/python/Go code. Also provides an easy to use interface with GWT) -generic TCP/UDP server (coded in any plethora of languages, you'll need a java applet or flash to connect to it thought) There's plenty of options/combinations and even more than I've listed. I've found (being a java programmer) that GWT is really easy to use without knowing a great deal of javascript (you still need to learn some as you go though). Originally I used appengine but google is changing the pricing model so I switched to PHP and everything has gone smoothly for me. edit: on a side note, remember that HTML5, although not finalized, is supported well enough by latest versions of browsers for you to be able to use features of it like canvas, embedded SVG, audio, and video. Eventually there'll be full websocket support (probably not for a while) and you'll be able to use javascript to connect straight to a server.
  10. jlouts

    How secure is this?

    It'd probably be quite difficult for someone to see the data going from your server to a webpage. Although, assuming it'd be relatively easy to implement https there wouldn't be much reason not to. Well there's not really much you can do to prevent the encryption to be figured out by a hacker if they really want to, no matter how obscure your technique is; as long as the code is running on the person's computer they can reverse engineer the code and the networking to determine how it all works.
  11. Some people are mentioning doing the command lines for compiling and linking, etc is helpful for learning the "low level" stuff. I don't see that as the case at all. It's just annoying things you have to do to get to a compiled product. If you want to learn real low level stuff play arround with some programs in a dissambler and learn some assembly language and then you can see the kind of things going on low level. You could also try and write an emulator for some old game system (I did one for gameboy, it's a pretty simple system) to learn more about what's going on in the "low level" of programs.
  12. jlouts

    How secure is this?

    I'd advise against storing passwords unencrypted or in any form where they could be unencrypted. What's pretty common is to use MD5 hashes and a salt to store passwords in a one way encryption manner, i.e.: users sets password to "password" server generates random string "idj34" as the salt what gets sent to the server is a md5 hash of the password server stores salt in the database and stores the following for the password: md5(hash+ md5(salt)) then when i user attempts to login you transmit the md5 hash of the password they entered and on server side you do the following: strcmp(getFinalHash(),md5(hash + md5(salt)) == 0 this way if your database is broken into or if someone sniffs the traffic the user's password is never revealed. edit: other hashing algorithms or one way encryptions can be used as well, doesn't have to be md5
  13. jlouts

    Input on multiplayer system

    Sounds great but in complex simulations (not pong) it could be rather costly to do that rewind and then fast forward especially if there's a lot of randoms performed and whatnot. Although the issue of one person lagging isn't really something that big of a deal since I'm working in a purely 2 palyer enviroment. I would much rather the game be somewhat sluggish if one person is lagging than the non-lagging player getting a huge advantage (and if one person hosts the server lag from him would still freeze it I think). What you probably want to do is use your server as a NAT introducer, and use UDP to talk between the players directly. Also, you want to send one UDP packet per tick (at 30 Hz) if you want lower latency. Finally, you want to assume that a player just keeps doing what he/she was doing last tick if you don't get a packet for the next tick. However, this also means clients need to be prepared to snap/re-sync their data when the server tells them to, because packets were dropped -- no lock-stepping possible. If you want lock-step synchronized simulation, then you want to use TCP, and you have to add enough latency to work around occasional TCP hiccups. This is the RTS model -- give a command, wait for the "yes, sir!" animation to play, *then* actually start the action. [/quote] Unfortunately I don't think there's really a feasible way to do this with my model. The issue is the games on the site are in javascript and I'm using http to communicate from clients to the server. There doesn't seem to be a way to make direct connections unless I implement a java applet to provide the functionality, which also leads to problems of port forwarding/firewall rules being required to use the site :\ from what everyone is saying lockstep seems to be ideal for RTS since you can easily give those acknowledge commands and animations to make the lag invisible.
  14. There isn't really any way to avoid this since it's technically possible to emulate any type of connection over a network. There's no way you can 100% stop it but you can do various things: -user authentication so an account is tied to each upload for easy banning of users (can be silent banning) to block their bad content and batch delete it. -use some custom encryption algorithm on data transmitted, would make it more difficult for them -if possible transmit a library/executable code to the client upon connection that's used for doing the uploads it's kind of an issue to be dealt with as it arrises. having users tied to data is definitely useful to be able to delete spammed data rather than delete all data when spam does happen. also, you could have built in limits to how often things can be uploaded and then your server can tell if someone is using your client or custom code and automatically blacklist them.
  15. jlouts

    What does this code do?

    looks like a rather hackish way to change code to use a different scePrintf rather than printf. Don't see why you would use it unless you were going to modify some compiled library or something that you don't have the source code to.
  • Advertisement

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!