Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

604 Good

About timothyjlaird

  • Rank

Personal Information

  • Role
    Amateur / Hobbyist
  • Interests

Recent Profile Visitors

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

  1. timothyjlaird

    Question on which engine should I use

    Monogame may be something to look at. Its a port of xna so it's got a very solid tutorial base (most xna stuff seems to apply). I'm using it for 3d but 2d seems solid: http://rbwhitaker.wikidot.com/monogame-2d-tutorials
  2. As said there are so many solutions to the problem, one that seems to work well: Stick one text file that will go wherever your BIN folder lives. This file can have key value pairs that point to directories where your resources (text files, images, etc) are at. Your program simply looks for that file when it loads in it's current directory, tries to find resources where the file says they are and goes about it's business. That approach has the benefit of changing where the resources go without changing code and it's very transparent how the mechanism works. Also it lends itself well to multiple resource paths for when you want to load more than text.
  3. It's hard to simplify installation of a full up database engine like postgres or sqlserver. They are engineered with a lot of features that support concurrency, high availability and security which makes ease of use and installation hard to do. The alternative is a file based database like sqlcompact or sqlite. They sacrifice the features I just mentioned for ease of use and simplicity. Very good for caching data though for a single app (this is why every Android app uses it's own sqlite file database for persistent storage). I would suggest storing your big rich data set you speak of on an internet facing server. When a user installs their game it shouldn't be hard to install sqlite with it. Then sync down what the game needs from the internet database to the sqlite database. It'll give the user the cache they need without forcing them to jump through hoops to install a real database.
  4. timothyjlaird

    How do "licenses" for code projects work?

    If it's MIT licensed you are pretty much free to do whatever you want EXCEPT blame the person who wrote it for ruining your day if their code poops on you. That's the gold standard for open source. You see anything else, read it and understand it. And just because you aren't selling something doesn't mean you won't get into trouble or have unexpected things happen to you if you abuse the license, misunderstand or ignore it.
  5. timothyjlaird

    WinAPI + C > Executing a program on a window.

    Is your goal to launch a console window from your win32 api graphical window? If so, this should give you a starting point: https://docs.microsoft.com/en-us/windows/console/creation-of-a-console
  6. timothyjlaird

    To prototype or not to prototype?

    Speaking to the value of prototyping... In software development it's a necessity, it is a logical progression on the way to test driven development. If you prototype and test your design constantly during development it dramatically lowers the risk of getting weeks or months along and producing crap, or failing. It's silly and trite but our company had to do the marshmallow challenge in small groups no long ago: Every team that didn't prototype and test their design before committing the full time block failed the challenge. The damn thing flopped over. Point: invest the time to prototype, test and redesign constantly so you fail fast when it doesn't cost much instead of failing when your ass is on the line.
  7. timothyjlaird

    Game Dev. Laptop

    Thinkpad not a fit then. If they had ported ut3 to Linux I would run a test for you but they never did...but looking at their dev specs it would be constantly pushing that machine to the limit. I have verified it kicks ass with quake era, css and vanilla opengl graphics but I would call it a excellent coding laptop with workable 10 year old graphics and that's it. If you take windows 10 off (that it ships with) and put lubuntu on it it does really well but no miracles
  8. timothyjlaird

    Game Dev. Laptop

    Kind of depends on what kind of game development 😋 I have a Lenovo Thinkpad T430 (refurbished) with SSD that fits me great, but I don't do the unity stuff. It's plenty fast to run counter strike source era stuff though. And cheap. $300. Buy a spare battery to go with it and you are set. Bring your desktop to college and stick in your dorm to run the heavy stuff. You can bring this to class. Spill coffee, buy another... https://www.amazon.com/dp/B0733H5YZY/ref=cm_sw_r_cp_awdb_t1_WPegCb5VBZDBS
  9. timothyjlaird

    Actual logical code theory resources

    Flowchart for Terathon's Tombstone engine: http://tombstoneengine.com/architecture.php
  10. timothyjlaird

    Game Development on Linux

    If you are trying to add to your CS portfolio I would argue you will add more by rolling the majority of your game code than using a canned thing like Unity or Unreal. There are a lot of people than can use engines not so many that can architect a simple one. Linux isn't terribly popular for gaming... you won't get a lot of exposure but it's awesome place for a game server. I would suggest writing a game server for a multiplayer game...chess, pong, risk or some such. Then write a cross platform client for it that will run in Windows, Linux or Android. The 2 pieces could be linked with Google protocol buffers... https://developers.google.com/protocol-buffers/docs/tutorials It'll go better if you can design it out so your work scales very well. Like with a dumb ass high level client (would suggest C# mono or python) that you can perfect later. You could pick one platform to start with and then add more later, if your design is good enough. I would focus the majority of your energy on the network programming part. Making that work well and be extensible will be the hard part. But it'll be more marketable than the game itself if done well. There aren't too many people good at it.
  11. timothyjlaird

    Alternative to client server networking in games?

    I'll look at the quake code. Question is though...is a new event required (for a state change) 60 times a second for EVERY player all the time? I would think in case of an fps there would be times where you are by yourself...no one is interacting with you and there really are no events. Ocassional dead spots. In that case, querying the server for state is a waste for the network and the server.
  12. timothyjlaird

    Alternative to client server networking in games?

    Can you tell me why? That's what they teach in school I think. Blindly following theory that's been status quo for 30 years isn't really a wise thing.
  13. Traditionally (I think) gamers connect as a client to a central game server and poll for updated game state, as well as telling the server where they are and what they want to do. How about reversing the flow to speed things up? The gamers connect as clients as before but only to subscribe. Then they break off. For each gamer subscribed, the server turns around and acts as a client to the gamer. Sending messages as a client to the gamer whenever that gamer needs to know about a new event. The difference is, communication isn't query based (wasting messages when state hasn't changed) and is instead event based. Communication only happens when state changes, no waste! Granted, the traditional model has an advantage because the servers hostname or IP is perfectly static and the gamer doesn't have that luxury. But DHCP leases usually last for days. Some gamers may lose session if they play for days on end but that isn't really so bad...as long as you can play for a few hours at a time, sounds manageable. Does this idea sound practical or a fantasy? It just sounds like it would be a lot faster if you only had to talk on state change (an event) as opposed to a wasteful query on some kind of rapid interval.
  • 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!