GAFs Amateur Devs Chronicles

alexh said:
How clunky are the XNA types? Would this be pretty easy to pick up if I know a lot of java/C pound?
I think it's very elegant. Definitely the easiest way to go if you are familiar with C languages and want a powerful tool. What's c pound?
 
alexh said:
How clunky are the XNA types? Would this be pretty easy to pick up if I know a lot of java/C pound?
I can't believe I've read an entire page on how C# is C Sharp, but the # is the pound sign and that using the actual sharp sign is wrong. That's what happens when you get too many branding people in a room.

Anyways, if you have any experience with either Java or C#, you'll have no trouble picking up XNA.
 
The Friendly Monster said:
I think it's very elegant. Definitely the easiest way to go if you are familiar with C languages and want a powerful tool. What's c pound?

lol a C# joke.

Well thats good. I've been browsing the thread and saw like ControllerHandler/whatever, etc. types and didn't think those were standard in C#. Good to hear its implemented well. Might have to check this out.
 
Anyone know the big differences between C# 2005 + XNA 2.0 and C# 2008 + XNA 3.0 CTP? I'd been learning 2.0 for a while and just bought a 2.0 book, but I have 3.0 on my main desktop (still have 2.0 on my laptop if need be.)
 
Andrex said:
Anyone know the big differences between C# 2005 + XNA 2.0 and C# 2008 + XNA 3.0 CTP? I'd been learning 2.0 for a while and just bought a 2.0 book, but I have 3.0 on my main desktop (still have 2.0 on my laptop if need be.)
The XNA 3.0 ctp is basically a beta at the moment.

If you want to make games for Zune then you can only use XNA 3.0.
If you want to make games for Xbox 360 then you can only use XNA 2.0 at the moment.

3.0 can integrate into Visual Studio 2008, 2.0 cannot. Basically use 2.0.
 
Messed around a bit with running code on the 360 today, starting porting pizzicati. It's very simple to do, got something running in about 15 minutes just by taking out audio, saving and modifying the controls. The game chugs at some points, so I'll have to work out whether it's a processor or graphics limitation, but it shouldn't be a big issue. Then I can work on re-adding audio and saving for the 360. Unfortunately I've had to move everything around my house to get my 360 online stable, so I'm only using a 14 inch crt and it looks like crap, but then so does everything on that.

Remember you can get a free 12 month trial for the creators club by signing up for dreambuildplay.com

I'll keep this thread up to date. Laters.
 
Hey, Friendly, thanks for your help. Side note: love your title. I sure hope you'll be submitting it to Dream Build Play.

Have another question for you. I'm getting closer to testing phases of prototype development, and this game is just BROKEN on a keyboard. It really requires a gamepad. Unfortunately, I don't have my 360 at the moment and I'm not quite interested in porting until I'm much further along, but can the 360 controller be plugged into a PC via USB and used directly in XNA? If not, can I grab a program like Joy2Key or something for direct mappings?
 
Feep said:
Hey, Friendly, thanks for your help. Side note: love your title. I sure hope you'll be submitting it to Dream Build Play.

Have another question for you. I'm getting closer to testing phases of prototype development, and this game is just BROKEN on a keyboard. It really requires a gamepad. Unfortunately, I don't have my 360 at the moment and I'm not quite interested in porting until I'm much further along, but can the 360 controller be plugged into a PC via USB and used directly in XNA? If not, can I grab a program like Joy2Key or something for direct mappings?
Hey, thanks a lot. Got the Dream Build Play stuff working great, and I really want to submit something for that competition, but my god my game looks like utter shit on my 14" crt and on my sd projector. It's something I didn't think about at all when making the game, just got it looking how I wanted it to on my nice bright laptop screen, but it's really made me think. Also I have the problem of screen redundancy. It is usual to not stick anything important on the outer 10% of a tv set since it may be obscured for some people, but my game uses the outer edge of the window as a boundary, this wouldn't be a huge issue normally, I could just add a small letterbox, but my background is totally black! I have some thinking to do.

In answer to your second question; yes. You can plug a usb 360 pad into your computer and use the exact same code for controllers as you would use for the 360 project. Basically instead of Keyboard.GetState() you use GamePad.GetState(PlayerIndex.One) and instead of Keys.X use Buttons.X
 
