Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
General_Failure
Apr 17, 2005
Just game across an Android game called Galataxi which is close to an idea I had ages ago which I wanted to do. The thing is there seem to be some gameplay differences but the basic Space Taxi-esque gameplay and concept of circular planets are similar.

What I would like is to know whether people would be inclined to think I would be cloning an idea rather than making something different in what I guess could be a sub genre?

Adbot
ADBOT LOVES YOU

Azazel
Jun 6, 2001
I bitch slap for a living - you want some?

General_Failure posted:

What I would like is to know whether people would be inclined to think I would be cloning an idea rather than making something different in what I guess could be a sub genre?

I'd say as long the as the spirit of your idea is different, look and feel, etc., then probably not. Just look to our friend the tower defense genre as an example, there has to be a few thousand of them out there.

Regardless, give it a shot because it's something you are actually interested in building. Nothing kills motivation quite like passing over what you really want to build "because it already exists", and aiming for a secondary idea you aren't as interested in.

TJChap2840
Sep 24, 2009
I'm piddling around with some really basic games to get an idea of my actual ability to program. By that I mean, how well I truly understand what I am creating, how well I organize things, how well I refactor, etc. etc.

I've been doing really small stuff like Pong, Minesweeper, Asteroid primarily because I do it during my downtime at work. I'm currently working on Asteroid and I'm struggling with the physics of the ship.

This brought me to this question:

When you are implementing physics in a game, what route do you go to first? Do you try to slowly implement it by building on the physics over time? Do you try to find an implementation online? Do you just use a physics engine/library? Or do you use a combination of those?

That all probably sounds incredibly dumb, but I haven't really ever progress to a point where I needed things like acceleration, gravity, friction...

In the case of Asteroid, I really have no real idea where I need to go. I have an idea, but taking the math and putting it into code is a barrier I am struggling with.

General_Failure
Apr 17, 2005

TJChap2840 posted:

I'm piddling around with some really basic games to get an idea of my actual ability to program. By that I mean, how well I truly understand what I am creating, how well I organize things, how well I refactor, etc. etc.

I've been doing really small stuff like Pong, Minesweeper, Asteroid primarily because I do it during my downtime at work. I'm currently working on Asteroid and I'm struggling with the physics of the ship.

This brought me to this question:

When you are implementing physics in a game, what route do you go to first? Do you try to slowly implement it by building on the physics over time? Do you try to find an implementation online? Do you just use a physics engine/library? Or do you use a combination of those?

That all probably sounds incredibly dumb, but I haven't really ever progress to a point where I needed things like acceleration, gravity, friction...

In the case of Asteroid, I really have no real idea where I need to go. I have an idea, but taking the math and putting it into code is a barrier I am struggling with.

Well, it all really depends. Something like the physics for the ship in Asteroids is pretty easy however. You do say gravity though so I have to wonder what extra features you have planned. Gravity is just a force anyway.
Try not to over think it is about all I can say. I'll let you discover the implementation for yourself especially because there is more than one way to go about it and the only way you'll work it out is to do it yourself.
You are on the right track thinking about gravity though. The formula for working out gravitational acceleration is nothing special. You probably had to use it in High or even Primary school. Look at that for a start.

You do have me thinking now. One of my little test programs recently used some basic physics to smooth out the control of ...something. Don't recall which though. Anyway it's not hard as long as you remember that when it all comes down to it your ship has position, direction and velocity. Whether you choose to calculate forces using x,y vectors or a direction and acceleration it's up to you. both ways work but they both have their pitfalls.

edit: Forgot, another super important variable is delta t. that is the time elapsed between the previous calculation and the current one. Velocity without time means nothing.

General_Failure fucked around with this message at 22:16 on Aug 21, 2012

Cat Plus Plus
Apr 8, 2011

:frogc00l:

TJChap2840 posted:

When you are implementing physics in a game, what route do you go to first? Do you try to slowly implement it by building on the physics over time? Do you try to find an implementation online? Do you just use a physics engine/library? Or do you use a combination of those?

It really comes down to the "do what you want to do" (and this is not specific to physics, but to development in general). Different people enjoy different things. Some will have fun spending 10 months polishing the rendering, others want to release something playable as soon as possible.

Personally, I'd use a physics engine. Mostly because implementing numerical integration and all those low-level details is not very interesting to me. I had to implement R-K for relatively simple simulation for uni assignment not too long ago, and I would really prefer to just plug something like Box2D in, and then work with high-level interface. Understanding principles might be important, but that doesn't equal implementing everything on the most basic level.

