This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Topics - Builderboy
61
« on: July 09, 2010, 06:50:03 pm »
So I currently have the portal gun set up so that you shoot relative to the 5 key at intervals of 45. But I wanted to get other peoples oppinions and ideas about this, should I keep it at 45? Should I try to get 22.5 degrees by using multiple keys? Is there any other ideas you guys can think of?
62
« on: July 08, 2010, 02:53:01 pm »
63
« on: July 06, 2010, 01:57:26 am »
We were all noobs at one time, whether you want to believe it or not But making mistakes is all part of learning, so share all your hilarious mistakes here! Ill start 1) I used the product() and sum() commands to access List elements instead of L1(N) 2) I used masses of pixel tests to check a tile type
64
« on: June 07, 2010, 11:53:15 pm »
65
« on: May 30, 2010, 06:23:02 pm »
So after programing on-calc for a while, do you guys notice you can type on it as fast or faster than on a phone or other keyboard? My friends keep telling me its unnerving how fast i can type on my calculator Wondering how other people compared. I was able to type this program up in exactly a minute: ClrHome 1->X 1->Z 1->A "ABCDEFGHIJKLMNOPQRSTUVWXYZ->Str1
Repeat K=105
Output(Z,X,sub(Str,A,1
Repeat Ans getKey->K End
Output(Z,X,"
X+(X!=16)(K=26)-(X!=1)(K=24->X Z+(Z!=8)(K=34)-(Z!=1)(K=25->Z A+1-26(A=26->A
End
66
« on: May 15, 2010, 04:25:11 pm »
So i was playing around with the idea of writing my own Small Font Basic editor in Axe, but i got stumped when it came to the idea of how to realocate memory when you insert text into a large file. Like if you had an 8000 bytes program, and you add an extra digit on the first line. Would i have to shift everything else down by a couple bytes? Is there any fast way to handle the dynamic memory needed for a text editor? And how does the Ti OS manage to do it so well?
67
« on: April 24, 2010, 11:49:31 am »
A seed was planted when SirCmpwn noted that he was writing a physics engine for his new game, and i insticntivly started working on my own. Well collision was a bitch, and i went through many rewrites and many RAM clears before I even got a version that didnt crash every five seconds. The trick was to make an engine that supported an undefined amount of polygons, but enough blabbering lets get to the specs: Supported:Rigid Body Physics Collisions Friction between Objects and on Walls NO Terminal velocity cap, objects can move as fast as they need to Edge Sliding* External Force Application Planned:Different sized objects Objects with different masses Built in subs for accessing different objects And here are 3 screenshots i made to demonstrate my engine. Note that the engine itself only handles the collision solver, anything extra like springs or buoyancy is handled by the client program. Since the engine supports full external force application, you can attach boxes with strings, submerge them, remove gravity, or give them magnetic properties and the collisions solver will compensate. Screenie 1: Just a basic Demo with the plain engine. In the beginning you can see an example of edge sliding, where boxes close to falling off with slide a bit to the right or left. Its mostly to make box stacking more realistic because without it, boxes would stay still even if it was only partly on top of another box. I am then applying gravity with the arrow keys to make them fly around the screen. Screenie 2: Now demonstrating the dynamic force application. The code for the spring is not inside the Zedd engine, but the solver still can take in all the resulting forces of the spring and simulate the collisions accurately. I am applying a force to one of the boxes with the arrow keys. Screenie 3: Now demonstrating more of the dynamic global effects you can achieve with Zedd. I wrote a small bit of client code to handle buoyancy and let the boxes go into this tub of water. Zedd handles the rest! I am moving around one of the boxes and trying to stack them on top of eachother to show how well Zedd redistributes forces and transfers momentum. RELEASE: I am not releasing the engine just yet. There are still some bugs to hammer out, as well as implementing some screen partitioning to improve speed, because as of now, it runs a bit slow on the 6Mhz processors, and i think i can get some more speed. I also need to implement a few more features, and write the handy subs to work with objects
68
« on: April 20, 2010, 08:26:20 pm »
Helooo everybody, for part of my Senior project I am taking a survey of a group of people ti find out what kind of gaming preferences they have. It would be awesome if you could complete this really short 5 question survey i threw together Thanks a ton! <a href=" http://www.surveymonkey.com/s/RMSZSQ7">Click here to take survey</a>
69
« on: March 13, 2010, 10:58:33 pm »
GRAVITY:One of the most basic Physics concepts that you might want to implement in a game is gravity. Whether it be in a platformer, a pinball game, or something else, gravity is a common need. So to start off, we need to ask ourselves, what it gravity? Gravity acts on all objects on earth, and pulls the objects towards the surface, we all know that. But its not merely as simple as decreasing the players position by 1 each frame, things don't fall that way*, as they fall they get faster and faster. This phenomenom is known as acceleration and is the concept behind gravity and all accelerating physics. Acceleration is measured in X Meters per second per second. That is to say, every second, your velocity will increase by X Meters per second. Since we live in the game world, it would be more somthing like X pixels per frame per frame. That is to say, every frame, your velocity will increase by X pixels per frame. Lets say your position starts at 0 and your velocity starts at -3 and you are in an empty world with 1 P/F/F acceleration (1 pixels per frame per frame). This chart shows your position, velocity, and acceleration for a few frames Frame Position Velocity Acceleration 0 0 -3 1 1 -3 -2 1 2 -5 -1 1 3 -6 0 1 4 -6 1 1 5 -5 2 1 6 -3 3 1 7 0 4 1 8 4 5 1 9 9 6 1 10 15 7 1 The code for this would look something like 0->X -3->V 1->A
While 1 Output(1,1,X) X+V->X V+A->V End Notice that even when the velocity is positive, the position can still be negative, and vica versa. But you can see that the position starts off moving downwards, stops at -6, then starts moving upwards again. Acceleration stays constant througout the entire simulation. If you want to get really technical, you can go into how velocity is the derivative of position blah blah blah, but you dont need to know that in a game HOW TO USE IT:Implementing acceleration is simple, especialy if your acceleration is constant. You only need a single variable for your position and one for your velocity. If you want changing acceleration you could add a variable for that too. Also note that X velocity is INDEPENDANT of Y velocity. That is to say, if your character has a velocity in the X direction, and has gravity affecting it, since gravity is only in the Y direction (unless your game is uber cool) the Y acceleration will only affect the Y velocity will only affect the Y position. Try this example program for size: ZStandard ZInteger AxesOff Clrdraw 0->X 0->Z 0->A 0->B
While 1 PtOff(X,Z,2 X+A->X Z+B->Z PtOn(X,Z,2 getKey->K A+(K=26)-(K=24)->A B+(K=25)-(K=34)->B End Its a fun example of the power of acceleration, see if you can add gravity to it! You might have some interesting results. WHAT TO WATCH OUT FOR:Acceleration is not always applied, for example when you are standing on a platform, both your velocity and your acceleration are 0. More on this will be covered in the next section 'Collisions'
70
« on: March 09, 2010, 11:14:21 pm »
You guys know i never halt progress on one project without creating another! I have 2 anouncments to make. 1) I have been working on a Portal Gold edition! The engine is being completely remodeled for faster speed and better portal handling More levels will be added, for even more Portal Madness More levels means more GlaDOS! So get ready for a deeper storyline and interesting twists All the original puzzles will be included, plus some new ones! 2) I have recently started working on PortalX. An Axe version of the portal game. PortalX will serve as the prequel to Portal, with a whole new storyline, and full Portal Physics! Get ready to use new portal concepts like momentum and velocity to solve puzzles like never before! New obstacles will be added as well, so you will need to be extra careful Are you thinking with Portals yet?? Here are some screenshots of the engine i have set up right now. Full portal physics are already supported, as well as a crude portal gun. Demonstrating the portal physics Demonstrating how the new engine is (completely) different than the old. About the Engine: I am using Axe 0.0.06 to do my compiling (i didn't upgrade to 0.1.0 yet ) and the source is about 2000 bytes, and it compiles to about double that. I'm sure there are many many places i could optimize however. All collision detection is done via memory access, not pixel testing. I wrote a pointTest sub to test whether or not a point in the world is solid or not. Portals can warp this data Warping through portals actually takes up about 1/2 of the engine code right now, as i have to account for momentum change as well as the multiple sprites needed to complete the warping effect.
71
« on: February 18, 2010, 12:30:28 am »
Yeah, maybe I should try to make a program in java that allows you to input a desired tile, and then it finds the correct combination, or at least some that are close O.o
72
« on: February 04, 2010, 12:06:47 pm »
So recently while programing on my calc, I have run into an interesting OS glitch with my calc sometimes when I press the PRGM button to get to an If or While, I get the traditional list of programs instead ( like when you press it from the homescreen ). Has anybody else ever experienced this? I think I'm going to update my OS just in case it is serious
73
« on: February 01, 2010, 10:12:53 pm »
Well i made this game in Stats today, I was inspired, what can i say Well it was a very interesting game to code, took a lot of time to figure out how to make it all work and still conserve speed. The basic premise of the game is this: You work a claw in a factory, boxes are brought in from the left and into storage compartments on the right. Boxes of different types are represented by different number. Three boxes of the same type become packages and are taken out of the storage compartments. You can use your claw to move the boxes so that they make packages with others. You get paid $5 for every box you handle and $100 for every successfull package. If you jam the machine by overflowing any of the storage containers you are fired and lose the game. The boxes were hard to code because there can be 2 on the screen at any given time, and in no particular order because you can hold onto a box for as long as you want They are coded in as hardcoded objects, as in the engine would NOT be expandable. The game has mutliple speeds, and multiple difficulty modes. The different difficulties change how many different types of boxes you are sorting Easy-3 and Expert-6. You have separate highscores for each difficulty modes, but are free to chose any speed for each difficulty mode. I have not released the program yet, because as of now it is cluttered, in 6 subprograms, and horribly unoptomised, but I should have it out by the end of the night, or later if i'm slow EDIT: Released version 1! Should be free of bugs hopefully! EDIT2: Released version 2! Now has survival mode and multiple bug fixes
74
« on: January 23, 2010, 01:31:57 am »
So this is a small bit of code that takes advantage of Memory leaks in order to run 'Sub-Routines' that you can place within your programs! This can be advantageous for people who want to compile their games into a single program to clear up Program menus
Goto M //Start of Subroutine section. We want it to be at the top of the program, as all subroutines are accessed via lables //This code is skipped due to the Goto M statement Lbl A //Subroutine A Disp "This is a fun sub" Disp "Its over 9000" End
Lbl M
Disp "Main program foo'!" //This is where normal program execution starts
For(F,-1,0) //The tricky bit. The first time the for loop loops, F=-1 and the if statement is true. Goto A If F //Once the sub is executed, it reaches an End which it THINKS is the same end that ends the For loop Goto A //since the loop is still looping, control jumps [i]back into the for loop[/i] End //F is now 0 and the condition is false. Exit for loop :)
The code works by exploiting the fact that the TiOS cannot tell the difference between individual End's, and that jumping using Goto's does not clear Loop stacks. Whenever the OS encounters an End, it will automatically assume that the End is paired with the most recent loop, and act accordingly.
75
« on: January 18, 2010, 12:27:42 pm »
So, surprisingly, in addition to the continued work on Serenity, I have found myself unexpectedly working on a new Game! I actualy stumbled upon the concept/implementation quite by accident, but it sure has grown! The game is going to be a sequel to my early Java game Castle Storm, which can be found in the Greenfoot Gallery here http://greenfootgallery.org/scenarios/360. While the original Castle Storm was a RayCaster much in the same style as Doom and Wolfenstein, this new engine is brand new, and frankly, I'm very excited about it! It uses a combination of Rasterization and RayTracing to get much better looking floor textures, as well as allowing a true UP/DOWN direction in the maps. Worlds can now have tiles with different height, which allows for things like multiple levels, staircases, and even moving platforms. The game also utilizes some new Mouse Look code like in a traditional FPS, but unfortunately this only works if you download the game and play it on Greenfoot. (You would need to install greenfoot first, although I will see If i can attatch a JAR file soon). The game will work in the applet, but you have to use the arrow keys. The game can be found here: http://greenfootgallery.org/scenarios/1233And here is a screenshot for the heck of it: And I will see about getting that Jar file up... EDIT: Ok I attached the Jar file, now you can play it without downloading Greenfoot! Use WASD to move around, C to crouch, and Space to jump. Mouse is used to Look around. NOTE: If using the Jar file, you will need to calibrate the mouse in the beginning. To do this, click in the center of the window, and then drag your mouse to the top left corner of your Computer Screen, not just the window. Let go of your mouse, and it should snap back to the center of the window. Press ESC to stop the simulation and free your mouse again, or press the right mouse button.
|