The Friendly Monster said:
Hey, thanks a lot. Got the Dream Build Play stuff working great, and I really want to submit something for that competition, but my god my game looks like utter shit on my 14" crt and on my sd projector. It's something I didn't think about at all when making the game, just got it looking how I wanted it to on my nice bright laptop screen, but it's really made me think. Also I have the problem of screen redundancy. It is usual to not stick anything important on the outer 10% of a tv set since it may be obscured for some people, but my game uses the outer edge of the window as a boundary, this wouldn't be a huge issue normally, I could just add a small letterbox, but my background is totally black! I have some thinking to do.

In answer to your second question; yes. You can plug a usb 360 pad into your computer and use the exact same code for controllers as you would use for the 360 project. Basically instead of Keyboard.GetState() you use GamePad.GetState(PlayerIndex.One) and instead of Keys.X use Buttons.X

Hey FM, that's pretty cool. I had not realized about dreambuildplay.com, that there would be a competition. If I even begin now, I think the entries have to be submitted from Sept 1-23rd, and I have no experience with XNA. I'm REALLY tempted but a one-man team with just barely a month and a half seems impossible.

Anyway, I wonder if any other GAFFERS are entering the competition.
 
sspeedy said:
Hey FM, that's pretty cool. I had not realized about dreambuildplay.com, that there would be a competition. If I even begin now, I think the entries have to be submitted from Sept 1-23rd, and I have no experience with XNA. I'm REALLY tempted but a one-man team with just barely a month and a half seems impossible.

Anyway, I wonder if any other GAFFERS are entering the competition.
It's definitely not impossible, I only spent a month making pizzicati, and you have nearly two months! However I didn't have much else to do at the time. In any case it's a good time to be trying to learn XNA too as there will be a lot of others in the same boat, the creators club is free at the moment, and the boards will be busy with people to help you. I might start a dream build play thread to see if it can get anyone else involved, maybe there could even be a gaf team.

Just go for it.
 
The Friendly Monster said:
It's definitely not impossible, I only spent a month making pizzicati, and you have nearly two months! However I didn't have much else to do at the time. In any case it's a good time to be trying to learn XNA too as there will be a lot of others in the same boat, the creators club is free at the moment, and the boards will be busy with people to help you. I might start a dream build play thread to see if it can get anyone else involved, maybe there could even be a gaf team.

Just go for it.
That is a good idea, I mean to start a dreambuildplay thread; people might not be aware of it. I think it'll be motivational. I might be working on a concept tonight.. let's see what we can do here :D
 
sspeedy said:
That is a good idea, I mean to start a dreambuildplay thread; people might not be aware of it. I think it'll be motivational. I might be working on a concept tonight.. let's see what we can do here :D
Awesome, I'll do a thread in the next couple of days. Good luck!
 
I've got something cooking. As soon as I have a prototype up and running, I'll hook you guys up. There's still lots of TODOs though, so don't hold your breath.

It's not related to XNA. I hope that doesn't matter.
 
wmat said:
I've got something cooking. As soon as I have a prototype up and running, I'll hook you guys up. There's still lots of TODOs though, so don't hold your breath.

It's not related to XNA. I hope that doesn't matter.
Cool, I look forward to seeing it.
 
So just the other day I finally got to adding "pushable" objects to Marvin. You are able to push certain things around in the game so I figured it would be best to handle this properly with the engine instead of fudging it with canned animations, etc.

I hit an interesting problem with collision. My current game update loop looks like so:
Code:
Get entities
  For each entity
      move entitiy
      for every other entity
         check for collision
         collision?
         resolve conflict

Now this worked up to now no problem, but I didn't foresee what happens when one conflict resolution then messes up a previous resolution like, say, pushing a box into a wall. My idea, so far, is to do the checking recursively. so it looks like

Code:
Get entities
  for each entity
     move entitiy
        do while there are collisions( check collisions on this entitiy and resolve)

...where that would check itself recursively like a chain reaction. The reality of the physics on a character pushing a box into a wall should probably work like this:

-move character
-found collision in pushable box so push box.
-Now box is in wall, find collision in wall so push off the box.
-Now box is back inside the player, found collision in player so push player away. Done, the result is all three entities not colliding with each other.

Anybody encountered this scenario? :)
 
