Jump to content
  • Advertisement

JaredBGreat

Member
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

7 Neutral

About JaredBGreat

  • Rank
    Member

Personal Information

Social

  • Github
    BlackJar72
  • Twitch
    jaredbgreat

Recent Profile Visitors

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

  1. JaredBGreat

    Types of missions (Quests)

    While part of involves remembering to include a full range of dialogues, a lot of that comes naturally if you have a well designed systemic game.
  2. JaredBGreat

    Encrypt and Decrypt the digits

    Well, here is a function I wrote (in C++) that will reduce anything to a 4-byte integer that looks pretty random: https://github.com/BlackJar72/MyLibraries/blob/master/ArrayContainers/src/HashFunctions.cpp C# also has its own string.GetHashCode() that you can use; you would be converting all this info to some kind of string anyway it seems. If you really think you need to get a 5 digit or 4 digit number then just use something like this: result %= 100000; // will give something representable as 5 decimal digits resultString = result.ToString(); // if you want a string representation Now, I think you are mistaken about a few things. First, the mac address is in the network interface, which may or may not be integrated into the motherboard. Second, the mac address will always be 48 bits (or 6 bytes / about 15 decimal digits) regardless of the operating system -- it's a hardware standard and will be the same in any operating system (unless you have a hacker spoofing the mac address). You would put all the data into a string first; but again, a number this size is inherently insecure -- you could force time delays or have a lockout for incorrect numbers to improve this -- but the number is inherently not secure due to size and the small number of combinations (to a computer). Also, it will be impossible to "decrypt" this back to the original, you'd just have to create it on each side and compare.
  3. JaredBGreat

    Encrypt and Decrypt the digits

    This is very similar then to dealing with a password -- you want to know that the other party has the right number, but you don't want to share the number. The way this is usually done with passwords is that a hash is used; the hash is usually 256 bits long (sha-256 or sha-3 cryptographic hash algorithms). The hashes are stored on the server (sometimes with some extra randomness called a salt). You don't actually decrypt the hash; instead, the number is re-hashed and the hashes are compared. The hashes are usually larger than the password, too (a 10 character password would be 10 bytes but become a 32-byte hash). One possibility would be to hash both MOBO data from both PCs, they send in the hash or yours and their info, which you then hash and combine the hashes and look up the combined result. Note that if you're worried about the data being stolen in-rout you might want to use a secure connection similar to what secure web pages use. There are networking libraries for that (Google AES). Note, that security can get complicated -- but if you aren't that concerned about high security giving a fairly simple hash of your MOBO info might work. There are many hash algorithms, and most languages have some standard library support for hashing, which might not be a cryptographic hash but if you aren't concerned about high security they might work. Then, if that's all you want you might as well just assign a random/made-up ID code. EDIT: Five digits in and of itself it inherently not secure -- that could be cracked by brute force in a fraction of a second. It sounds to me like what you need is two things: A randomly generated number to act as a ticket (five digits, well OK I guess) plus network security. If Unity (a guess from C#) then I just googled for you and this might help: https://docs.unity3d.com/ScriptReference/Network.InitializeSecurity.html; If not you might need to find a third party security library; if security is important to you I will warn the trying to roll your own is a very bad idea in most cases.
  4. JaredBGreat

    Encrypt and Decrypt the digits

    It sounds like you want one of two things, neither of which I'd call encrypting per se. Forcing into X number of digits implies you want a hash function, however, hashing cannot generally be reversed. Adding all the numbers than padding with zeros, or splitting the 16 digits into 4 of 4 digits and adding them, would be (very simple and generally bad) forms of hashing. When you say you want to restore it that sound more like compression; however, you aren't going to be able to compress to a consistent 5 digits without loss. I'm not an expert on compression by any means, but compression will generally result in a variable size change based on how much repetition or patterning you have -- possibly even make some numbers bigger. Lossy compression can shrink things more but at the cost that won't get back exactly what you put in (MP3 and JPEGs are lossy). Simply put, you can't degrees the amount of information without losing some of it. A simple lossless compression might work by digit followed by the number of repetitions: 1111222444444333 would become 14234633, less but more than 5, 123456789123456 would actually double in size to 112131415161718191112131415161; there are much smarter methods that I don't really understand but I think most work better on larger amounts of data that a sequence of 16. (More than 9 in a row would also break that.) Anyway, as I said, I don't really know any real compression algorithms but I think this illustrates the problem. What you're asking, as I understand it, is logically impossible. Now, if you know you will have less than 100k (10^5) sequences, never more, you could map them to arbitrary 5 digit numbers -- storing them in a table.
  5. JaredBGreat

    Game Engine or custom game engine?

    I make a different distinction between a framework or engine and a toolkit. To me, an engine is a readily just the reusable technical underbelly for a game, a body of code that takes care of a large amount core functionality (graphics, sound, resource management, IO, events, etc.) that can be used across a large number of games -- which may or may not be of a variety of types / genres. A toolkit to me is some like an SDK / GDK possibly including editors for resources as well. The idea that a game with "no engine" might later turn into an engine for other games is, well, how engines, in general, got started -- "Hey, wanna license our Doom engine?" "Hmmm, let's build on our code from Unreal for Unreal II, and while we're at it, license it for whoever will agree to out terms and pay a royalty." So, building a game with "no engine" could be the first step in creating the engine it implicitly contains -- even if it's not as big or as flexible as Unity or Unreal (the Doom engine was basically a shooter engine, you wouldn't go 2D with it). Perhaps that might even be the best way to start an engine? Personally, I'd like to develop my own engine / engineless game and get into using one of the major engines as well; whether or not that is for you I cannot say.
  6. I'd say it depends a lot on your background and interests. Procedural content is a special interest off mine so. If it really interests you that you'll probably put a lot of time and thought into it, but enjoy it and find the challenge enjoyable. If that you're just wanting the results, such as for unlimited replay on large open worlds you may just want to use some of those tools from the marketplace.
  7. JaredBGreat

    Types of missions (Quests)

    I've put some thought into this after reading a chapter on procedurally generating quest lines (which didn't label types itself). I began thinking in out various types quests and sub-quests. And it seems that most can be categorized into a few types. I may have to come back later after I've thought of it again, since it's been a long day and my brain is a bit fried from tiredness. Some examples: Find an Item: Includes fetch quests (bring item to NPC) and resource quests (find item to use) Kill an Enemy: This includes the basic "kill quest" but also is often the focus of a main quest (kill the final boss) Find Information: This is like a quest for an item to use but without the item; example, find the old wise-woman of the forest who knows know where a special item is or who the villain may be (she gives info, but no item). I count quest to learn a skill here too. Find a Location: For example, you have already found some special spell, but it needs to be cast in a certain place -- so find it. Escort Quest: Take an NPC somewhere for whatever reason Rescue Quest: Like escort, except you rescue them first Battle / Defend Quest: Defend a fort, city, or some other location or some VIP NPC from attackers. Conquest Quest: Capture / take control of a fort, city, dungeon, etc. Delivery Quest: Bring an item or message to an NPC I'm sure there are variants I haven't thought of and that others might sub-divide them differently, but I think most quest lines in RPGs and RPG like games can be broken down into a series of such step, or else are just one of these for short throw-away quests.
  8. JaredBGreat

    Unreal Engine 4.20 Released

    Thanks! I decided a while ago that Unreal will likely be my engine of choice for real games (once I can afford a decent development PC that can run it).
  9. Some people just like working on things like that -- I've also started on a 2D engine in C++ (though I have no plan to use C#); I may make a game with it some time...OK, if I to finish it I'll have to for testing, but that's not the point...I may make some real use of it, or not....
  10. JaredBGreat

    How to start learning OpenGl once again

    Thanks, this might be useful for the little engine I'm working on. I was planning on using SDL and later add GLFW when I go 3D, I'll look into it.
  11. JaredBGreat

    3D game design with no engine / code orientated

    I'm not sure what the requirements mean. I take it that Unity and Unreal are out -- JMonkeyEngine is a little more code-requiring / programmer oriented (if you don't mind Java) but the rendering is already in the engine. Then, any actual 3D engine is going to have rendering as part of the engine, so maybe something like JME3 would be OK. If you are planning to code the actual rendering that might be more a matter of writing an engine than an actual game, either as a software renderer or using OpenGL or DirectX, or Java + LWJGL. It's tricky when to say when you don't know the requirements. Writing a renderer either way can be a good learning experience. As for language, I'd go with either C++ or Java as my own preference -- for a non-professional game its really just going to be about preference.
  • 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!