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.
Messages - sjasogun1
16
« on: October 10, 2011, 07:22:28 am »
Oops, I didn't mean I'd be making this game in C, I'm merely experimenting with it for future projects since BASIC is far too restricted. This game will still be in BASIC.
17
« on: October 06, 2011, 08:08:11 am »
More input on how the dungeons should look like would be appericiated! I'm currently doing a bit of fiddling around with the Casio SDK (aka C programming for the fx-9860GII). With more input and idea's I can do more work on the RPG!
18
« on: October 06, 2011, 08:02:14 am »
I’ve started programming with the Casio SDK but I’m currently stuck at trying to draw sprites. If I assign the hex values to an array and display it using Print((unsigned char*)sprite1) it displays the character codes that are bound to the hex values instead. I know it is possible to do this via this method because of a screenshot of the Pixel Studio program, showing hex codes being assigned to an array. It’s the code that wasn’t on the screenshot I need.
Also, I know I can use fx-revolution 1.0 for this but I want to know how to do it like this as well.
19
« on: October 06, 2011, 07:54:28 am »
On the casio you have to extract the part of the string you need with StrMid(, assign it to another string and then use StrCmp to compare that one with a "test" string that would contain the character you want to check. It's really obnoxious and slow so I don't use it.
20
« on: September 29, 2011, 02:49:28 pm »
They are similar, but I really feel TI-BASIC is the better programming language because of the ability to wrap strings around the screen, having the ability to check a certain part of a string (Casio-BASIC would need to extract the symbol from the string, store it into a seperate string and compare it with the comparison string) and the ability to use HEX codes to generate icons. Especially the last function got me jealous of TI-calc owners The fastest method of drawing a sprite on CASIO is storing the coordinates of the pixels into two lists and drawing them all using Scatter,List 1,List 2 (also with some other things before and after it I can't remember) and changing the V-Window settings to move the sprite around.
21
« on: September 23, 2011, 06:27:50 am »
EDIT: Somehow the entire problem vanishes once I replace PlotOn with PxlChg. I don't know how, but it works.
I have a problem with the PxlTest command in an IF statement. I basically want a dot to move around the screen without running into any pixels that are on. But for some reason the dot will move regardless of whether or not there is a dot in the way. I used a different program to check it by breaking the program when the dot is next to a pixel in the on state, and it says it is on, no matter how i formulate it (PxlTest(B,A), PxlTest(B,A)=0, PxlTest(B,A)=/=1, etc) it will definitely say the pixel is on. But the IF-statement will simply ignore whatever state the pixel is in. I'll post the code for the IF-statement when the down button is pressed.
If Getkey=28 And PxlTest(64-B+1)=0 (the 64 is because I use PlotOn to place the pixel, making the Y-coordinate (the B variable in this case) inverted. Because the graph screen is 64 high this makes sure the coordinates are correct) Then A->D:B->E:B+1->B (D and E just remove the old dot image when it has moved) IfEnd
If you think it's the inversion making it go wrong it isn't; as I said before I tested it by continuously using PxlChg on the pixel that should be tested to make sure the right pixel is tested. Can anybody help me?
22
« on: September 23, 2011, 06:26:49 am »
EDIT: Somehow the entire problem vanishes once I replace PlotOn with PxlChg. I don't know how, but it works.
I have a problem with the PxlTest command in an IF statement. I basically want a dot to move around the screen without running into any pixels that are on. But for some reason the dot will move regardless of whether or not there is a dot in the way. I used a different program to check it by breaking the program when the dot is next to a pixel in the on state, and it says it is on, no matter how i formulate it (PxlTest(B,A), PxlTest(B,A)=0, PxlTest(B,A)=/=1, etc) it will definitely say the pixel is on. But the IF-statement will simply ignore whatever state the pixel is in. I'll post the code for the IF-statement when the down button is pressed.
If Getkey=28 And PxlTest(64-B+1)=0 (the 64 is because I use PlotOn to place the pixel, making the Y-coordinate (the B variable in this case) inverted. Because the graph screen is 64 high this makes sure the coordinates are correct) Then A->D:B->E:B+1->B (D and E just remove the old dot image when it has moved) IfEnd
If you think it's the inversion making it go wrong it isn't; as I said before I tested it by continuously using PxlChg on the pixel that should be tested to make sure the right pixel is tested. Can anybody help me?
23
« on: September 06, 2011, 03:25:41 am »
Okay, I want to implement the dungeons now (I've got them working but I've got some slight adjustments to make to make it run smoother, such as eliminating the need of checking the square it just came from to reduce loading time by 25%) but I don't know how I should implement them. I've got various ideas:
1. Replace the multiple area's in each map with just a single dungeon. As you get in further worlds the dungeons will get bigger. As you progress through the dungeon the monsters will get stronger and at the end there will be the area's boss. Each time you reach the exit of a floor you can choose to progress or return to the map. 2. Make each area a seperate dungeon of either one or multiple floors. When you complete the final floor you can exit, so you can't quit halfway through as in the first one. 3. Make just the boss area a dungeon. Same rules apply as in 2 with the difference that you will have to beat the boss after you finish the final floor. 4. Implement dungeons in every map past the first one (right now that'd just be Ariant Desert) as an extra thing. You get rewards for beating it and there will be a special boss at the end different from the area boss. 5. Same as 4, but with reverse mode added; once you have completed the floor with the strongest monsters from the area the dungeon is in they appear again but one level higher, then the second strongest one level higher than that one, the third strongest one level higher than that one etc. So in the end you will fight the weakest monsters from that area at very high levels. 6. Don't add them at all 7. Any other idea you might have.
What do you guys think?
24
« on: September 04, 2011, 05:23:05 am »
Just the screenshots of the main menu's make me want to buy a Prizm. Looking awesome!
25
« on: September 04, 2011, 05:19:19 am »
When there finally is a contest on a Casio game it has to be on the Prizm! I 'could' make something in C for my fx-9860 GII to work on the Prizm, were it not I can only program in Casio Basic.
26
« on: September 01, 2011, 08:08:12 am »
Hi everybody, I'm back again!
I could take the entire post explaining why I was absent and apologizing for that but instead I'll share some new developments with you I'm sure you'll like. It'll suffice to say I was preoccupied with a holiday job, thinking over something new to implement and attempting to program those ideas.
After some failed attempts I became interested in the subject of Randomly Generated Mazes. At first I just started it as a seperate project, just for the fun and challenge of coding it but when I had a first, buggy and extremely slow version running I thought I could implement it into my big project!
The idea is that my program generates a random maze of 19x5 because to generate one correctly it needs to check the locations next to the 'current' cell (more about that later) which will result in an error if the current cell is at the edge of the screen. Also, a wall around the maze looks slicker and it drastically cuts down the generation time (by around 25%!).
Now for what the function of the maze in the program will be; it will kinda act like a dungeon. While walking around in it you can randomly encounter monsters and discover treasure. The first part won’t be difficult since the fighting program is completely separate from the main ‘map’ program. The second part will be incorporated like this; when the maze is generated 1/8 empty places will be replaced by breakable walls. These look the same as regular ones and mainly serve to make navigating through the maze harder. But it will also replace 1/40 empty spaces with a different kind of breakable wall; one that will yield treasure upon breaking it.
The maze generates like this; it will first generate a matrix of 7x21. The first number represents the amount of rows=the height, so to keep the visual look of the matrix similar to the look of the final product Y goes before X. The maze will then fill up completely with the value 1. 1 stands for a wall. The program will then assign location (2,2) in the matrix to the starting point and begin by setting it to 0, which is an empty space. Then it will randomly check whether a neighbor is not a 0 already and is not on the edge of the screen. It will then proceed to check whether or not the neighbors of that cell are 0 as well. If they are all still 1 as well it will set the cell to 0 and set the X and Y coordinates of that cell as the new standard X and Y values.
At this point it will repeat until it can’t go on in any direction. At this point it will retrieve data from two lists that have been storing the coordinates of each visited cell. It will mark the one before the one it is in as the current cell and start at the beginning of the whole process. An important note is that if it starts backtracking like this it will start overwriting parts of the two lists, starting one after the cell the new side-route originates from. This is to ensure it will also check the side route for possibilities to branch off again, and to make sure it’ll check the cell the branch started for the possibility of having yet another branch.
This entire system will ensure that there are no walls left the maze can still bend into without looping on itself. The downside is that it takes around 40~80 seconds to generate a complete maze. One of my idea’s is to terminate the program when the maze has 60 empty spaces which will cut off the lag at the end when it’s backtracking all the way back to the beginning but will also leave some unused wall segments.
And that’s about it! Let me know what you think of it, I’ll either post a demo of the maze generator over the course of the next week or upload the new version of the game with the random dungeons implemented!
27
« on: June 08, 2011, 07:16:28 am »
AH ok sorry to hear. I hope you don't quit afterward.
Youd don't have to worry about that; I'm already fine-tuning the monsters and the bosses. I also removed the Heal, Summon Knives and Tri-Attack spells and replaced them with the more powerful versions of the first three spells, Lightning, Explosion and Icicle. I've also severly reduced the amount of MP required to cast a spell. Actually, the entire process is turning out to be much easier than I'd expected at first! If I'm lucky I'll be able to upload the new version before summer vacation starts (but it could take much longer since I didn't start on optimizing the code yet so I don't know how long that's going to take). So don't give up on this project yet! I'm still developing! (Also, DJ, congratulations on +1000 post ratings!)
28
« on: June 07, 2011, 12:21:20 pm »
Thanks for the info! (Great game by the way!)
29
« on: June 07, 2011, 12:04:29 pm »
EDIT: Problem solved; WabbitEmu doesn't recognise .8XI files like .8XP files. You have to check All Files at Files of Type when loading a file to see them.
I have been trying to run Illusiat 12 on WabbitEmu (with the TI-83+ ROM, by the way) but even though I put the files from the archives folder into the archive memory and the files from the RAM folder into the RAM memory the program ILLUSI12 displays ERR:UNDEFINED when I press enter on EXEC and then enter again.
For the record, here is my memory data as displayed by SHIFT, MEM, 2:Mem Mgmt/Del..., 1:All:
RAM FREE 4668 ARC FREE 1555K ILLUSI12 L1 *L10 *L2 *L3 *L4 *L5 *L6 *L7 *L8 *L9 LA LB0 *LB1 *LB2 *LB3 *LB4 *LB5 *LB6 *LB7 *LB8 LC LD LE LF LG LL1 *LL2 *LL3 *LL4 LM LR LT LV1 LV2 LV3 L1 L2 L3 L4 I
I also can't find the Pic1.8XI to Pic8.8XI files anywhere on the calc, even though I am sure I extracted them as well. Can anybody tell me where these files should be located so I can check whether or not they are there?
30
« on: June 07, 2011, 11:54:22 am »
Never mind, problem solved, somehow the results were random and just appeared not to be. Every other run of the program returned normal results (95% of the values within 2 standard deviations of the average, checked with CALC1). I also removed the lines involving C since the program runs 4 times as fast without the counter on-screen.
|