I think there are load of ways of doing this, I would definitely avoid recursion though, you would need some sort of hierarchy of objects to avoid an infinite loop. How would it deal with two boxes hitting each other?

Also do you intend to have a different character animation for pushing a box?
 
The Friendly Monster said:
I think there are load of ways of doing this, I would definitely avoid recursion though, you would need some sort of hierarchy of objects to avoid an infinite loop. How would it deal with two boxes hitting each other?

Also do you intend to have a different character animation for pushing a box?

Ah crap, that recursion thing was the only way I could think to resolve it properly. It just made sense from a logic perspective that if I push something I'm exerting force on it, which in turn exerts force on wall. Wall pushes back on box, box pushes back on me, so the result is me "not moving". This is going to get complicated in a real hurry by the sounds of it!

And yeah, I definitely want a seperate animation for pushing. Hmmm
 
JasoNsider said:
Ah crap, that recursion thing was the only way I could think to resolve it properly. It just made sense from a logic perspective that if I push something I'm exerting force on it, which in turn exerts force on wall. Wall pushes back on box, box pushes back on me, so the result is me "not moving". This is going to get complicated in a real hurry by the sounds of it!

And yeah, I definitely want a seperate animation for pushing. Hmmm
Well the problem is how do you decide when to stop? How do you know when you are "done" with all your calculations involving you, the box, and the wall? You seem to be occupying an uncomfortable position between a realistic physics model (not out of the question for a platformer) and a traditional rectangular affair. How are you going to deal with having 2 boxes? Is this ever going to come up? Do you want them to behave realistically when they're dropped etc?

Have you considered having a "grab box/thing" button? This would make the programming easier, and you would avoid situations where a player can get a box stuck against a wall and not get it unstuck.
 
So my game is ALMOST ready to be shown. I was planning on having it done by now, but since I've been told it will be a FALL semester senior project the deadline pushback has made me kinda lazy :( The good thing is with the extra time I'll be able to work more on the graphics as the engine/game is about 80% done now, only thing I have to think of now is how to "render" my levels/enemies/ect in a good way :| Any ideas here? Was thinking that either a text file or xml file would work best as I could edit it and then stream it in, as well as provide the end user a level editor.
 
The Friendly Monster said:
Well the problem is how do you decide when to stop? How do you know when you are "done" with all your calculations involving you, the box, and the wall? You seem to be occupying an uncomfortable position between a realistic physics model (not out of the question for a platformer) and a traditional rectangular affair. How are you going to deal with having 2 boxes? Is this ever going to come up? Do you want them to behave realistically when they're dropped etc?

Have you considered having a "grab box/thing" button? This would make the programming easier, and you would avoid situations where a player can get a box stuck against a wall and not get it unstuck.

Well, with my current model the thing you're pushing operates under the exact same rules that you do (for the most part). It falls, it goes down the slope, etc. I'm pretty happy with it!

My condition for getting things unstuck was going to be either a) implement a grab button as you pointed out or b) just force the user to "reset" the current screen by leaving and coming back until they get it. Obviously not the best, but option a doesn't sit well with me either, seeming as it's an extra button to add.
 
rhfb said:
So my game is ALMOST ready to be shown. I was planning on having it done by now, but since I've been told it will be a FALL semester senior project the deadline pushback has made me kinda lazy :( The good thing is with the extra time I'll be able to work more on the graphics as the engine/game is about 80% done now, only thing I have to think of now is how to "render" my levels/enemies/ect in a good way :| Any ideas here? Was thinking that either a text file or xml file would work best as I could edit it and then stream it in, as well as provide the end user a level editor.
Yeah xml works great. I managed to implement it in about an hour not having known anything about xml before, look up "serialization". It also works on 360, but i haven't implemented the "save game" feature there yet.
 
Just to add more meat to my last reply:

I think in theory the looping over collisions could work...but it could also break down IF there was a condition whereby it's trying to squeeze objects into a small space and they would constantly collide creating and infinite loop. Like boxes in a small pit or something and add one more small thing to try and wedge them in.

Now, on a simpler scale like my game, there are occasionally snowballs you can push and they will fall off a platform to make a pile of snow below. That's pretty much it! But if the player tried to test the limits and push the other way I just wanted it to react properly against walls and such.

You always mention a "real" physics model but I'm not entirely sure how my setup differs from a real one. Can you explain in more detail because its sounding more and more like I'm pigeon holing my game into the wrong place!
 
