|
Biggz posted:I'm currently using LibGDX which is a nice middle ground between rolling your own engine and using Unity. Although, you can get right in to the nitty gritty of the engine code if you want. It's cross platform (Android/Win/OSX/HTML5), IOS "coming soon" but I think a few projects have already been released to iTunes App store with it. I'm using LibGDX for my first entry in the "One Game A Month" challenge. I'm using it to write a Tetris clone for January, and then in February I plan on using it again, but for a more elaborate game. I'm here to agree with you that it's a nice middle ground between low-level and high; you don't have to write your own game loop or raw input handling, and yet it feels like an API rather than a framework. It's quite nice and I'm enjoying working in it so far, even if the documentation is a bit lacking in places. Plus, LibGDX means you write the game in Java, which I actually enjoy working in, outside of the occasional bits of over-wordiness that Java's famous for. It's also good that LibGDX doesn't get caught up in Java's tendency to bury the useful APIs under several layers of design patterns. In fact, for Java, is LibGDX pretty much the only way to go? I don't know of any other major Java game APIs, and Google doesn't show anything useful.
|
# ? Jan 16, 2013 20:37 |
|
|
# ? May 13, 2024 09:13 |
|
I was talking with a friend who used to work for Blizzard, I am trying to develop a MMORPG but i am a noob at 3D worlds and how to store the data in the server to represent the world. He suggested that i use hex fractiles based on the Gosper Curve, which would mean each item/character can be in a single hex in a list ranging from 0-65535 within a larger Hex representing the world region i am in. He hinted that this is how Bliz actually does this. But that would mean that each region would have 65536 locations a player can be at as apparently the fractal nature of the gosper curve means you can position yourself within that larger hex by just knowing your location on the list. Here's the crux, I dont get it, have never done A Level or advanced math so have no real understanding of how it works (and the only examples i can find are logo versions) Can anyone point me to something to help a non advanced math person understand.... Thanks Theresa
|
# ? Jan 17, 2013 12:16 |
|
I've never come across anyone using a Gosper curve and a hex-grid map solution like that but it seems like flowsnake has some of the functionality you'd want, namely translation between indicies on a gosper curve to 2D co-ords on a hex map. So you'd store the index on the curve and translate that to a position in your actual grid. I literally have no idea what would make that more efficient than other solutions though, so it's possible I'm just as lost as you on this one. e; flowsnake is hardcoded for a 21-depth island, but that's not an actual limitation as far as I can tell. The Gripper fucked around with this message at 15:33 on Jan 17, 2013 |
# ? Jan 17, 2013 15:27 |
|
That sounds like it's very complex and probably optimized for Blizzard and has no business being the default solution in anyone else's project. Why not just use a Vector3?
|
# ? Jan 17, 2013 15:35 |
|
TheresaJayne posted:I was talking with a friend who used to work for Blizzard, I am trying to develop a MMORPG but i am a noob at 3D worlds and how to store the data in the server to represent the world. Stop here. What else have you done? Published any other games? You are trying to paint the Sistine Chapel here... quote:Can anyone point me to something to help a non advanced math person understand.... Advanced math is more or less required for making games. Might be a good idea to brush up on linear algebra and trigonometry. Also, we don't sign our posts here.
|
# ? Jan 17, 2013 16:53 |
|
Pfhreak posted:Stop here. What else have you done? Published any other games? You are trying to paint the Sistine Chapel here... Heh. What my esteemed colleague here is trying to say, put more gently: If you haven't done game programming before - it's usually better to start small. Make a breakout clone or a pong clone. MMORPGs are developed by MASSIVE teams of really GOOD (in most cases) programmers, or at the very least EXPERIENCED ones. If you bite off WAY more than you can chew, it is likely to sour you on the entire process. So - baby steps. Make a SMALL, single player game. Learn how that works. Make a SMALL networked game. Learn how THAT works. Make a 3D game using someone else's engine - Learn that. Each thing is a building block and another tool in your arsenal. If you look around game coding messageboards, and had a nickel for every person who essentially said "I've never made games before, but I'm working on an MMORPG!" and was subsequently never heard from again, you'd be all "no no, Mr. Rockefeller - lunch is on ME today." I have been an application developer for years, and I can do that in my sleep. Game programming is a TOTALLY different animal. I too don't know much advanced math, but I had to learn some to do even the SIMPLEST games. But saying "I'm new to programming and I am working on an MMORPG" is akin to showing up and saying "I learned how to say 'hola' in Spanish. Brb - gonna go translate War & Peace!" Don't get me wrong - I wish you all the luck in the world, but you should be realistic about the size of the task you're taking on. Good luck.
|
# ? Jan 17, 2013 17:38 |
|
On the other hand, there's nothing wrong with aiming high. Just be aware that's what you're doing and that it's going to be a long, long climb. If you still want to keep that lofty goal, break it down into bite sized pieces. Like if you want your MMO to have real time combat, make a small single player game that implements the combat only. A procedural terrain system? Make a sandbox world generator. Then down the road you can repurpose that code into your grand design (or more likely, you'll rewrite it from scratch because you got smarter and found a better way to do things, but at least you'll know whether the idea works).
|
# ? Jan 17, 2013 17:44 |
|
xzzy posted:On the other hand, there's nothing wrong with aiming high. Note that this isn't in reply to TheresaJayne because I have no idea what her career/experience is.
|
# ? Jan 17, 2013 17:57 |
|
Orzo posted:There is such a thing as aiming too high. Aiming to create an MMO as your first game is almost 100% destined for failure, as demonstrated by the fact that nobody has ever created a completed/functional MMO as their first game, ever. Step one: Remove the first M.
|
# ? Jan 17, 2013 19:50 |
|
I guess it all just boils down to programming being no different than any other skill. You can't start painting and instantly paint something on the level of quality of the Mona Lisa, and if you try to you'll probably get discouraged when you can't. But you can set your goals that high, as long as you recognize the fact that you won't go from A to B very fast, and it'll take a while. Savor the journey though! Programming's as fun as any other skill. Edit: vvv Yeah, definitely. That's what I meant by "savor the journey". Just program and make stuff, you'll get better. Jewel fucked around with this message at 20:34 on Jan 17, 2013 |
# ? Jan 17, 2013 20:25 |
|
Jewel posted:I guess it all just boils down to programming being no different than any other skill. You can't start painting and instantly paint something on the level of quality of the Mona Lisa, and if you try to you'll probably get discouraged when you can't. But you can set your goals that high, as long as you recognize the fact that you won't go from A to B very fast, and it'll take a while. Savor the journey though! Programming's as fun as any other skill. However, practicing for the sake of getting "good enough for X" is really boring. It's much more fun if you just try a smaller project, and complete it for its own sake.
|
# ? Jan 17, 2013 20:32 |
|
Orzo posted:There is such a thing as aiming too high. Aiming to create an MMO as your first game is almost 100% destined for failure, as demonstrated by the fact that nobody has ever created a completed/functional MMO as their first game, ever. Making any game that depends on a vibrant community to be worthwhile is always a huge risk though, especially when the online RPG market is supersaturated right now. There's basically no room for an amateur MMO when there are a million Korean F2P tits-in-the-banner-ads animefests that people can play instead.
|
# ? Jan 18, 2013 00:31 |
|
TheresaJayne posted:I was talking with a friend who used to work for Blizzard, I am trying to develop a MMORPG but i am a noob at 3D worlds and how to store the data in the server to represent the world.
|
# ? Jan 18, 2013 02:34 |
|
Pfhreak posted:Stop here. What else have you done? Published any other games? You are trying to paint the Sistine Chapel here... That said, I've been programming AAA MMOs for over six years and I had to google Gosper curves just now. Also, as mentioned, just store actual coordinates. If you really need to, you can layer a grid system on top. But you don't.
|
# ? Jan 18, 2013 02:46 |
|
On a tangent, what do people recommend for making browser-based (server-side, not client-side) games? Seems everyone uses PHP and Flash, yet everyone also loathes them.
|
# ? Jan 18, 2013 03:25 |
|
SupSuper posted:On a tangent, what do people recommend for making browser-based (server-side, not client-side) games? Seems everyone uses PHP and Flash, yet everyone also loathes them. Flash is dying, HTML5 is improving but still a bit of a laugh, etc, and no "it's like C++ but for web code" standard has even remotely emerged yet. Unity (or something like Unity) lets you dump to Flash, eventually HTML5, it can do a Chrome native app, it can dump the (critical) mobile version, etc - and portability is king, with the direction the industry is going. EDIT: But odds are good you'll still be writing PHP for the back-end. I kind of like PHP, actually - it just really sucks to debug. You'll also be writing a bunch of SQL, and you'll see stored procs in your sleep. EDIT2: Also, it really disappoints me that there were no references in the modern X-Com to the thing in your avatar. I wanted closure on the pulsing pink piston, drat it. Shalinor fucked around with this message at 03:48 on Jan 18, 2013 |
# ? Jan 18, 2013 03:39 |
|
Above Our Own posted:If you seriously think an MMO is a viable project without a large team of experts and support staff and many millions of dollars in funding then you are hopelessly naive and undereducated. The "I don't know how to program or anything but I'm going to make an MMO!" thing happens often enough that it's kind of an in-joke. Read this thread. It's long but read all of it because some people actually give really good advice.
|
# ? Jan 18, 2013 03:43 |
|
Orzo posted:Out of curiosity, what is that thread? Archives required. Crimson Haze. I have no idea why it isn't goldmined.
|
# ? Jan 18, 2013 03:48 |
|
Havok is pretty fun to play with Thread safety isn't so much fun
|
# ? Jan 18, 2013 03:59 |
|
Suspicious Dish posted:Crimson Haze. I have no idea why it isn't goldmined.
|
# ? Jan 18, 2013 06:05 |
|
Does anyone have the "song" Crimson Haze inspired? It was amazing. Just a bunch of instruments that sound like they are melting gradually. Googlefu not working out here. Edit: got it http://tindeck.com/listen/spwx Bondematt fucked around with this message at 07:16 on Jan 18, 2013 |
# ? Jan 18, 2013 07:11 |
|
xzzy posted:On the other hand, there's nothing wrong with aiming high. Just be aware that's what you're doing and that it's going to be a long, long climb. If you still want to keep that lofty goal, break it down into bite sized pieces. Like if you want your MMO to have real time combat, make a small single player game that implements the combat only. A procedural terrain system? Make a sandbox world generator. This is exactly what i am working on, at the moment i just want to get the back end data store working as fast and smooth as i can get it - being a back end server dev that seems to be the best starting point for me, then i can expand to displaying the data in a simple front end etc. I did do simple 3D work at college many moons ago so understand how to take a 3D location and display as a 2D image etc. I just don't get how using a fractile makes storage of location easier or faster?
|
# ? Jan 18, 2013 13:12 |
|
TheresaJayne posted:I just don't get how using a fractile makes storage of location easier or faster? They are not using a 'free' coordinate system, because a grid based location system is much simpler (and thus faster to calculate, and harder to break). Note that I just made all of this up, so I don't know if that is the actual reason. M31 fucked around with this message at 14:50 on Jan 18, 2013 |
# ? Jan 18, 2013 14:24 |
|
Orzo posted:Shalinor... you know what you must do... based on searching YouTube for Crimson Haze, I must see this game's thread. Just upgrade your account. It's worth it.
|
# ? Jan 18, 2013 14:47 |
|
M31 posted:A fractal has the property that you can compose multiple of them into the same shape (but larger). This has the advantage that you can easily subdivide a grid, in a similar fashion to a quadtree or octree and reuse all your algorithms on every scale. Now the reason they use a Gosper curve to create this grid, is probably because it has a hexagon shape. *as infinite as the depth of your curve and the MAX_VALUE of the type you're storing index in. The flowsnake implementation I posted earlier has a depth of 21, which is the most I believe you do while still representing indices as an int64.
|
# ? Jan 18, 2013 14:54 |
|
Orzo posted:Shalinor... you know what you must do... based on searching YouTube for Crimson Haze, I must see this game's thread. ... seriously, just get archives access, because that thread is worth it.
|
# ? Jan 18, 2013 15:41 |
|
Shalinor posted:It didn't get archived back then for whatever reason - it isn't my place to question the mods of that time period or their calls. A great teaser nugget from the OP that I got just from quickly scanning a few pages: bestow posted:Q: Who will code this?
|
# ? Jan 18, 2013 18:21 |
|
Welp, looks like Unity can't properly handle rotation-locked boxes moving across flat surfaces. It seems like the way they lock rotation is just to reset it after each physics frame, because objects incur random forces in directions orthogonal to the force applied when under friction. This sucks.
|
# ? Jan 19, 2013 02:33 |
|
Orzo posted:Shalinor... you know what you must do... based on searching YouTube for Crimson Haze, I must see this game's thread.
|
# ? Jan 19, 2013 04:58 |
|
So I need some (Unity) AI advice. I've managed to make a total war style unit creator that highlights the ground where the unit will go, like such. And then makes the unit. I want to move my cubes around now, and I'm running into some issues. So my first idea is that I could make a class called "UnitCommander" or something that controls positioning and movement for each of the individual cubes. But how do I implement that? I need a script that isn't attached to any one GameObject. So I should use a "ScriptableObject"? But if I use a scriptable object I don't have the Start() and Update() functions so then I would have to set that up myself, correct? I also need the script to be able to detect when a cube in a unit is clicked on and I'm sort of floundering on how I would do that without inheriting from MonoBehaviour. Or maybe I'm coming at this from completely the wrong direction, I can't say.
|
# ? Jan 19, 2013 06:00 |
|
I don't know what a ScriptableObject is, but I think the canonical way to do that is to GameObject->Create Empty and attach it to that
|
# ? Jan 19, 2013 06:30 |
|
not a dinosaur posted:I don't know what a ScriptableObject is, but I think the canonical way to do that is to GameObject->Create Empty and attach it to that gently caress, god, jesus. I hate it when I over think poo poo like that. Thanks man.
|
# ? Jan 19, 2013 07:47 |
|
Is it common practice to solve the texture-atlas-tiling-texture-linear-filtering-seam-bug (that's a mouthful, hopefully a few people know what I'm talking about) by surrounding a tiling texture with single-pixel wraps of the other side? It seems to work, I was wondering if there was a more 'standard' way.
|
# ? Jan 19, 2013 20:57 |
|
I just think a lot of people just tank it and display the artifact because if it's noticeable, you have really low-quality textures, or you need to design your atlas better.
|
# ? Jan 19, 2013 20:59 |
|
Well, in my case I'm working with 32x32 tiles, I'm not sure if you meant to equate low-resolution with low-quality. But what do you mean by designing your atlas better?
|
# ? Jan 19, 2013 21:22 |
|
Don't put dark and light textures to each other. If you have lots of dirt and grass textures, put the ones that transition between dirt and grass in the middle between the two. Unless of course you're constructing your atlas at runtime and then textures are put in the atlas by load order, which you shouldn't try to do. Make it part of your build process once you get far enough.
|
# ? Jan 19, 2013 21:25 |
Can you show a picture of what is happening?
|
|
# ? Jan 19, 2013 21:40 |
|
Suspicious Dish posted:Don't put dark and light textures to each other. If you have lots of dirt and grass textures, put the ones that transition between dirt and grass in the middle between the two. quote:Unless of course you're constructing your atlas at runtime and then textures are put in the atlas by load order, which you shouldn't try to do. Make it part of your build process once you get far enough.
|
# ? Jan 19, 2013 22:28 |
|
Manslaughter posted:Can you show a picture of what is happening? Using a popular technique of offsetting the texture coordinates by a half-texel. This works great for eliminating the bleeding problem for non-tiled textures like characters and other things that aren't meant to tile, but creates seams otherwise: Using the original texture coordinates but adding a border around it (that is, the original texture is 32x32 and the texture cooridnates are still that 32x32 box, but the source image has all of the rightmost pixels copied to the left, etc, to create a 33x33 box). This works perfectly:
|
# ? Jan 19, 2013 22:40 |
|
|
# ? May 13, 2024 09:13 |
|
Orzo posted:That sounds kind of arbitrary. A correctly designed and implemented game using atlases will have no artifacts whatsoever, no matter how they're arranged in the source file. I posted a potential solution, I was just wondering if that's the best one. As I said, most games just tank the artifact, and use large textures or cleverly arrange their atlas to minimize the appearance of it.
|
# ? Jan 19, 2013 22:40 |