So ask yourself: do you want to implement physics? If yes, then go for it. If not, plug an engine and focus on innovating on the gameplay (because with physics engine you already have more than classic Asteroids, so you can play around with that). You're not doing it for money, you don't have to stress out over any deadlines — fun is really the only factor to consider.

Paniolo
Oct 9, 2007

Heads will roll.
Well he was asking about asteroids so a generalized rigid body solver is probably extreme overkill...

Why not tell us what particular aspects of the physics simulation you are struggling with?

Cat Plus Plus
Apr 8, 2011

:frogc00l:
There's no such thing as overkill in the land of fun and experimentation. :colbert:

TJChap2840
Sep 24, 2009

Paniolo posted:

Well he was asking about asteroids so a generalized rigid body solver is probably extreme overkill...

Why not tell us what particular aspects of the physics simulation you are struggling with?

I wasn't specifically talking about Asteroids. While I am struggling with it, it got me thinking that I would struggle with just about any type of physics beyond "position += velocity".

redorb
Feb 17, 2012
Not sure if anyone has posted this already but I found a pretty good openGL tutorial the other day: http://www.arcsynthesis.org/gltut/About%20this%20Book.html

I've only worked through the first four chapters but it seems like a pretty solid resource.

General_Failure
Apr 17, 2005

PiotrLegnica posted:

It really comes down to the "do what you want to do" (and this is not specific to physics, but to development in general). Different people enjoy different things. Some will have fun spending 10 months polishing the rendering, others want to release something playable as soon as possible.

Personally, I'd use a physics engine. Mostly because implementing numerical integration and all those low-level details is not very interesting to me. I had to implement R-K for relatively simple simulation for uni assignment not too long ago, and I would really prefer to just plug something like Box2D in, and then work with high-level interface. Understanding principles might be important, but that doesn't equal implementing everything on the most basic level.

So ask yourself: do you want to implement physics? If yes, then go for it. If not, plug an engine and focus on innovating on the gameplay (because with physics engine you already have more than classic Asteroids, so you can play around with that). You're not doing it for money, you don't have to stress out over any deadlines — fun is really the only factor to consider.

I agree with this. Everyone is different. This is a great example of two totally different people. I like working with all the backend stuff and hate the details when it comes to actually displaying them and will use helper libs for that when I can.

General_Failure
Apr 17, 2005
Sorry about the two posts in a row but I just tried doing something a bit out of my comfort zone and succeeded. Just managed to get SDL to load an image, blt it to the buffer and display it. No big deal? Well, no not really but the thing is I did this using freepascal.
Now I have a basic handle on how to use SDL in Pascal I can probably do something with that. What I don't know exactly but there's bound to be some use for that.

Lucid Dream
Feb 4, 2003

That boy ain't right.

TJChap2840 posted:

When you are implementing physics in a game, what route do you go to first? Do you try to slowly implement it by building on the physics over time? Do you try to find an implementation online? Do you just use a physics engine/library? Or do you use a combination of those?

Generally when I'm looking to implement something, I'll first look to see if I can find a reliable well documented library or engine that meets my needs. If I find a library that meets my needs exactly then it is pretty much a no-brainer. More often though, I can't find something that meets my needs exactly so I have to either work around the library's limitations or make it myself from scratch.

For a game like asteroids, most of the physics should be pretty straightforward and I would imagine most physics engines would be overkill for what you're trying to accomplish, but collision detection/response could be an issue depending on whether you want pixel perfect collision detection or you want to approximate the collisions with simple shapes (bounding boxes, circles).

General_Failure posted:

What I would like is to know whether people would be inclined to think I would be cloning an idea rather than making something different in what I guess could be a sub genre?
Straight up cloning a game is a waste of time unless you're doing it for the learning experience alone, but there is always room in a genre or even a sub-genre for innovation and/or refinement.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Lucid Dream posted:

Straight up cloning a game is a waste of time unless you're doing it for the learning experience alone, but there is always room in a genre or even a sub-genre for innovation and/or refinement.
Zynga and their millions of dollars would beg to differ.

Hubis
May 18, 2003

Boy, I wish we had one of those doomsday machines...

Lucid Dream posted:

Straight up cloning a game is a waste of time unless you're doing it for the learning experience alone, but there is always room in a genre or even a sub-genre for innovation and/or refinement.

Counterpoint: A straight-up clone is the best place to start if you want to do variations on a genre.

Red Mike
Jul 11, 2011

Hubis posted:

Counterpoint: A straight-up clone is the best place to start if you want to do variations on a genre.

Countercounterpoint: That best place to start can be thought of as 'learning experience'. Once you're adding variations, it's no longer a clone.

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