JasoNsider said:
The reality of the physics on a character pushing a box into a wall should probably work like this:

-move character
-found collision in pushable box so push box.
-Now box is in wall, find collision in wall so push off the box.
-Now box is back inside the player, found collision in player so push player away. Done, the result is all three entities not colliding with each other.
The problem I see here is that you first move, then resolve collisions.

If you'd first resolve collisions and then move, at least for wall collision cases, you could not do anything at all when a box collides with a wall.

Or do you want to include sliding? Can you push in arbitrary directions?

The way you plan to do it now, it seems to me you could end up with an oscillating scenario.
 
One problem I realized with collisions is that if objects are moving quickly and you only check for collisions once per movement, its possible that you'll have the two objects move by each other without colliding because they do not overlap either before or after their movement, despite that they would during the middle of the movement if their movement was continuous rather than discrete.

There are a couple of solutions to this. The most obvious way is simply to move the objects one unit (pixel?) at a time and check for collisions after each movement. Then, once they have done all their movement for that frame, continue. You just break the movement per frame from a single addition into an increment and subroutine call.

This has the advantage of working no matter what speed objects are moving at. It has the downside of linearly increasing the required collision computations with object movement speed. For more stable performance (and more glitches), you could simply move it, say, 1/10th of its distance per frame with each check and check for collisions 10 times. This would keep the performance steady, regardless of movement speed, but would become more glitchy as the speed increases.

That's basically the problem/solution I was having with my platformer. And when I say 'was' I would mean 'am', but I've been slacking off and haven't gotten back to it.


