|
I've been working on figuring out how Marathon stores its map data so I can render in a web browser. It's been a deep dive through some very clusterfucked code, but I finally got the points, lines, and polygon data out of the file and into a canvas element. It's a fun reverse engineering project so far. Next up comes learning enough WebGL to render it in 3D.
|
# ? Apr 15, 2012 05:43 |
|
|
# ? May 12, 2024 03:42 |
|
Pfhreak posted:I've been working on figuring out how Marathon stores its map data so I can render in a web browser. It's been a deep dive through some very clusterfucked code, but I finally got the points, lines, and polygon data out of the file and into a canvas element. Cool, never sen it for marathon. What is the basic idea of how they are stored, lines and sectors like doom? What are the circles?
|
# ? Apr 15, 2012 14:07 |
|
Bob Morales posted:Cool, never sen it for marathon. What is the basic idea of how they are stored, lines and sectors like doom? What are the circles? From what I've been able to discern there are a number of chunks in the map file -- lines, points, polygons, sides, mission info, objects and a number of other things I'm not sure about yet. The circular areas are just polygons with many sides to make them look circularish.
|
# ? Apr 15, 2012 17:35 |
|
Does anyone know if it's possible to listen for Box2D collisions using libgdx? I have an object with a sensor body attached and I want to be alerted to any collisions that happen on that particular body. I love libgdx but the documentation is awful at best.
|
# ? Apr 15, 2012 20:23 |
|
Hey guys, there seem to be a lot of options out there and I don't really know which to go with because I don't know the basics of any of them really. When all characters exit a "level" of a dungeon I want to freeze dry that fucker and package it away with all the entities in it saved, along with the dungeons layout (since it was dynamically created. I want to save that data short term during the programs lifecycle but also for next time they log in. This is in Java, mind you. I'm thinking of moving this to android POSSIBLY and someone suggested I don't want to use a muffin because that will cause some issues. I'm a little confused about what a muffin is really, and I don't know if this is even what I should be looking at! I was wondering what my options are for saving this information for later, and then loading it back in if that level is returned to. Second point - googling Java related things is pretty . If you google Java, beans and muffins you just get coffee shops and muffin places. It's kind of annoying.
|
# ? Apr 16, 2012 01:07 |
|
Man, every time one of you people post something cool, I get really sad and embarrassed that I can't get tile-based collision working.
|
# ? Apr 16, 2012 04:27 |
|
So how do you more experienced programmers deal with turn-giving in a turn-based game where not all turns are the same length? As in, the game is turn based, but there's no over-arching 'turn' concept where everyone takes one action, then the turn ends and everybody takes another action. Instead, everyone goes one at a time but different actions can force you to wait more or less time until your turn comes around again. This is in C#, I guess I should mention. I ended up just making a Time int and a TurnQueue Dictionary<int,character> on my world class. Whenever someone finishes their turn the Time int just crawls upwards one number at a time until it hits a number that corresponds to a number in the TurnQueue.Keys, then it starts the turn of the corresponding character, which triggers AI or a wait for player input or whatever. Whenever you end your turn you delete your current place in the Queue and sign yourself up for another turn in X units of time, X being based on how slow the action you chose to do during your turn is. Does that seem pretty standard? Are there any great essays on how to handle turns in turn based games that I missed that sound relevant to this? It seems to work pretty well for me so far, but I'm sure that this has been done a thousand times before by people more innovative than me, so I'm sure there must be better ways to handle it, too.
|
# ? Apr 16, 2012 05:51 |
Bocom posted:Man, every time one of you people post something cool, I get really sad and embarrassed that I can't get tile-based collision working. I had a REALLY hard time with this, too. It worked for single boxes, but multiple ones killed me. Finally got it working perfectly after many painful hours. Here's the code I used. code:
code:
Jo fucked around with this message at 06:21 on Apr 16, 2012 |
|
# ? Apr 16, 2012 06:19 |
|
OtspIII posted:So how do you more experienced programmers deal with turn-giving in a turn-based game where not all turns are the same length? As in, the game is turn based, but there's no over-arching 'turn' concept where everyone takes one action, then the turn ends and everybody takes another action. Instead, everyone goes one at a time but different actions can force you to wait more or less time until your turn comes around again. This is in C#, I guess I should mention. I just wrote up my algorithm for this tonight. Say everyone gets a speed value, 1 to 20. Player character is say ten. Start counter at 1. All 1s get a turn, then 2s, then 3s, and so on. When the players turn is reached start over. Also, whenever someone takes a turn their new temp speed value is increased by their base amount. So someone with a speed of 4 will go once at 4, then again at 8 then 12 etc. When the player gets to go let's say a monster had a speed of 4. Well it would have went at 4 and 8, then counted 2 points (wasted) before the player went at 10. Those 2 wasted points get rolled over on the next turn and the monsters first turn will be at 2, then 6 then ...etc. iPad typing so sorry if that is kind of short, if you need more detail let me know. I am also reinventing all kinds of wheels I may have a simpler combat engine than you so mine may not work for you.
|
# ? Apr 16, 2012 06:46 |
|
OtspIII posted:Does that seem pretty standard? Are there any great essays on how to handle turns in turn based games that I missed that sound relevant to this? It seems to work pretty well for me so far, but I'm sure that this has been done a thousand times before by people more innovative than me, so I'm sure there must be better ways to handle it, too. In Caves of Qud, I keep a big round-robin queue of active objects. One at a time they get dequeued and their "speed" (around 100) gets added to their "energy". If they have 0 or more energy, they get to do whatever they want until their energy drops below 0, and they go to the back of the queue. Most actions take 1000 energy, more or less. For purposes of global time tracking, for things that need a time outside of when an action is taken, I count one full round robin of the queue as a segment (I use a sentinel NULL value to track one full round robin). Ten segments is a turn (since a typical 100 speed creature performing typical actions will get 1 action per 10 segments).
|
# ? Apr 16, 2012 18:28 |
|
Unormal posted:In Caves of Qud, I keep a big round-robin queue of active objects. One at a time they get dequeued and their "speed" (around 100) gets added to their "energy". If they have 0 or more energy, they get to do whatever they want until their energy drops below 0, and they go to the back of the queue. Most actions take 1000 energy, more or less. Hrmm, I'm hesitant to frame it as "for each creature, check to see if its turn is up" since that seems to imply looping through every drat creature in the dungeon (which will sometimes be quite large) every tick instead of just checking to see if one instance in a dictionary exists. Is the efficiency gain I get out of doing things this way so small that it's ultimately pointless?
|
# ? Apr 16, 2012 19:28 |
|
OtspIII posted:Hrmm, I'm hesitant to frame it as "for each creature, check to see if its turn is up" since that seems to imply looping through every drat creature in the dungeon (which will sometimes be quite large) every tick instead of just checking to see if one instance in a dictionary exists. Is the efficiency gain I get out of doing things this way so small that it's ultimately pointless? I was shooting for a highly mutable system, sacrificing absolute efficiency for flexibility. You have different requirements, so I can't say either way, but I'd bet if you profiled it that looping through the action queue even in a very inefficient way would take a totally negligible amount of your overall processing power. You're (probably) going to spend vastly more time on an A* for a single creature during a single turn than looping through the action queue a thousand times. tl;dr optimize late, benchmark early
|
# ? Apr 16, 2012 19:33 |
|
Unormal posted:tl;dr optimize late, benchmark early This gets mentioned all the time, but not enough. It's not game related, but I recently spent about a week implementing part of a project in a very complex way to get a certain common operation to happen in constant time rather than linear time (just like OtspIII's situation -- looking up in a dictionary rather than iterating over a list). Later I discovered that the system was causing a lot of bugs, and I decided to try implementing it the "inefficient" way, which took about ten minutes to throw together, most of which was removing the old code. When I profiled it I discovered that the inefficient algorithm was taking up about 0.001% of the total CPU time and had absolutely zero impact on performance
|
# ? Apr 16, 2012 20:28 |
|
Gordon Cole posted:When I profiled it I discovered that the inefficient algorithm was taking up about 0.001% of the total CPU time and had absolutely zero impact on performance Oh man, I can't count how many times I've done a similar thing. It seems like everyone has to go through that cycle a couple of times before the lesson sticks. I find it helps a lot to write the percentage of the frame time used by the update/draw calls somewhere on the screen during development. When you know you're only using 4.30% of your available CPU and adding a simple-but-inefficient feature takes you to 4.35%, it may not be worth taking the time to re-write it. After a while you start to get some perspective on just how powerful modern PCs are and how much you can throw at them without running into performance issues.
|
# ? Apr 16, 2012 21:36 |
|
Hi guys, I've been building a 2d platformer using javascript and html5 over the last couple of months. I'd like to make a desktop version of this. I don't know poo poo about making applications, is there a way I can code a stande-alone app using javascript (preferably using sdl or something like that)? Ideally I would just have to recode the rendering side and could use the same code base for web and desktop versions.
|
# ? Apr 17, 2012 03:56 |
|
field balm posted:Hi guys, Forgive me if I'm missing something obvious about how js and html5 work, but couldn't you just save out the web page the game is hosted in, as well as its dependency .js files, and let the user run the thing from a local file on their computer, still using their browser?
|
# ? Apr 17, 2012 04:28 |
|
bgreman posted:Forgive me if I'm missing something obvious about how js and html5 work, but couldn't you just save out the web page the game is hosted in, as well as its dependency .js files, and let the user run the thing from a local file on their computer, still using their browser? Not always. JS files stored on a local computer cause troubles with the 'same origin policy' of most modern browsers.
|
# ? Apr 17, 2012 05:17 |
|
bgreman posted:Forgive me if I'm missing something obvious about how js and html5 work, but couldn't you just save out the web page the game is hosted in, as well as its dependency .js files, and let the user run the thing from a local file on their computer, still using their browser? Yes, there is no reason I couldn't do this - it's what i'm doing currently and works fine. However I would like to move to a lighter/faster rendering method so it'll run better on older/smaller pcs - also nice would be not having browser chrome around it, and obscuring my code (player could go in and read all plot/dialogue if they really wanted). Thanks for the replies dudes!
|
# ? Apr 17, 2012 05:24 |
|
I wanted to post (one of) the thing(s) I am working on, since I have asked more than a few questions in this thread about. Please excuse the lovely screenshot, we still don't have final assets and are mostly just using things made for other projects. I've been writing the physics system for a car racing game that is using a homemade C++, with Lua scripting, engine created by a teacher of mine. Writing a physics system from scratch (all the down to the collision tests) was quite an eye opening experience, and I have really learned a ton of useful stuff. I also would never organize it like this again if I were given the chance For a 5 week project, it should be pretty nice, especially since the cool feature of the engine is the ability to port to XBox 360/PS3. Hopefully, I can post an update after the semester ends when we have AI and particle effects in. I also might post another thing I have been doing this semester which is way better looking and more polished, but its UDK so it is kind of cheating in comparison to doing it like this.
|
# ? Apr 17, 2012 08:46 |
|
What do people usually do for "programmer art" in 3D games? I mean, you're a programmer, 99% chance you are not good at le arts, but for 2D games you can usually scrap something up in MSPaint and call it retro, or find plenty of 2D resources online. So what's the 3D equivalent? Are there any good free resources online (I never found any), or do you just make do with making some cubes in a modelling package or directly in the program?
|
# ? Apr 17, 2012 10:36 |
|
See Minecraft, basically. Actually Frozen Synapse is pretty good for a minimal but effective presentation.
|
# ? Apr 17, 2012 11:06 |
|
Someone posted this in the thread previously, I think: http://answers.unity3d.com/questions/16650/game-asset-website-list-free-and-paid-textures-mod.html
|
# ? Apr 17, 2012 11:33 |
|
Slightly related, but wasn't someone going to start up a pixel art how-to/showcase megathread in CC? I really wish they would. EDIT: Jewel posted:Yeah I talked about this a while ago, I was hopin' someone like internet janitor would do it but nobody ended up doing it! I want a nice OP with a ton of tutorials and stuff. I want just like a "daily drawings and doodles" thread but for sprites and sprite tutorials. Yeah, ok, wow, I REALLY want this now. EDIT 2: Actually, to do my part, I think I'm going to take my 'Audio Engine Megathread' and move change it a bit to cover the realm of game audio, both with sound design and music. So, anyone who's interested, pop on over Rupert Buttermilk fucked around with this message at 13:49 on Apr 17, 2012 |
# ? Apr 17, 2012 13:10 |
|
Rupert Buttermilk posted:Slightly related, but wasn't someone going to start up a pixel art how-to/showcase megathread in CC? I really wish they would. Yeah I talked about this a while ago, I was hopin' someone like internet janitor would do it but nobody ended up doing it! I want a nice OP with a ton of tutorials and stuff. I want just like a "daily drawings and doodles" thread but for sprites and sprite tutorials.
|
# ? Apr 17, 2012 13:20 |
|
SupSuper posted:What do people usually do for "programmer art" in 3D games? I learned Maya a while ago. I spend my hard earned money buying really well done "template" models so I don't need to start from scratch (I picked up http://www.deespona.com/3denciclopedia/categoria_aircraft.html for stupid cheap years ago on sale, the best deal ever) From there you can modify and tweak and what not. Learn a bit of rigging, lighting and what not, which isn't to bad and render your frames. As long as you're willing to say "I'm not going to do everything from scratch and I will spend a budget of $XXX it actually isn't that bad. This is pretty much for any project. I don't have time to reinvent the wheel. I'm not making art, I'm making a component for a game and I'm not going to spend half a week making the perfect human ear when someone is selling one on turbosquid for fifty cents that's better than I could ever do.
|
# ? Apr 17, 2012 14:53 |
|
Pfhreak posted:I've been working on figuring out how Marathon stores its map data so I can render in a web browser. It's been a deep dive through some very clusterfucked code, but I finally got the points, lines, and polygon data out of the file and into a canvas element. Kind of reminds me of my first major OGL 3D project where I attempted to recreate Doom's E1M1 (which was a disaster). Instead of doing the entire level in Maya (creating the level from scratch, applying textures, etc.), I should have just created a data driven map maker and passed all the vertex, texture, material and lighting data and whatever else through scripts. Or maybe I could just find it online for free on TurboSquid or Free3DModels.com or something. Guts don't necessarily lead to glory in some cases and it's best to just slave someone into making your assets for you or just nick it from some 3D site.
|
# ? Apr 17, 2012 15:04 |
|
SupSuper posted:What do people usually do for "programmer art" in 3D games? At my school, there is a required class for games majors which is a Maya modeling class. All of the things that the students make in that class are uploaded to a database for other students to use. Most everything is lovely as you would expect, but it is much better than just using boxes for everything.
|
# ? Apr 17, 2012 19:22 |
|
Just spitballing here, I'd be interested to know if any of you folks think this sounds like an interesting idea for a game. I like the idea of building games that are "educational" and encourage further exploration. When Spore came out I was very disappointed with the fact that the development of your critters has nothing to do with biology or evolution- they're basically Mr. Potato Heads which can have their limbs and eyeballs shuffled around whenever you please. The game certainly allows for creativity, but has no basis in reality. On the opposite end of the spectrum there have been a number of games that involve evolving populations of microorganisms or something but they tend to be very abstract and/or "hands-off" in the sense that you just sort of let things run and tweak the environment a bit and eventually breed a superbug. The experiments with D. Melanogaster that lead to the discovery and mapping of Hox genes could be an interesting setting. These are the gene sequences in animals that control how the body forms, and small mutations tend to have significant, directly observable impacts- flies with a second thorax, legs growing where eyes should be, etc. Players would take on the role of researchers trying to win grants by isolating the genes responsible for various defects or occasionally beneficial mutations, and players can compete to accomplish other tasks like producing the heaviest adult fly, a fly with the largest number of limbs or a fly that can track down chemically tagged objects the fastest. To create the flies you use mostly realistic methods- selective breeding, irradiating eggs to encourage mutation and limited recombinant gene splicing- and gather data by running experiments, doing gel electrophoresis and writing programs to pore over the resulting data (Like some sort of lua-based simplified Matlab system). Forcing players to contend with the cost of sophisticated equipment and expensive lab techniques could heavily reward good planning and application of scientific thinking. The idea is to present a realistic view of biological research and "genetic engineering" at the same time as creating a challenging, open-ended sandbox game. Obviously there's a lot of potential for multiplayer both competitively and cooperatively. Thoughts?
|
# ? Apr 17, 2012 22:41 |
|
Internet Janitor posted:Just spitballing here, I'd be interested to know if any of you folks think this sounds like an interesting idea for a game. I honestly think there's a totally enormous market for hands-on education games like the old school http://en.wikipedia.org/wiki/Rocky%27s_Boots, especially on the tablet form factor. I think it's just a matter of time (and a few exploratory and successful titles) before the market for them explodes. The biggest problems I've seen with the ones out there are very low production value, and generally buggy/fiddly UI. Generally it's younger kids that really can't tolerate working around fiddly UI, you really need a nice, clean, forgiving, responsive UI, and I think you could be really successful. One thing that people often get wrong in kids games is to allow real UI failure states, for instance giving you only so many lives, or forcing you to do something trick to proceed, without the ability to skip on. The best will assist you in moving on, even automatically bypassing something if you get stuck. Unormal fucked around with this message at 00:50 on Apr 18, 2012 |
# ? Apr 18, 2012 00:47 |
|
Jewel posted:Yeah I talked about this a while ago, I was hopin' someone like internet janitor would do it but nobody ended up doing it! I want a nice OP with a ton of tutorials and stuff. I want just like a "daily drawings and doodles" thread but for sprites and sprite tutorials. Don't know if you've seen this site but it had some pretty nice resources in regards to sprite art as well as some other things: http://www.pixelprospector.com/indie-resources/ If you're looking for something else I'm sure I have a bookmark most likely.
|
# ? Apr 19, 2012 03:08 |
|
redorb posted:Don't know if you've seen this site but it had some pretty nice resources in regards to sprite art as well as some other things: Well it wasn't particularly for me, I just thought it'd be nice to have tutorials in a thread full of inspiration to get a few new people spriting!
|
# ? Apr 19, 2012 04:41 |
|
I'm not sure if this has been answered before in this thread, but out of curiosity: how are deformable or animated models usually dealt with at a low level in games? For instance, if I wanted to have a deformable terrain, do I have to rebuild VBOs or whatever every time they change? I'm not even sure where I'd start. What are some good pointers for understanding the data side of graphics as opposed to the shadery side?
|
# ? Apr 19, 2012 05:14 |
|
I am starting to feel reasonably proficient in Python, and development in general (for a beginner.) I'd like to use Unity, especially considering Boo is a python-influenced language, but my google forays also seemed to say that it was pretty undocumented. Is it worth it to try to learn Boo, because diving into an entirely new language at this point just as I'm feeling comfortable in Python seems scary, or are UnityScript / C# better options?
|
# ? Apr 19, 2012 05:18 |
|
PoisonedV posted:I am starting to feel reasonably proficient in Python, and development in general (for a beginner.) I'd like to use Unity, especially considering Boo is a python-influenced language, but my google forays also seemed to say that it was pretty undocumented. Is it worth it to try to learn Boo, because diving into an entirely new language at this point just as I'm feeling comfortable in Python seems scary, or are UnityScript / C# better options? Learn and use C#; much better than the other language options, imo; but I'm a microsoft stack whore.
|
# ? Apr 19, 2012 05:20 |
|
Jewel posted:Well it wasn't particularly for me, I just thought it'd be nice to have tutorials in a thread full of inspiration to get a few new people spriting! Well if no-one else starts one, I'll put one together when I get home. I'm just getting back into spriting, so it'd be good to have some like minds around for motivation and critique!
|
# ? Apr 19, 2012 05:38 |
|
AntiPseudonym: I would certainly participate in such a thread if you started it. I didn't really think I would be a good person to put together an OP as I don't know about many tools or tutorials- what little I know comes from practice and studying old games.
Internet Janitor fucked around with this message at 05:52 on Apr 19, 2012 |
# ? Apr 19, 2012 05:48 |
|
Internet Janitor posted:AntiPseudonym: I would certainly participate in such a thread if you started it. I didn't really think I would be a good person to put together an OP as I don't know about many tools or tutorials- what little I know comes from practice and studying old games. Well honestly I've never started a megathread before, so it'll be a learning experience. I do know where to get a tonne of really good tuts, though.
|
# ? Apr 19, 2012 05:58 |
|
Internet Janitor posted:Just spitballing here, I'd be interested to know if any of you folks think this sounds like an interesting idea for a game. I always thought Creatures had a much more solid basis in actual science, despite its obvious fantasy setting. Yeah Spore disapointed the hell out of me, although its more because it was divided into subgames whereas if they had got all those subsystems into a single seamless universe it would have been a loving amazing little sandbox. But yeah , actually making the "science" plausible whilst actually putting some economy into the "science" of the sandbox sounds like a pretty neat mechanic and potentially a very educational experience.
|
# ? Apr 19, 2012 06:46 |
|
PoisonedV posted:I am starting to feel reasonably proficient in Python, and development in general (for a beginner.) I'd like to use Unity, especially considering Boo is a python-influenced language, but my google forays also seemed to say that it was pretty undocumented. Is it worth it to try to learn Boo, because diving into an entirely new language at this point just as I'm feeling comfortable in Python seems scary, or are UnityScript / C# better options? Boo is potentially a really neat language, but its undocumented nature makes it an exercise in fruturation. Your probably better off taking the plunge and working out C#. Its honestly not a bad language, despite its icky algol-family (c/c++/pascal/java) derived syntax.
|
# ? Apr 19, 2012 06:48 |
|
|
# ? May 12, 2024 03:42 |
|
duck monster posted:Boo is potentially a really neat language, but its undocumented nature makes it an exercise in fruturation. Your probably better off taking the plunge and working out C#. Its honestly not a bad language, despite its icky algol-family (c/c++/pascal/java) derived syntax. I'm going to back this up as well. I went the UnityScript route at first, and while it's reasonably powerful, I kept expecting it work like ECMA Javascript and was getting frustrated with it's behavior. I finally retooled everything in C# shortly after getting started and haven't looked back. I wish there was a nice Ruby derivative though, sigh.
|
# ? Apr 19, 2012 07:00 |