Advertisement Jump to content
  • Advertisement

timothyjlaird

Member
  • Content Count

    119
  • Joined

  • Last visited

Community Reputation

604 Good

About timothyjlaird

  • Rank
    Member

Personal Information

  • Role
    Amateur / Hobbyist
    DevOps
    Programmer
  • Interests
    Programming
    QA

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.
  14. So I have written some python 2.7 code to generate random mazes on the fly and export them to wavefront OBJ and it seems like a place to start for a simple first person game. Goal: get out of the maze before your time is up and the fog eats you or something. Looking for current game or graphics framework suggestions. Focus is on simplicity, so just survival based play...i.e. no shooting and no fancy physics. A first person camera roving around. No normal mapping, real time shadows, or custom shaders required. My problem is that I've been out of the circle of game development for so long I don't know whats current anymore. I'm looking to code at high level...C#, Python, JavaScript. I know C/C++ but I like to keep that for work. It need to be able to run on Windows and Linux. Don't care about Mac. Free would be nice, if its a perfect choice for me I'll spring for up to $200 for a license. Needs an art asset pipeline that makes sense. I need to be able to make models in Wings3d or some other free software. Don't want a free or low cost engine where the art pipeline is optimized for Maya or Autodesk 3ds max (saw it with T3D). I'm searching for an API or framework somewhere in the middle between bare bones OpenGL or WebGL and cookie cutter brainless. Things I've looked at: Panda3d - Not as attractive because it requires a monolithic installer and has legacy graphics, but I may be able to live with it. Unity - Never touched it before. Have no idea whether its overkill or not. Torque3d Advanced - Seems buggy ThreeJs - may be a good compromise on complexity vs simplicity ^I have an open mind. Those are just some impressions that can be changed. Thoughts?
  15. timothyjlaird

    Newbie Approach Thoughts

    Blitz3d was fairly simple but not drag and drop. Some hard walls on scaling pretty soon too. On the approach... Depends totally on you and your goals. Learning design and the backend graphics programming at the same time is near impossible so pick one or the other and don't stop. Learning is a very personal thing so follow your own path.
  • 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!