(Basically, I'm saying increase your physics engine frequency from 1 to some higher number)
 
The Friendly Monster said:
Hey Feep,

Sounds cool, look forward to seeing it.

1. Yeah, use Cue.Pause() and Cue.Resume()

2. you need the XNA redistributable (2mb)
up to date directx
the .NET framework2.0 redistributable
the Visual C++ 2005 SP1 redistributable package
Really? I ran my game on my brother's fresh new Vista machine after only updating DX and installing the XNA redistributable. I've heard .Net is built into Vista, which explains that, but why didn't I need to install the Visual C++ 2005 SP1 redist?
 
Slavik81 said:
One problem I realized with collisions is that if objects are moving quickly and you only check for collisions once per movement, its possible that you'll have the two objects move by each other without colliding because they do not overlap either before or after their movement, despite that they would during the middle of the movement if their movement was continuous rather than discrete.

There are a couple of solutions to this. The most obvious way is simply to move the objects one unit (pixel?) at a time and check for collisions after each movement. Then, once they have done all their movement for that frame, continue. You just break the movement per frame from a single addition into an increment and subroutine call.

This has the advantage of working no matter what speed objects are moving at. It has the downside of linearly increasing the required collision computations with object movement speed. For more stable performance (and more glitches), you could simply move it, say, 1/10th of its distance per frame with each check and check for collisions 10 times. This would keep the performance steady, regardless of movement speed, but would become more glitchy as the speed increases.

That's basically the problem/solution I was having with my platformer. And when I say 'was' I would mean 'am', but I've been slacking off and haven't gotten back to it.


(Basically, I'm saying increase your physics engine frequency from 1 to some higher number)
Another approach is to use the Minkowsky "sum" of the before and after location for shapes that can collide and check collisions of those. These cover the whole linear path the shapes cover travelling. You can then deduct collision, just not the exact location.
 
JasoNsider said:
Just to add more meat to my last reply:

I think in theory the looping over collisions could work...but it could also break down IF there was a condition whereby it's trying to squeeze objects into a small space and they would constantly collide creating and infinite loop. Like boxes in a small pit or something and add one more small thing to try and wedge them in.
So you would keep iterating over every object until nothing is overlapping? But then you might be resolving the same collision twice in a frame. Also I think you would get an infinite loop with just a small stack of objects.

In any case I don't think this is a good idea since there is no upper bound on the number of collisions to be worked out in a frame, not ideal for making a smooth game. Also the game could loop through hundreds of collisions at once resolving a tall pile of blocks to a shallow one in a single frame, hardly realistic.

JasoNsider said:
Now, on a simpler scale like my game, there are occasionally snowballs you can push and they will fall off a platform to make a pile of snow below. That's pretty much it! But if the player tried to test the limits and push the other way I just wanted it to react properly against walls and such.
It sounds like a cool mechanic. Is this as flexible as you need it to be?

I would think something like this might work:

-Resolve interactions between snowballs and walls, if they overlap move the snowball so they don't and adjust its velocity appropriately.
-Resolve interactions between snowballs and player, if they overlap move the player so they don't and adjust both velocities appropriately, make sure you are in the "pushing snowball" animation.

This looks like it should work to me, but it isn't a flexible solution, e.g. you can't expect two snowballs to behave well when they hit each other.

JasoNsider said:
You always mention a "real" physics model but I'm not entirely sure how my setup differs from a real one. Can you explain in more detail because its sounding more and more like I'm pigeon holing my game into the wrong place!
Sorry I should've clarified this. What I mean is a simulation of real life physics, by considering impulses between objects, with this loop running more often than your game loop, and each object behaving according to its physical shape and parameters. E.g. phun or farseer.

I really don't know much about the best way of approaching the programming for a platform game. Maybe you should ask at the xna forums?
 
wmat said:
Another approach is to use the Minkowsky "sum" of the before and after location for shapes that can collide and check collisions of those. These cover the whole linear path the shapes cover travelling. You can then deduct collision, just not the exact location.
I was going to say that, actually. I deleted that entire segment of my post, though, when I realized that it will give you false positives. Imagine applying that to checking for collisions between cars at a traffic light. You could get tonnes of 'collisions' but not a single car crash.

As you say, it could be useful as a screening measure, to determine whether a collision is likely or not. The processing cost of collisions and near-misses would be increased, but the processing cost of most non-colliding travel would be reduced.

Personally, I'm unsure if that's a solution I'd like. Simpler code and greater consistency are quite appealing. Even if, on average, it reduces processing costs.
 
Slavik81 said:
I was going to say that, actually. I deleted that entire segment of my post, though, when I realized that it will give you false positives. Imagine applying that to checking for collisions between cars at a traffic light. You could get tonnes of 'collisions' but not a single car crash.

As you say, it could be useful as a screening measure, to determine whether a collision is likely or not. The processing cost of collisions and near-misses would be increased, but the processing cost of most non-colliding travel would be reduced.

Personally, I'm unsure if that's a solution I'd like. Simpler code and greater consistency are quite appealing. Even if, on average, it reduces processing costs.
It's certainly not enough by itself, like you pointed out. I should have mentioned that.
 
Slavik81 said:
Really? I ran my game on my brother's fresh new Vista machine after only updating DX and installing the XNA redistributable. I've heard .Net is built into Vista, which explains that, but why didn't I need to install the Visual C++ 2005 SP1 redist?
Yeah, most people seem to have it, I think it comes preinstalled on Vista. However there were a few people who couldn't get XNA games to work to whom installing this was the solution.
 
If you're just fixing overlaps you can do the following to avoid infinite loops: when you find overlaps between two movables, push both objects (in opposite directions) to fix the overlap, instead of pushing only one.

This will spread the amount of motion required to fix the overlaps among two entities instead of only one, so if one of the movables goes into another object after being corrected, it will need to move less and less in each iteration/frame.

Obviously you can still get infinite loops if two objects are perfectly stuck between two walls or something, but that's when you make something explode/die.
 
The Friendly Monster said:
The XNA 3.0 ctp is basically a beta at the moment.

If you want to make games for Zune then you can only use XNA 3.0.
If you want to make games for Xbox 360 then you can only use XNA 2.0 at the moment.

3.0 can integrate into Visual Studio 2008, 2.0 cannot. Basically use 2.0.

Ah, thank you. Is it possible to have both on the same machine though?

As for syntax, besides Zune, are 2.0 and 3.0 the same?
 
M3d10n said:
If you're just fixing overlaps you can do the following to avoid infinite loops: when you find overlaps between two movables, push both objects (in opposite directions) to fix the overlap, instead of pushing only one.

This will spread the amount of motion required to fix the overlaps among two entities instead of only one, so if one of the movables goes into another object after being corrected, it will need to move less and less in each iteration/frame.

Obviously you can still get infinite loops if two objects are perfectly stuck between two walls or something, but that's when you make something explode/die.
Yeah, or separate the objects in proportion to their "weights" or "sizes" or something. Still I don't think that the same collision should be considered multiple times in a frame until all overlaps are gone. A small overlap isn't a big deal.
 
This is a better discussion than what I would get at a real techie forum :) I love it!

For the most part the solutions discussed have been over my head. However, for the purposes of our game the solution you proposed, Friendly Monster, is all we need. My only concern is that I want this engine to work for future projects as well. I might have to see if we can just resolve this now, properly, for the sake of future endeavors :)