Red Mike posted:

Countercounterpoint: That best place to start can be thought of as 'learning experience'. Once you're adding variations, it's no longer a clone.

Just give up making clones and make an historical, disturbing, rhythm game combined with sim game, set in South America.

http://www.streamingcolour.com/blog/game-idea-generator/

General_Failure
Apr 17, 2005

Hubis posted:

Counterpoint: A straight-up clone is the best place to start if you want to do variations on a genre.

Example: Minecraft. It's more or less a clone and has spawned other clones which are all different in their own right.

I wouldn't even think of cloning another person's idea. But a lunar lander style game with circular and other shaped objects in space with their own gravitational pull is something I've been kicking the idea of around for a very long time. there is also a lot of room for variance.

Unormal: One click is all it takes. "historical, silly, kids game, set on a farm."

I am not making FarmVille. Although the historical bit is debatable.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

roomforthetuna posted:

Zynga and their millions of dollars would beg to differ.
There are many ways for a game to be successful and not all of them are quality-related, especially in the mobile market where discoverability is terrible.

When to emulate and when to innovate is one of the big questions of doing just about anything in the face of competition, and ultimately it's just a risk you have to take.

That said, if you can't offer SOMETHING over some existing game, either in terms of quality or how it's managed, monetized, and marketed, it's extremely unlikely that anyone will give a gently caress.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
Or you could make an Asteroids-style controlled game, in 3D, with a landscape and various aliens and... oh, someone already did it in 1987.

It's surprisingly difficult to come up with a decent game idea that can be made in indie scope that wasn't essentially already made in the 80s or early 90s.

vvvv Yeah, sorry, wasn't responding to what you said, this didn't make sense in that context! It was intended more for the randomly-generated-game-concept discussion.

roomforthetuna fucked around with this message at 23:51 on Aug 22, 2012

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

roomforthetuna posted:

Or you could make an Asteroids-style controlled game, in 3D, with a landscape and various aliens and... oh, someone already did it in 1987.

It's surprisingly difficult to come up with a decent game idea that can be made in indie scope that wasn't essentially already made in the 80s or early 90s.
Being available on a platform that Zarch isn't on is an advantage over Zarch. This is what I mean about out-of-game aspects being important. What you can't do is make another tower defense game and dump it on a platform with a hundred existing tower defense games unless you give people a drat good reason to play it over the others.

DrMelon
Oct 9, 2010

You can find me in the produce aisle of the hospital.

General_Failure posted:

Unormal: One click is all it takes. "historical, silly, kids game, set on a farm."

I am not making FarmVille. Although the historical bit is debatable.

In which case you end up with Harvest Moon.

General_Failure
Apr 17, 2005

DrMelon posted:

In which case you end up with Harvest Moon.

Good point. Still that is a successful franchise, and in my opinion at least far more enjoyable than FarmVille. Harvest Moon really did well capturing a few different genres in one, making it semi sandbox-y and giving it multiple endings to the main game. They did a pretty good job with making it hectic with some deadlines of sorts without being frustrating. gently caress you Dead Rising 2 with your stupid timed Zombrex runs. That was an example of how not to have ongoing events along with all the other options the game presents.
I'm fine with a game having a timer ticking down before the end as long as it doesn't get all Majora's Mask on me.

General_Failure
Apr 17, 2005
Yesterday I had another timely reminder of what I know is true and what you have all been saying about the mobile device market being a minefield.

After finishing warming up by adding an event loop to that Pascal SDL test I mentioned I thought I'd move on to playing with Android development. So I set up the tablet and went to run the "Lunar Lander" Eclipse code sample on it.
Lunar Lander started.
"Press up to play".
"...".

Lesson. never assume anything. My tablet doesn't have a D pad. Many devices don't.

I go in, discover they also have alternate key bindings assigned. Although still useless to me I add the missing keybinding for starting the game. Then I decide to update the displayed prompt using Eclipse's tool for that to reflect the minor addition.
It won't run. The XML file is corrupt. So I look at it in plain text. Nothing wrong with it at all. but I did notice that during compiling Eclipse now generates a second file. I think it was "strings.xml.out" or something like that with a 0 file size.
Lesson the Second. Eclipse can be really lovely and is the main issue I have with Android development.

SavageMessiah
Jan 28, 2009

Emotionally drained and spookified

Toilet Rascal

General_Failure posted:

Lesson the Second. Eclipse can be really lovely and is the main issue I have with Android development.

Maybe try intellij's android support? I don't know how complete it is though.

