Show Posts
|
|
Pages: [1] 2 3 ... 104
|
|
1
|
Game Development / Newbie & Debugging Questions / Re: Eclipse not detecting if(apples = true) problem
|
on: 2013-02-03 19:05:34
|
Jiminey Cricket, people, he's not asking about the expression itself, he's asking why eclipse didn't generate a warning about it. And the answer is, eclipse just isn't terribly smart about warnings.
Eclipse->Preferences. Java->Compiler->Errors/Warnings Expand 'Potential programming problems'. Second option down is 'Assignment has no effect (eg. if (x = y)). For me, that was set to 'ignore' by default, but you can change it to generate an error or a warning. The first thing I do when I setup a new Eclipse install is go through these check and crank most of them into errors. By default Eclipse's settings are quite permissive, but IMHO there's some super helpful ones in there (even if they're not *technically* errors at times).
|
|
|
|
|
2
|
Discussions / Miscellaneous Topics / Re: The Next Game Boss
|
on: 2013-02-01 02:32:02
|
Kinda like games made with UE3 reek of UE3.
Yeah, you can totally tell that Mirror's Edge was made in UE3.  Most UE games look like UE games because they use the default shaders and crank the specular levels up to 11 because that's what's currently in vogue. There's no reason for every UE game to look like Gears Of War, as Mirror's Edge proves.
|
|
|
|
|
3
|
Game Development / Newbie & Debugging Questions / Re: Problems with booleans in methods
|
on: 2013-01-19 17:42:36
|
But it is called externally? The second and third code block go together
But you never change the external variable. Add a return statement to your method. I think he's expecting pass-by-reference behaviour with the drawTree1 bool. But I'm too tired to properly explain it with all the proper cavets and terminology, so I'll just say go google how Java handles primitives vs. objects as method parameters.
|
|
|
|
|
4
|
Games Center / Cube World Projects / Re: Merging triangle faces!
|
on: 2013-01-07 02:53:58
|
What structure would you use as an alternative? Would it be a different AxBxC chunk or something different?
I would probably have gone with 16x16x16 or 32x32x32 chunks and had some kind of sparse array in the height dimension, that would address the common complaint of the fixed build height. Having said that it would make general streaming and caching more complicated. And the reason MC has chunks of 16x16x128 is a sound one - you can't load faster than the player can fall, so it has to have the whole vertical slice loaded in case. So it's only in hindsight that I think the chunk size is a bit awkward, and it's not a *huge* problem really.
|
|
|
|
|
5
|
Games Center / Cube World Projects / Re: Merging triangle faces!
|
on: 2013-01-07 00:26:34
|
As someone who's spent a lot of time on a minecraft renderer, you probably just want to stick with removing internal edges and don't bother with merging faces. It's tempting when you've got a 'simple' world, but as you add more and more gameplay it becomes progressively harder to manage. It's just too damn handy to do some thing per-vertex (eg. minecraft does it's fake AO lighting via vertex colours), as well as making it easier to do texture atlas/layer tricks to get richer surface detail. And of course it means that you have to do more work when you change a single block in your world. The biggest rendering drag I found was that even after frustrum culling a minecraft-style world has lots of underground caves that are still considered visible. That can mean you're drawing twice or three times as many polys as you need.  You *should* be able to do something about that with occlusion queries, but I never got around to trying it. Minecraft doesn't IIRC, but that's probably because it's awkward 16x16x128 world structure makes it a bad fit.
|
|
|
|
|
6
|
Java Game APIs & Engines / Tools Discussion / Re: Spine: 2D skeletal animation
|
on: 2013-01-04 14:37:09
|
The animation timelines are a little tricky to get right too. Most of the libgdx runtime isn't actually libgdx specific, you can reuse almost all of it and for the most part just swap how you draw attachments. This means if the format changes or features are added, re-porting the runtime is easy. To give you some sense of the size, the libgdx runtime is 1600 LOC, which includes both the JSON and binary loaders.
That does make sense, and I was expecting the runtime to be somewhat larger than that. I'll hopefully get a chance to try porting it to my runtime soon, and I'll let you know how smoothly it goes.  I think if you're expecting people to use one runtime as a reference and port it then there's probably quite a lot you can do in that runtime to make it easy to port. But you won't notice until people start trying to do that, so we'll see how it goes.  What kind of external features does the runtime need? Does it spit out things like drawQuad() to libgdx or does it create geometry and hand that off? Any other dependencies/libraries/functionality I should be aware of?
|
|
|
|
|
7
|
Discussions / General Discussions / Re: why are people trying to use Java2D to make games?
|
on: 2013-01-03 19:42:48
|
JavaFX scares me. I haven't tried it at all, it's just by this time I expect Oracle to come up with things are bad. I could easily be wrong I suppose.
Likewise. It has too much of a 'second system syndrome' smell to me, where it's allegedly going to fix all the problems of both Swing and AWT, as well as having a scripting language and a gui tool, whilst simultaneously trying to be a flash-beater, Unity-beater and OpenGL-beater. Oh and it's internal to Oracle so it could implode and vanish without any warning. Maybe it'll be good, but the odds aren't looking healthy.
|
|
|
|
|
9
|
Discussions / General Discussions / Re: why are people trying to use Java2D to make games?
|
on: 2013-01-02 15:22:16
|
hmm .. MIDI could potentially be interesting again in a Java 7+ world. The Gervill software synthesizer now built into the JRE is actually a great bit of code. Mix that with a decent customized sound bank, and you've got a powerful and fairly easy to use live DSP system for background music and SFX.
If you want sequenced music (which is the common reason for wanting midi) then there are several better alternatives like .xm or .s3m, some of which have open source players already available. They support more feature than midi which will make your music guy happier. And you don't tie yourself to a VM release. 
|
|
|
|
|
10
|
Discussions / General Discussions / Re: why are people trying to use Java2D to make games?
|
on: 2013-01-02 11:11:40
|
|
My 2p for Java2d - it's a powerful and flexible drawing API which produces high quality images with near pixel-perfect accuracy between platforms.
You'll notice that nowhere in the above sentence does the word 'fast' appear. For the J2D team, 'fast' is not on their list of priorities, only that the performance is 'adequate'.
|
|
|
|
|
11
|
Discussions / Jobs and Resumes / Re: How to write a University Entrance Portfolio?
|
on: 2012-12-31 11:23:54
|
Warning, personal opinion: Universities don't necessarily want to see portfolio work in the area that you're applying for. They want to see that you're someone they can teach the course to and you'll achieve a good result for them. That means they don't necessarily care if you took CS at A-level, but instead are more interested in if you've got a good foundation (which for CS means good Maths results, and additional sciences help too). Alongside that they're interested in seeing people who can teach themselves, and who have enough determination to not quit the course after a year. This is where your personal projects come in - emphasise quality over quantity - don't have tens of little games that aren't polished, try and focus on one or two bigger ones that you've worked on for quite a while. If all else fails, be nice. People reading/interviewing for uni places are human too. 
|
|
|
|
|
12
|
Java Game APIs & Engines / Tools Discussion / Re: Spine: 2D skeletal animation
|
on: 2012-12-30 16:23:20
|
I tried the editor and it seems pretty good, so I'm thinking about writing a runtime for the animations produced - any ideas on how this would be best done? How final is the actual file format at the moment? Is there any documentation on how the runtime should behave? Porting over the libgdx runtime sounds like a good start, but I'm worried I'll have to constantly update it if there's new features etc. going in. Particularly if there's no actual documentation, just a 'de facto' standard of whatever-the-libgdx-runtime-does. (It'd be Ruby all over again!  )
|
|
|
|
|
14
|
Game Development / Newbie & Debugging Questions / Re: Rectangle Objects
|
on: 2012-12-22 02:28:29
|
Either way make sure you put a comment in your variable declarations saying what's what. Ascii diagrams in your class declaration are a big win when someone comes along later trying to decipher what you've done.  Or just use left/right/top/bottom, left/top/width/height, or centerX/centerY/halfWidth/halfHeight for your variable names. That way you never even need to go to the documentation. ...in which case, you need a comment that says which way 'up' your 2d coord system is. Because top/bottom will change depending on if you're going with origin-at-top-left-of-screen vs. origin-at-bottom-left-of-screen. 
|
|
|
|
|
15
|
Game Development / Newbie & Debugging Questions / Re: Rectangle Objects
|
on: 2012-12-22 00:48:12
|
For 2d, I usually go for (x,y) is the corner closest to the origin. That's more 'normal' compared to most 2d APIs in my experience. For 3d, (x,y,z) as the center of the box makes most sense IMHO. The symmetry tends to make code for 3d tests like ray intersection cleaner and more consistent. I assume that's what Roquen is getting at, it's kinda hard to explain without doing a fully worked example with both approaches. Either way make sure you put a comment in your variable declarations saying what's what. Ascii diagrams in your class declaration are a big win when someone comes along later trying to decipher what you've done. 
|
|
|
|
|
16
|
Discussions / General Discussions / Re: how to increment software versions?
|
on: 2012-12-20 16:47:03
|
I've got tired of all that and just count releases. Starting with 001 and going up each times I publish a new version regardles how big or small the changes are ... often I write that as 0.01 but actually I just count releases these days.
While I generally agree, when I was doing Tectonicus and suddenly ended up with loads of users, I found a major version number really handy. People generally understand that '0.xxx' means 'not quite finished and probably buggy'. And when I did a major breaking change that meant everyone had to change their config files and scripts etc. it was really handy being able to switch from 1.xxx to 2.xxx. Other than the major version, the minor was just an incremented number as you say.
|
|
|
|
|
17
|
Discussions / General Discussions / Re: how to increment software versions?
|
on: 2012-12-20 12:51:12
|
I have a manually updated number in an ant build script that I just increment, but I also export the svn revision number and burn that into the jar as well. The manual number covers 'big' changes and proper releases, the svn number is there so that I can easily see if someone's using a bug-fixed version or not. And also because sometimes I forget to update the manual number. 
|
|
|
|
|
19
|
Discussions / General Discussions / Re: java-gaming.org android app? open source project??
|
on: 2012-12-15 16:51:11
|
|
Why would you need an 'app' for a web page? Android phones already have perfectly servicable browsers. Serving up slightly modified html / css for mobile user agents should be good enough (although I'm sure Riven has better things to do).
App-ification of everything on the web is going to slowly kill the *proper* web at this rate.
|
|
|
|
|
20
|
Game Development / Newbie & Debugging Questions / Re: Managing atlas files
|
on: 2012-12-13 23:15:12
|
I sooooo need an artist.
If you're getting an artist to create and assign atlas coords manually you're wasting their time. Why would you want them doing that when they could be making your game look more awesome with better art? Why not generate the atlases automatically? You can do it either at compile-time with a tool or at runtime. Search for bin-packing algorithms if you want to see how it could be done.
|
|
|
|
|
22
|
Game Development / Game Play & Game Design / Re: Code is getting convoluted
|
on: 2012-12-11 20:00:12
|
Not really so much a software engineering problem, but still makes me angry that a lazy programmer caused this (more than angry obviously); IMO space shuttle code should be THE most sophisticated code there is. Maybe on par with CERN code.
The Ariane 5 incident is a *lot* more complicated than "a lazy programmer". The integer overflow is just one piece of a big chain of events that caused the overall failure. Most interestingly, the code was correct when originally written. The situation couldn't occur on the hardware it was written for, and only later was the same code reused on a different hardware where the error was now possible. You could equally pin the blame on hardware engineers for not having sufficient documentation to describe the differences or on testing for not fully exercising the functionality of the system as a whole. But pinning blame in a complicated failure like that is neither helpful nor interesting. It's been a while since I read the full investigation report into Ariane 5. Have you read it? I would recommend it for anyone who wants an insight into how tiny errors (both technical and people) can propagate and grow.
|
|
|
|
|
23
|
Game Development / Game Play & Game Design / Re: Code is getting convoluted
|
on: 2012-12-11 17:03:35
|
Doesn't make a difference. Reuse of existing code doesn't change the fact that it's a one-shot. Yeah, including online-games with long in-user hand time spans.
I think we're talking at cross purposes, because it seems you have a very different definition of 'one shot' to me. 
|
|
|
|
|
24
|
Game Development / Game Play & Game Design / Re: Code is getting convoluted
|
on: 2012-12-11 16:09:41
|
Game programs are one-shot.
Not in my world. Pretty much any big game released these days has *tons* of legacy code knocking about in it, often going back to the previous hardware generation. Games haven't been one-shot deals for at least a decade, probably longer.
|
|
|
|
|
25
|
Discussions / Miscellaneous Topics / Re: Tech demos - undisclosed game
|
on: 2012-12-10 13:55:57
|
I got rid of the transparancy, and I wonder why it's even there... we need nothing but greyscale (more or less intense shadow).
Because at the time I was compositing the shadows into the framebuffer alpha, and doing it all with FF pipeline. A no-alpha greyscale version makes sense if you're doing it with modern render-to-texture and shaders.
|
|
|
|
|
26
|
Java Game APIs & Engines / Java 2D / Re: Scan if unit is visible to an other unit
|
on: 2012-12-05 13:32:31
|
Try a line algorithm, like Bresenhams, or just this: http://en.wikipedia.org/wiki/Line_drawing_algorithmCheck if no square on the line is blocked. Then the units can see each other. Some line algorithms are unsymmetric, in that case you need to check both directions (lines from->to and to->from) Bresenhams is not really appropriate since it may jump over solid cells or around corners. A specific visibility algorithm (like the ones saifix linked to) give much better results. I ended up adapting the Wolf3d cell scanning algorithm.
|
|
|
|
|
27
|
Discussions / Miscellaneous Topics / Re: Titan Attacks by Puppy Games is C#?
|
on: 2012-12-04 19:26:11
|
Cheers - been a bunch of hard work but ultimately satisfying when you get the game running. I looked at IKVM way back in the day but found it wasn't going to work for some reason. Back when I looked into it, IKVM required the full CLR runtime, whereas to get on XBox you were restricted to the Compact Runtime. So you can use IKVM to get something working with XNA, but it'll only work on desktop, not XBox (which is kinda the point).
|
|
|
|
|
28
|
Discussions / Miscellaneous Topics / Re: Titan Attacks by Puppy Games is C#?
|
on: 2012-12-03 19:19:04
|
I'm actually curious, even though we had Visual Studio vs Eclipse threads before. I dont think I know many people who are experienced in both Eclipse ans Visual Studio.
It's really hard to compare Eclipse and VS, primarily because the experience using them is vastly different depending on what language you're using. 'Eclipse' usually just means Eclipse for java dev, which is pretty damn slick. Eclipse for C++ is a whole other beast. Similarly for VS. The VS C++ debugger is great, but the VS C++ code editor is abysmal. It's clunky to navigate, it's code completion and syntax highlighting is often flat out wrong, and it has an annoying tenancy to lock up the whole app when it scans the code. Everyone ends up resorting to something like Visual Assist to make it usable. VS C# on the other hand is a completely different beast - the editor is much more functional, but the debugger is IMHO worse (and worse than Eclipse's Java debugger). Of course like most MS tools it also really depends on what the rest of your environment looks like. VS is great if you're living and breathing the MS stack all day, but will kick and fight if you ever try and use it in a different way or with different tools. Eclipse, Netbeans, etc. are much more comfortable in letting you integrate different tools and plugins. So even comparing the two versions with relevant languages, your experience varies hugely depending on what other stuff you're doing. TL;DR version: saying "Eclipse sucks, VS is much better" (or the reverse) is a nearly worthless statement unless you also qualify what languages, toolset, environment, source control, app and functionality you're developing with/in.
|
|
|
|
|
30
|
Game Development / Newbie & Debugging Questions / Re: Normals very blocky
|
on: 2012-11-27 00:17:29
|
|
Even if your vertex normals are similar it often helps to re-normalize in the fragment shader. The difference isn't that much when you're doing nice smooth diffuse lighting, but for something like specular highlights you'll only get the nice, tight, sharp highlights if you re-normalize.
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|