Thanks for all the input guys! Some of the titles for the algorithms are new to me and the concepts are a bit fuzzy in my mind, but it's definitely something that can be learned.

I realized there is another solution that hasn't been proposed yet. Instead of using recursion to check, you instead use a loop that would work in "passes". It would work like:

Code:
Do :
  for each entity
      [I]if this is first iteration[/I], allow movement of entity
      for each other entity
         check for collisions and if found, resolve with movement.
         if collisions then collisions found equals true
while (collisions found)

So this method would only allow entities to move once, as it should. It also makes sure that at the end of every update there will be no objects colliding with each other as it will keep doing passes until things are seperated. This obviously would blow up if things were getting tight, but then something has to give in that situation anyway as M3d10n brings up. Something would die or explode or be flagged as not collideable temporarily. Thoughts?
 
JasoNsider said:
So this method would only allow entities to move once, as it should. It also makes sure that at the end of every update there will be no objects colliding with each other as it will keep doing passes until things are seperated.
I'm not sure you can guarantee both of these. What if everything has moved and there are objects colliding? I don't think you should get too stressed about objects colliding after you have moved them. Just consider each possible collision once, resolve them, and wait until the next frame to fix any new collisions. If you get big overlaps (probably due to fast moving objects) then try increasing the frequency.
 
I decided to play with XNA today and decided to make a little PuzzNic-remake (well; with stolen assets, coders != artists). Quite pleased with how easy implementing 2D is (I never bother with 3D.. well; only with basic geoms for my Rubix Cube demo for DS.. 2D is just my individual preference).

After spending no more than 2 hours, a fully playable version had been born. The problem with small projects like these is that I cant be bothered to implement the 'uninteresting' bits like the user interface; scoring points and time limits are working but not visible :lol (heh; it even parses a guide @ gamefaqs to separate XML-files for the worlds and maps; laziness).

Too bad I am not creative enough for new game designs. Well; at least I had fun for a few hours. (and I finally am able to finish the damn game; lost my original copy :lol)

puzztrick.PNG
 
Monkaii said:
I decided to play with XNA today and decided to make a little PuzzNic-remake (well; with stolen assets, coders != artists). Quite pleased with how easy implementing 2D is (I never bother with 3D.. well; only with basic geoms for my Rubix Cube demo for DS.. 2D is just my individual preference).

After spending no more than 2 hours, a fully playable version had been born. The problem with small projects like these is that I cant be bothered to implement the 'uninteresting' bits like the user interface; scoring points and time limits are working but not visible :lol (heh; it even parses a guide @ gamefaqs to separate XML-files for the worlds and maps; laziness).

Too bad I am not creative enough for new game designs. Well; at least I had fun for a few hours. (and I finally am able to finish the damn game; lost my original copy :lol)

puzztrick.PNG
That's awesome, I've never heard of someone programming a game so they can complete it!

If you're interested you should try and team up with an artist/designer and collaborate. I'm sure there must be people on GAF who want to do this but aren't proficient at the programming.
 
stiria-4.png

So, uh, I finally released a 2-level demo of my Java cell phone game.

It started as a 4 week project for a "programming style" class in spring '07 (and the idea came before Mario Galaxy was announced! So there! :lol), and I've been trying to fine tune it since then. It's a 2D platformer with the tweeeest that gravity hates you.
 
Elfforkusu said:
stiria-4.png

So, uh, I finally released a 2-level demo of my Java cell phone game.

It started as a 4 week project for a "programming style" class in spring '07 (and the idea came before Mario Galaxy was announced! So there! :lol), and I've been trying to fine tune it since then. It's a 2D platformer with the tweeeest that gravity hates you.
Cool, can I play it on my PC?
 
The Friendly Monster said:
Cool, can I play it on my PC?
You'd need a cell phone emulator capable of running J2ME applications. (or midp2exe... I might upload a .exe made with that for demo purposes, actually)