General_Failure
Apr 17, 2005

SavageMessiah posted:

Maybe try intellij's android support? I don't know how complete it is though.

I'll have to go look again. I went to their site a while back but there was something that dissuaded me. Can't remember what though.

All though it's about as rear end-backwards as possible there is something that seems plausible. On Android there is an app called AIDE. I have the free version installed on my tablet. It boasts that it can support Eclipse projects.

What i think would be interesting to do is generate a fresh, working version of the Lunar Lander sample, dump it across and apply the same changes as in Eclipse and see what happens.

edit: AIDE does indeed open Eclipse projects. Just successfully compiled and ran the Lunar Lander sample. Still need to do the alterations and see if the same happens but seriously that's pretty cool.

General_Failure fucked around with this message at 07:16 on Aug 24, 2012

The Candyman
Aug 19, 2010

by T. Finninho

Unormal posted:

Just give up making clones and make an historical, disturbing, rhythm game combined with sim game, set in South America.

http://www.streamingcolour.com/blog/game-idea-generator/

upsetting, exciting, adventure game combined with kids game, set in someone's imagination.

Could be pretty good.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

The Candyman posted:

upsetting, exciting, adventure game combined with kids game, set in someone's imagination.

Could be pretty good.
It'd better be, otherwise all your efforts will be for 'Nauts.

General_Failure
Apr 17, 2005
Heh.

I did the same changes to the Lunar Lander app using AIDE as I did in Eclipse. As expected no issues with the AIDE compile. Weird.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Funny thing re: the earlier discussion about how to keep your project on track, I decided on the exact opposite solution to dealing with feature creep at one point. Rather than not overdo a certain subsystem, I decided to spin it off into its own project and severely overdo it.

A year later, it's nearly release-ready. I'm not sure how useful it is, but at least I can finish it! :gbsmith:

General_Failure
Apr 17, 2005

OneEightHundred posted:

Funny thing re: the earlier discussion about how to keep your project on track, I decided on the exact opposite solution to dealing with feature creep at one point. Rather than not overdo a certain subsystem, I decided to spin it off into its own project and severely overdo it.


That's a great way of doing it because then it can be reused in other projects too.

Been meaning to put together some proper libs again to replace some of my lost work.

The most dreaded and most useful would be the 2D/3D physics and general number crunching libs. I hate sorting out the lower level stuff and used to have stuff made up out of the things I kept needing. I would say "No time like the present" but today's play time is over, and I've found even more interesting things to look at too including Dropbox support in AIDE. I hosed up somehow with something I don't seem to understand fully but I'll figure it out maybe.

Essentially Dropbox has a root directory and shares the stuff within it. So that means that any projects which I want to share have to be in there, or at least a symlink which is what I did.
I just went to try out AIDE's Dropbox support a little while ago. It lets me choose the directory in Dropbox and where it is to be dumped locally (in my case sdcard/java). So now I have two copies of my workspace on the tablet. That's kind of hosed and there must be an important fact I'm missing. I want to get it sorted because the ability to develop on device as well as on PC rather seamlessly is awesome.
I suppose I could always use git. maybe. Either way I'm still determined to make a game-like app for Android.

Paniolo
Oct 9, 2007

Heads will roll.

OneEightHundred posted:

Funny thing re: the earlier discussion about how to keep your project on track, I decided on the exact opposite solution to dealing with feature creep at one point. Rather than not overdo a certain subsystem, I decided to spin it off into its own project and severely overdo it.

A year later, it's nearly release-ready. I'm not sure how useful it is, but at least I can finish it! :gbsmith:



Kind of funny how the syntax is nearly identical to C# except for the colon in between the type name and angle brackets. Is that just easier to parse?

Also you should tell us more about this project.

Null Pointer
May 20, 2004

Oh no!

Paniolo posted:

Kind of funny how the syntax is nearly identical to C# except for the colon in between the type name and angle brackets. Is that just easier to parse?

It eliminates a shift/reduce conflict for LALR.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Paniolo posted:

Kind of funny how the syntax is nearly identical to C# except for the colon in between the type name and angle brackets. Is that just easier to parse?

Also you should tell us more about this project.
It requires less lookahead. i.e. if you're parsing a parameter list and have "a < b, c >", then you you're either looking at a template type reference or two equality comparisons, depending on whether or not an expression follows.

The project is RDX. I started it mainly because of difficulty accessing or modifying C++ data in C# or Lua without writing a ton of marshaling/thunking code. Lua also sucks at dealing with packed data types like vectors.