In any case, the resolution's really tiny for a PC.
 
Elfforkusu said:
You'd need a cell phone emulator capable of running J2ME applications. (or midp2exe... I might upload a .exe made with that for demo purposes, actually)

In any case, the resolution's really tiny for a PC.
Works.

Linux instructions:
- Get the JWT: JWT Download (You need Java, obviously)
- Get Stiria along with the JAD, put them into one dir
- Install the JWT, run ktoolbar
- Create Project from JAD/JAR, choose Stiria.JAD
- Run, enjoy!



Edit: Tehee, obfuscated code eh?
If you build up momentum, you can easily fly out of the map. There seems to be no redraw there.
The sound is kinda broken when emulated. Probably not a big deal.
The physics seem to work great so far, I couldn't find any hiccups. Good job.
 
Thanks. Re: obfuscation, yep. Seems prudent, since it's not in any shape to be an OSS project. Like I said, the project was started over 4 weeks, so the code from then is absolutely terrifying even in its normal, readable version.

I've been meaning to add some code to address getting launched off the map. But for now we'll call it a very slow game over. :lol
 
Alright! So I ended up using a really simple algorithm that essentially allows pushable objects to be moved, then goes to a new function that returns a boolean on whether that push caused further collisions. That's about as complex as I need it to get right now. The cool part is that I can string together pushes with this :) I have it now that I can push multiple items in a line...sometimes you almost find neat game mechanics by accident.

Though this made me think today....creating the original Tetris must have been really interesting. The algorithm necessary to do that game is not so easy that he could have just happened upon the idea....he really must have thought about the idea on paper first and then hammered away at the computer until it worked. Even with new technology in programming, it took me a while to really plan out and re-create a Tetris clone.

Friendly, I don't have time to test out your new build at the moment, but hopefully I can get to it soon :) Good luck, and don't give up on the game as it's really great!
 
JasoNsider said:
Alright! So I ended up using a really simple algorithm that essentially allows pushable objects to be moved, then goes to a new function that returns a boolean on whether that push caused further collisions. That's about as complex as I need it to get right now. The cool part is that I can string together pushes with this :) I have it now that I can push multiple items in a line...sometimes you almost find neat game mechanics by accident.

Though this made me think today....creating the original Tetris must have been really interesting. The algorithm necessary to do that game is not so easy that he could have just happened upon the idea....he really must have thought about the idea on paper first and then hammered away at the computer until it worked. Even with new technology in programming, it took me a while to really plan out and re-create a Tetris clone.

Friendly, I don't have time to test out your new build at the moment, but hopefully I can get to it soon :) Good luck, and don't give up on the game as it's really great!
Glad to know you got it fixed how you want it, I think my advice was a bit confusing! Are you still going to have pushing snowballs to make platforms?

Tetris isn't the easiest project to code at all, but I think it is a good one to try, as it is something with which everyone is familiar. I think shmups are probably the easiest games to code from scratch, although designing them is a different matter.
 
The Friendly Monster said:
Glad to know you got it fixed how you want it, I think my advice was a bit confusing! Are you still going to have pushing snowballs to make platforms?

Tetris isn't the easiest project to code at all, but I think it is a good one to try, as it is something with which everyone is familiar. I think shmups are probably the easiest games to code from scratch, although designing them is a different matter.

Yeah, we're still going to do pushing snowballs to create ramps :) Your advice was pretty good, and the only thing I worry about now is that when and if I go to make another more complex game in the future my collision will have to be re-written. But that's part and parcel with a new project :)

Tetris was my first project and I totally agree that it is a good one to do. It even works as a humbling experience, as a game you once thought as "simple" ends up being a bit challenging to work out. By no means impossible, just a good way to set your mind straight on how complicated even the most simple of mechanics can be :)
 
Oh heh, a little late; but I finally got a project page up. It has a tech demo I put together a month ago or so...it's horribly out dated. I'll see what I can do about putting up a real demo later (worklife has been kicking me in the crotch lately)

*deadlink

IT'S NOT A GAME! (yet) Just a tech demo of my early attempts at getting an "engine" together. "engine" being in quotes because it isn't all that great :P Though it's not bad considering it's my first attempt at 3d programming I think....
 
Top Bottom