The other reason it was started was resource management though, it has some pretty powerful serialization capabilities resembling what Unreal can do, except unlike Unreal, it allows for thread suspension because it can serialize threads.

There are 12 minor items on the runtime todo, then fleshing out the standard library a bit, getting the native code export functionality working again, and then it'll be feature-complete. I'm trying not to gush about it until then because "almost finished" is a deceptively long timespan.

General_Failure posted:

The most dreaded and most useful would be the 2D/3D physics and general number crunching libs.
Bullet is filling the 3D physics niche pretty well. It's taking contributions from major developers (mainly Sony) and is very mature.

The biggest holes I think are still in content authoring. World editors in particular are in a pretty sad state.

OneEightHundred fucked around with this message at 20:56 on Aug 25, 2012

General_Failure
Apr 17, 2005

OneEightHundred posted:


Bullet is filling the 3D physics niche pretty well. It's taking contributions from major developers (mainly Sony) and is very mature.

The biggest holes I think are still in content authoring. World editors in particular are in a pretty sad state.

Bullet?

I chanced across some kind of world editor / engine for Pascal using OpenGL a few days ago. The screen shots looked very 1995-3DFX-budget-title-tastic but I'm seriously considering grabbing it just to have a play. Can't remember what it's called but there aren't many options out there so it shouldn't be hard to find.

If it works out pretty simple then I have a decent way of displaying output for throwaway programs. I like Pascal because it's a good language to belt out quick programs in without fiddly bits. Plus when my C/C++ is getting sloppy a bit of Pascal programming drags me back into line. It's a very clean language but very unforgiving.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Yeah that. It's really full-featured, the main problem with it has been that the documentation was really sparse. It's since improved, though I think it has a ways to go, but fortunately the community is fairly active.

General_Failure
Apr 17, 2005

OneEightHundred posted:

Yeah that. It's really full-featured, the main problem with it has been that the documentation was really sparse. It's since improved, though I think it has a ways to go, but fortunately the community is fairly active.

Earlier today I got a chance to grab the Bullet SDK and figure out how to compile the demos. The OpenCL ones didn't but that was maybe two of them and I can see why. The rest were pretty impressive. Although I found myself thinking it feels like the development equivalent of being handed a game with all the cheats enabled. I'd like to try my own "Hello World" with Bullet but I absolutely cannot think of a drat thing to do.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

General_Failure posted:

Earlier today I got a chance to grab the Bullet SDK and figure out how to compile the demos. The OpenCL ones didn't but that was maybe two of them and I can see why. The rest were pretty impressive. Although I found myself thinking it feels like the development equivalent of being handed a game with all the cheats enabled. I'd like to try my own "Hello World" with Bullet but I absolutely cannot think of a drat thing to do.
Make a platform that floats in space. Wire a few buttons up that let you spawn things on it - boxes where the mouse is pointing, etc, or just fixed box stacks and such. Make spacebar shoot a ball. Make your camera controls be standard floating cam wrapped in a ball for ramming.

That's been my go-to physics Hello World for ages. Tests stacking behavior, island behavior, high energy collisions, gravity feel, control integration, etc, etc.

FlyingDodo
Jan 22, 2005
Not Extinct
Whats the easiest way to move a point around a sphere controlled by the mouse? Something like an arcball camera, except I only want to move a point rather than create a camera matrix. I'm guessing quaternions are involed somehow.

I have already tried this: http://cgmath.blogspot.co.nz/2009/03/arc-ball-rotation-using-quaternion.html

But it's not working properly, the point does rotate but the rotation does not move correctly. Hard to explain.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Anyone have any good resources or articles about the level structure for a "Link to the Past" style game? Specifically I am looking for something that discusses using tiles vs using free-floating sprites, or a hybrid of both, that still allows for things like moving platforms (think of some of the later dungeons in LttP, where Link can stand on platforms that move between spaces).

Adbot
ADBOT LOVES YOU

General_Failure
Apr 17, 2005

Orzo posted:

Anyone have any good resources or articles about the level structure for a "Link to the Past" style game? Specifically I am looking for something that discusses using tiles vs using free-floating sprites, or a hybrid of both, that still allows for things like moving platforms (think of some of the later dungeons in LttP, where Link can stand on platforms that move between spaces).

I know this is less than helpful but it is really dependent on the technologies being used for the rest of the engine. So assuming you are writing something, it's something that has to fit in with the way it manipulates things, whether you are using some kind of VM, scripting or hard coded, whether you have sprites, either hard or software and what their capabilities are. That sort of thing. If you want to know what LttP uses fire up an emulator which has the ability to switch sprites and layers on and off and go hog wild.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply