Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Discussion / DNG - Berzerk! remake [DBP]

Author
Message
LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 22nd Oct 2011 19:35 Edited at: 24th Oct 2011 21:23
That dll is part of IanM's matrix1 utilities. I did not think we were using any of the commands from that in this game, but it's possible, as the keywords from his dll light up for me the same as DBP's. However, I have not added something from that in this last update. I don't understand why you would get that error now, but I recommend you install IanM's matrix1 utilities as they include many commands that you will need as you program in DBP.

Quote: "Oh yeah, and whats the image number for the forward idle animation?"


You will have to create one, as the player sprite is an animated sprite and you don't have access to the individual frames like that.
Here's is what you can do:
1. Make the variable, ExtraMan, a global at the start of the code.
2. In the LoadImages() function, include this code:

3. Use the ExtraMan image where you need it in your function.

Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 22nd Oct 2011 21:23
Wow, almost nothing worked, I ended up having to put the dll in the berkzerk file (The main one with the .dba's and everything)

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 24th Oct 2011 01:47 Edited at: 24th Oct 2011 01:49
@LBFN,

It's been over 2 weeks since you gave me the high scores assignment, so I'm sorry for that, but I think I finally ready to move on. I've been working with this code for a little while. Looks kinda wimpy anyway, haha



Quote: "3. Within the function, check to see if a high-score file exists. Use the name "Bz.hscore" for the filename. If it does indeed exist, load the data into the arrays that you have established. If it doesn't exist, load the arrays from the hard-coded data."


I'm rather inexperienced with loading data. I can't picture what kind of file we will be loading from, so I don't know how to load the highscore values from "Bz.hscore".

Quote: "6. Use the 'return to main menu' button (and it's highlighted version) that was created for use with the difficulty menu. Paste it at the lower center of the screen and check to see if the user is mousing over this area - if so, use the lighted version of it. If the user is clicking the LMB while in this area, return to the main menu."


But isn't the 'return to main menu' part of a bigger jpg image called 'DiffMenu.' How do I use only the 'return to main menu' button by itself? thanks.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 24th Oct 2011 02:08 Edited at: 24th Oct 2011 04:38
Do:

if file exist ("media\Bz.hscore") = 1

delete file "media\bz.hscore"

else

create file "media\bz.hscore"
open file to read


Pretty much that just makes sure its deleted so you can overwrite it. Course theres better ways of doing it.

And I have an unattached return.bmp if you need it (ATTACHED)

EDIT: I havent really started with lives yet, still thinking about what I should do. I think I may just go with a select (That way when player.lives change, it automatically changes too) Though that may not work out so well, tell me what you think is the best way to go about this.

Attachments

Login to view attachments
LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 24th Oct 2011 07:46 Edited at: 24th Oct 2011 16:56
Daygamer:
I made a few edits to your code as well as the main Berzerk code to make it work in-game, but nice job overall. Please take a look to see the changes I made and post any questions / comments you have.

This is the function itself:


Also, I couldn't get the font you had to work, so I picked another one that did. I also had it pick random colors for each score. The menu looks like this in-game:



Quote: "I'm rather inexperienced with loading data. I can't picture what kind of file we will be loading from, so I don't know how to load the highscore values from "Bz.hscore"."


You'll notice I declared the highscore arrays as a string and as a word. A string array holds characters. A word can hold up to 16 bits of data - plenty for what we need. At this point, the game has not written a game save file, but I have saved one in the updated code. You can see it done by inserting this code at the end of the HighScores() function:



You won't notice any difference when you run it again, because the same data is displayed. To show you it is loading in the info, put a line of code, right after the ' open to read 1,"media\Bz.hscore"' code in the HighScores() function to show you:

When you run the game again and go into the High Score Menu, this should be displayed.

NOTE: You cannot simply plug this function into your code and have it work, as I have made other edits and have added another image, which you will need to make it work. I have updated the FTP with the new code and will update the link in the first post to include this. I have also included a 'media\Bz.hscore' file.

Quote: "But isn't the 'return to main menu' part of a bigger jpg image called 'DiffMenu.' How do I use only the 'return to main menu' button by itself?"


Good question; you are correct. I took the image off of the MainMenu image and saved it as a separate image. It is included in the updated code.

Dz:
Quote: "I havent really started with lives yet, still thinking about what I should do. I think I may just go with a select (That way when player.lives change, it automatically changes too) Though that may not work out so well, tell me what you think is the best way to go about this."

What you need to do is write a function to display the extra lives that the player has available. Since we plan to use paste image for this, it will need to be called each time from the Main game loop (where GameState = 1). In your function, look at how many lives the player has. If they have more than 1, display a man image for each additional life, up to a max of five.



Game status update:
1) [DONE] robots explode when running into walls or each other
2) [DONE] possibility of 11 robots in each room
3) scoring system and display
4) extra lives displayed
5) [DONE} player actually shoots
a) [DONE] collision with walls
b) [DONE] collision with robots
c) collision with Evil Otto
6) Evil Otto character created and animated - LBFN
a) Evil Otto in-game with collision with robots / man
7) screen scrolls when moving room to room - thisotherguy
8) final boss in room 36
a) create character
b) coding
9) [DONE] device input menu
10) [DONE] game difficulty menu
11) soundFX menu
12) [DONE] high scores menu
13) [DONE] wall tile graphics


I will plan to work on an Evil Otto character next.

Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 24th Oct 2011 18:48
Im confused, when I paste the ExtraMan image, its only one number, so when I delete it, wouldnt it delete them all? Should I make an array.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 24th Oct 2011 19:18 Edited at: 24th Oct 2011 21:24
Dz:
You can paste an image as many times as you want in a program. For example, if I wanted to paste 1000 triangle images on screen in random places, it could be done like this:



You really do not need to delete the player image, as you are only pasting the image when the player has extra lives available. An array is not necessary.

Here is a pic of Otto in his spaceship:



Some feedback would be appreciated.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 02:56
No, I meant if you use "Delete image" It will delete all the images with that name (right?)

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 03:15 Edited at: 20th Dec 2011 07:10
Quote: "No, I meant if you use "Delete image" It will delete all the images with that name (right?)"


Not sure if we are on the same page here. Pasting an image to the screen will cause it to show up the next time the SYNC command is executed. So, if I do not paste the image every time the SYNC is encountered, it won't show up. They do not need to be deleted from the screen. For example, let's say the player has 2 extra lives. You paste two 'man' images on the screen every iteration of the main loop. When the player loses a life, you only paste one 'man' image and so on and so forth. You don't need to delete the other one; when pasting, it only shows up when you tell it to paste it. You may be confusing pasting an image with calling a sprite.

Here is a modified version of the code above to demonstrate using paste image:


You start off with 5 lives. Every time you press ENTER, the lives are reduced by one.



Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 03:43
Oh so if I did something like this it would work?



LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 04:19
Yes, but you should probably use 800 instead of 700 and you don't need to set the transparency flag. Can you work on the scoring system next? Look up the original Berzerk! info from Stern and score it similarly. Score should be placed on the right side of the screen also.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 05:15 Edited at: 25th Oct 2011 05:51
Sure! I think when were done with this, we should do something I understand better (Actually anything really, as long as im here from the beggining it will help me alot lol) Anyways, I wonder where thisotherguy is.

EDIT: Oh yeah, forgot to show you the fixed code.



EDIT TWO: Im still researching, all I found so far was that at 5000 points the player gets an extra life so, heres a start.



EDIT THREE: Ok, so, I figured out that in the original the score was +50 for each robot, and when you destroyed all the robots, you get a bonus, which I assume is randomized, within about 100 - 130.

So I just need to ask, what do you use to check if a robot is dead, or if the whole room is dead?

EDIT FOUR: GLITCH REPORT! If you lose, then play again, it goes straight to the credits. (Is this known or fixed or what)

Also firing doesnt work and collision is terrible (I exploded when an enemy wasnt even touching me)

I dont know why its happening, Im just giving a report

Oh yeah, and ignore the thing about how to track the amount of robots, Ill look in debug()

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 05:50 Edited at: 25th Oct 2011 05:58
Quote: "I think when were done with this, we should do something I understand better (Actually anything really, as long as im here from the beggining it will help me alot lol) "


Learning new techniques and how to code is what this thread is all about. If no one learns anything from this, our time together has been wasted. Sure, we can make a game that is fun to play, but without learning anything knew it just comes off as a second-rate effort. My hope is that the experience gained will help you to establish a foundation that you can build upon to accomplish your game-making goals in the future.

Quote: "Anyways, I wonder where thisotherguy is."

Good question. If he doesn't complete the assignment by the due date, I plan to complete it myself in order to keep things moving.


I have added your code to the game and called these functions from the main game loop. I set up the lifescore at 5000 in easy mode, 10000 in normal and 20000 in insane mode.

EDIT:
Can you (or anyone else) give me some feedback on the Evil Otto pic I posted? Good / Bad doesn't matter, I just want to hear something. I am not opposed to trying something else if need be, I just want to hear one way or the other.


Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 06:29 Edited at: 25th Oct 2011 06:31
Oh, ok, Im working on the bonus points for destroying all the robots in a room, but I don't know how to tell if the player.room (Or any variable for that matter) increases (So I can set the flag to true(The flag for making sure the player has switched rooms and isnt just sitting there raking in the points lol)) Or decreases. Is there a command or do I have to do some for-next stuff or what, im just learning more and more

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 06:56
If you have the most updated code, there is an example of this already in place. It is in the GameState = 1 part of the main game loop, right after 'if roomchange = true':

The code checks to see if there are any robots left. If there are, it calls the player a chicken because they left before all of the robots were destroyed. All you need to do is check if rl is true. If it is, you go to HandleQuips(3). If it is not true then you add the score for having destroyed all of the robots. Cake.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 07:39
ok, so final question, how do I check if a variable has decreased any, I know I can use other variables (Like oldamount or something to store the other amount) But I dont think you have one of those implemented.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 07:51
Since we have been discussing the robots being destroyed or not, I take it your question is in that regard. In the function, MoveShots(), the player's shot is checked to see if it has collided with a robot. You should be able to see where [robot(ki).destroyed] is set to different values (1, 2, 3 or 4 based upon the direction the robot is facing). They are all greater than false and can be used as an indicator that the number of robots on the screen has decreased by one. I would not recommend making a separate variable to track the active robots on the screen as it is not needed; you have the info you need already.

It is worth noting that at this point the robot is in the process of exploding and has not been deleted. Once the animation plays, we will actually get rid of it, but it can no longer move or destroy the player.

If your question is in regard to something else let me know, but please include some more specifics / code.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Oct 2011 08:25
Hi guys... sorry for being absent, have been reading email updates, so not to worry... I am just waiting to get my fibre broadband in my shop on wednesday... urm tomorrow lol

I finally got my old collection onto my pc, will upload them later this week onto the ftp... I can not stand using 1.3meg upload its a bore... my shop will have 14.6meg upload however capped at 10meg but download capped at 40meg.... so I will have roughly 4MB/s download... and 1MB/s upload yay.

The files consist of resources I purchased a while back, I believe I can use them in any project as I will so I will upload pretty much everything and we can all pick from the collection... theyre in wav format... however I can convert them to mp3 or whatever is preferred.

I have one nack about the project so far... somewhere back... someone added a non official DLL to the project... I am slightly against this as I did ask from the off whether or not we would be using any special add-ons of sorts...

Eitherway regarding the next project... I think we should go 3D, and then back to 2D after... I think 2D,3D,2D,3D projects would benefit everyone. I find doing 2D a bit difficult... perhaps I should start a AppGameKit 2D thread as I think everyone is doing 2D with that now... or maybe we do a porting DBPro to AppGameKit project next? and port what we have here?

How is everyone anyway?

(I have new shop images online!!! shop opens on November 1)

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 08:28
Oh ok, Ill work on it tommorow (G2G to bed)

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Oct 2011 16:04
Quote: "Hi guys... sorry for being absent"

Good to hear from you; I was getting a little concerned.

Quote: "I have one nack about the project so far... somewhere back... someone added a non official DLL to the project... I am slightly against this as I did ask from the off whether or not we would be using any special add-ons of sorts..."

Darkzombies has stated that IanM's matrix1 utilities are needed for this project. I have tried hard to avoid using commands that are in the matrix1 library. I figured that I must have inadvertently used something. However, I removed all of the matrix1 dlls and ran the game with no problem at all; so there should not be an issue with this. Please run the game yourself to verify what I am saying.

That said, IMO it is in your best interest to have the matrix1 library at your disposal if you intend to develop games with DBP. It's free.

Quote: "How is everyone anyway?"

I am doing well, thank you for asking.

Quote: "Eitherway regarding the next project... I think we should go 3D, and then back to 2D after... I think 2D,3D,2D,3D projects would benefit everyone. I find doing 2D a bit difficult... perhaps I should start a AppGameKit 2D thread as I think everyone is doing 2D with that now... or maybe we do a porting DBPro to AppGameKit project next? and port what we have here?"


I agree with going back and forth between 2D and 3D games. I have not got into AppGameKit at all myself and do not plan to, but if you want to port this over once we get done, that's fine.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Oct 2011 18:18 Edited at: 25th Oct 2011 18:32
I don't think thats the problem, I had ianM's matrix 1utils already, I had no idea why I got the error, I just put it in there to insure other people didnt have the same troubles.

Also, I just put this
right after //Got em! in the movebullets code lol, it works, but the bonus doesnt, I probally did something wrong.



Im going to test the extra life at 5000 now.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 26th Oct 2011 17:57 Edited at: 26th Oct 2011 17:57
Okay, I have got the score working in-game. I had to revise the code and add a subroutine, as it was calculating it based upon the room that had been moved into instead of the room that was left (it was in the code previously). The bonus life does work as I played in normal until I got past 10000 and it added a guy.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 26th Oct 2011 18:39
I know, I was testing it, I set it to 100 to test, and it worked, but when I set it to 50000 it no longer worked, Im confused too.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 26th Oct 2011 19:09
The score works fine now. Here is the subroutine I added:


I also increased the player's score when a robot runs into the wall. In easy mode, when two robots are destroyed by running into each other, the score is increased by 100.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 26th Oct 2011 21:45 Edited at: 26th Oct 2011 23:33
Ok so is the ftp updated as well?

I think im going to work on a way of displaying the score in a cool manner when they get it (Like after leaving a room it shows the score floating up or something, like in some games, just a cool effect.)

EDIT: Just though of an idea, there should be a config.dat file to store stuff like difficulty level and input decision (So they dont have to switch to joystick or wasd or whatever everytime they play)

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 27th Oct 2011 18:22 Edited at: 27th Oct 2011 19:28
Quote: "Ok so is the ftp updated as well?"


Yes, the FTP has now been updated with the current code. I have also updated the download link in the first post.

Quote: "EDIT: Just though of an idea, there should be a config.dat file to store stuff like difficulty level and input decision (So they dont have to switch to joystick or wasd or whatever everytime they play)"


Sounds like a good idea. We should allow the user to decide if they want to save the defaults. We could create a tick box in the difficulty, device input, soundFX and high score menus and place a check in it when it has been selected.

EDIT:
Alright Darkzombies, I have some work for you. Take the attached images and place them in the Berzerk media folder, replacing the others. I want you to figure out how to select to save the defaults in the menus and place a check there when it has been selected. The user should be able to click on the box next to the 'save defaults' text and a check marj should be placed there. If a check mark is already there, it should be de-selected.

The user will be able to select it from any of the three menus, but you need to place a check by any of them if it is selected. In other words, if the user selects to save the defaults in the main menu, and then goes into the difficulty menu, the 'save defaults' box should be checked.

Once you get this done, let me know and I will help with saving the data.

Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 27th Oct 2011 19:50 Edited at: 28th Oct 2011 06:59
Ok. Ill get right on it.

EDIT: Ok, I just have to ask a question, should I make it so they can press the whole "Save Defaults" button, or have it so they have to click the box and then the box check?

EDIT TWO: Ok, just going with the box, this says sprite number must be greater than 0 at line 1682 (Which is
)



(For CheckMarkS I used GetFreeSprite and same with the image number, not sure what the problem is.)

EDIT THREE: NVM I forgot to global CheckMarkS

Ok, so now I am confused on how I should do it, it works, but whats an efficient way to check if the mouse is clicked and then delete the sprite or paste it, then set a variable to make sure if it needs to be saved or not. I have this, but the mouseclicking doesnt work (Probally something to do with how I did the else)
but this is what I got.



Well actually, only the mouseclicking, everything else works fine lol.

EDIT FOUR: Ok, just consider this an update, please help, I can't get the mouseclicking to work without some bug or error popping up lol!



LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 28th Oct 2011 16:46 Edited at: 28th Oct 2011 18:42
I think the user should be able to click on the box or even on the words 'save defaults' in order to set their preference. The trouble you are having is why I tend to stay away from using sprites unless it is a character within the game. With something like this, I would use paste image. You don't have to worry about deleting or hiding the sprite. Here is how I would do the first part of the difficulty menu:


What I did was had it print on the screen where the mx and my mouse coordinates were (I left them in and just remmed them out) to see where it was on the screen I needed to check. I then wrote down the coordinates for the upper left and lower right coordinates for the 'save defaults' button.

Once I had the coordinates figured out, I just needed to check to see if the mouse was within that and if the user had clicked the LMB. I then set the SaveDefaults variable to the opposite of what it is currently. So that it was not constantly flipping between checked / unchecked, I installed a half-second delay.

After all this, I based whether to display the CheckMark image onscreen upon the value of SaveDefaults.

It is worth noting that I had to add the following variables as global:
SaveDefaults, SaveDefDelay, CheckMark
Also, I scaled the CheckMark image down 2 pixels.

What I would like you to do, Darkzombies, is to use these same principles to establish CheckMarks on the other two menus (MainMenu and InputMenu). Your code should display the CheckMark on all three menus regardless of which one you were in when you originally selected it.

If you need assistance, please let me know.


EDIT:
Progress has been made with regard to the Evil Otto character. Since no one gave me any feedback, I just went ahead and made the images for Otto. I also have coded it so that Otto appears in-game and is animated. Otto moves toward the player; the speed at which he moves is dictated by the difficulty level of the game. I need to put in the checks for collision with robots and with the player, but that should be pretty easy to do. Here is an in-game pic:



Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 28th Oct 2011 18:56 Edited at: 28th Oct 2011 19:50
Yeah, it definatly works (Forgive me for my awful spelling) but it doesnt carry over, we may need to have a check at the beggining of the menu's to check if its already checked, and if so, just paste the image and set it true.

(I can probally do that)

wait... nvm I may have just forgotten to global it lol
such little things...

Also, just a suggestion, can you reset the ink color after the highscore menu is exited lol, it messes with the main games text color as well.

EDIT: Ok, so now Im doing the saving function, so what are the variables I need to save, this is all I got so far.



LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 28th Oct 2011 19:47
Quote: "Yeah, it definatly works (Forgive me for my awful spelling) but it doesnt carry over, we may need to have a check at the beggining of the menu's to check if its already checked, and if so, just paste the image and set it true."


All you need to do to make the CheckMark show up is place the following code in the other two menus:



The only thing you will need to change is the x / y position where it is pasted. Bear in mind, you will need additional code to select / deselect it.

Quote: "Also, just a suggestion, can you reset the ink color after the highscore menu is exited lol, it messes with the main games text color as well."


Done. I set it to yellow. I also set it to yellow initially in the game.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 28th Oct 2011 19:51 Edited at: 28th Oct 2011 20:00
Oops!

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 28th Oct 2011 19:57
O.o edited my other post lol

Also, heres the other ones, copy and paste ftw



As well as that, I made the background transparent for my checkmark, it looks better that way IMO. (ATTACHED)

Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 28th Oct 2011 19:59
Wtf lol... I only posted once but it posted like 3 times O.O

If a mod sees this, please delete it lol, (Except the last one)

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 28th Oct 2011 21:14
Quote: "I only posted once but it posted like 3 times O.O

If a mod sees this, please delete it lol, (Except the last one)"

Seems like this happens to you a lot.
TBH, the mods have better things to do.

Nicely done on adding the save defaults option in the game.

Quote: "As well as that, I made the background transparent for my checkmark, it looks better that way IMO. (ATTACHED)"


Yours is a .png image, in which the default background is white. I am using a .bmp image that has black as default. There is no real difference in them as far as in-game goes. I used your code with the .bmp image and it worked perfectly.

I plan to help you with saving the necessary data for the defaults tomorrow.

Having evil otto in the game greatly increases the difficulty as expected. I think everyone will find the game much more challenging when the work to get him in-game is complete. Once it is done (hopefully tomorrow), I plan to update the FTP again.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 28th Oct 2011 21:54 Edited at: 29th Oct 2011 02:52
Yeah, it does, whenever I edit something, sometimes it makes a new post instead of editing the old one (Glitch, or stupidity?)

EDIT: Ok, so I just switched the ExtraMan to a frontal image, tell me if you think it looks nicer or worse. You choose. I was just experimenting.



EDIT TWO: Done! I think I have everything I need to save, if I dont, you can just add it or tell me.



I put it in the exit case, but it could go anywhere, and now for the load function.



EDIT THREE: Ok, since I have nothing to do, I did an intro screen!



And loading.



And dont forget to global the Intro and IntroS (Like I always seem to forget) I also attached the temporary image I used.

Attachments

Login to view attachments
LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 29th Oct 2011 18:03
Darkzombies:

I had no idea you had done all of this. I wish this forum would notify you when the last post is edited.

Anyway, I have completed adding Evil Otto to the game. Otto not only destroys the player, but any robots in his path. Otto's speed and appearance time are based upon the difficulty level. In easy mode, a warning is flashed just before Otto appears and the player can actually outrun Otto. Not so for normal and insane difficulty levels. The FTP and first post are updated. Please try it out and let me know what you think.

Otto is animated and I think it looks pretty cool, but I am wondering if instead of a side view of Otto that it should look isometric. I can redo the animations if need be.

As to the game default data, we definitely are going to use a different name for the file than "config.dat" I will have to look at your code and will plan to get back with you.

Nice idea with the splash screen, but loading a 3MB file that says 'Dark Noobs' is too much. That's almost as big as the entire .exe file. We want to keep the size of the file as small as is reasonable. It seems it should say 'Dark Noob Games' also.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 29th Oct 2011 22:55
Nice, ill test it, and the file was just temporary, i thought it would be nice if someone made a cool logo and name, if not, we can just grab text.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 29th Oct 2011 23:04 Edited at: 30th Oct 2011 03:53
Dz:

What you could do is make the text as cool as you can and make the image big enough so that it only contains the text. For example, the attached files is 614KB, which is 20% of what the original was. It could easily be pasted in the middle of a black screen and would still look the same.

If you want, I can see what I can do in PhotoShop for this, but if you want to do something, I will be glad to include it.

EDIT:

Time for a progress update:
Game status update:
1) [DONE] robots explode when running into walls or each other
2) [DONE] possibility of 11 robots in each room
3) [DONE] scoring system and display
4) [DONE] extra lives displayed
5) [DONE} player actually shoots
a) [DONE] collision with walls
b) [DONE] collision with robots
c) [DONE] collision with Evil Otto
6) [DONE} Evil Otto character created and animated
a) [DONE] Evil Otto in-game with collision with robots / man
7) screen scrolls when moving room to room - thisotherguy
8) final boss in room 36
a) create character
b) coding
9) [DONE] device input menu
10) [DONE] game difficulty menu
11) soundFX menu
12) [mostly DONE] high scores menu
13) [DONE] wall tile graphics

As you can see, we are coming to a close on this game. I am setting November 7th as a target date to complete this game. The soundFX files will be needed by then.

I think thisotherguy is long gone and plan to handle item 7 myself. I also hope to provide a nice surprise for the final boss.

Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 30th Oct 2011 04:14 Edited at: 30th Oct 2011 04:22
We definitely do have alot done, I would ask for another job, but I don't think I can do any of the stuff left O.o

Ill start brainstorming an idea for our next project
I have a couple ideas, but Im just going to do some checking, make sure their feasible, and at least have a little design document.

(Course I can also just do something extra if you want me to, I still need to have it display the bonus you get when you leave a room, but thats not too complicated)

EDIT: Done!



and put this one in CheckBots



LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 30th Oct 2011 05:09
Okay, I have added the bonus. I made 'bonus' a global variable. Not sure about the use of the timer though; will have to check it out to see if it works okay.

Quote: "Ill start brainstorming an idea for our next project"


It was mentioned previously to try something 3D next. To be candid, we are sorely in need of someone that can do graphics as well as 3D modeling, or at least is willing to do something to help. Most all of the graphics for Berzerk were done by me. Doing graphics is fun, but I want someone on the development team to contribute. The idea of DNG is to help coders get a foothold on making games. Part of that equation is developing media. If I handle most all of the graphical stuff, how much will anyone else learn in that aspect of game development?

That said, there are a lot of free models out there that we could use, as long as credit is issued. We could also use primitives, depending upon what is decided upon. I have something in mind that I think would be fun to do, but I would like to hear ideas from the team and also I'd like to know if there is anyone else on this forum that has some modeling / graphical skill that would want to be involved with a DNG project.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 30th Oct 2011 05:49
Yeah, I just think we should stick with 2D, unless we do find a modeler. I really don't care though, I just want to learn as much as I can

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 30th Oct 2011 09:51
wow, this looks so much more epic than when i last checked in. im on winter break in a couple of days so i can actually work on this, do i get another chance?

Darkseid?
LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 30th Oct 2011 14:07
Quote: "Yeah, I just think we should stick with 2D, unless we do find a modeler. I really don't care though, I just want to learn as much as I can"


Each team member's opinion will be considered before a decision is made for the next game. Since you have been a diligent poster here, your view carries a little more weight.

Quote: "wow, this looks so much more epic than when i last checked in. im on winter break in a couple of days so i can actually work on this, do i get another chance?"


Thanks thisotheguy, it is good to hear from you. I had given up that you were coming back. Sure, you can help us finish up. The task you have is to write some code that will smoothly scroll the screen in the direction the player is facing until the next room is displayed. This could be accomplished by doing the following:

1. Once the player is exiting the room, on a separate bitmap that is the size of the screen, draw the map, all of the robots, score, extra men, etc.
2. Grab an image of the room.
3. Grab an image of the existing room.
4. Scroll the images so that it gives the effect needed.
5. pickup gameplay at that point.

November 7th is the game's completion target date. If you need assistance, please let me know.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 30th Oct 2011 18:05
Hmm, I know I shouldnt be the one asking this question, but Im still learning and I think it might help me. So how do you grab an image not on screen? Do you grab the first one, switch over, grab the next one, then paste them both really fast? Then of course you can use a temp variable to track where the rooms are and once they are in place, end the repeat.
Thats my take of it.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 30th Oct 2011 20:40 Edited at: 31st Oct 2011 04:23
Quote: "Hmm, I know I shouldnt be the one asking this question, but Im still learning and I think it might help me. So how do you grab an image not on screen?"


Actually, that is a good question. You can set the current bitmap manually. However, if you load or create a bitmap, it becomes the current bitmap automatically. The computer typically looks at bitmap 0, which is the screen. In this example, bitmap 3 is created. I made a border around it, printed some text on it and grabbed the image. Once I had the image, I didn't need the bitmap anymore, so I deleted it.

I then printed some text on bitmap 0 (the screen) and grabbed an image of it and cleared the screen. I then used sprites to scroll from one screen to the next.



EDIT: I had mentioned I had a surprise for your guys regarding the end boss (in room 36) and I have gotten a good start on completing the graphics work. I'd like to introduce you to my friend Eddie:



Attachments

Login to view attachments
Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 31st Oct 2011 04:39 Edited at: 31st Oct 2011 05:04
O.O good job, thats awesome.

EDIT: I just checked, the guy is like 20x the size of the character, you may want to re-size it a little bit.

LBFN
17
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 31st Oct 2011 21:25 Edited at: 1st Nov 2011 16:48
Perhaps a different view will make it easier to identify:



Quote: "EDIT: I just checked, the guy is like 20x the size of the character, you may want to re-size it a little bit."


Actually, it is about 5.5 times as big. This robot is for the final battle and is the only enemy on the screen at the same time with the player. The size is not unusual at all to me, as I expect the boss to be huge. The scenario I envision is that the boss has a health bar over it's head and when the player shoots it, the boss will somehow register the hit and the health bar will be decreased. All the while the boss is shooting missiles and stuff at the player.

EDIT:
Funny, I figured people would be excited about having a cool boss character. Just so you know Dz, it is a remake of ED209 from the Robocop movie. I ended up resizing the character anyway, as the sprite sheet was too huge. I also cut down on the number of animation frames I had planned. It's about 3X the player's size now. I have completed the sprite sheet and have stored the images in an array. Now, I need to code the final battle.

I also am working on creating new wall graphics for 'room37'.

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 1st Nov 2011 22:43
looking good guys. Btw, LBFN, I did read your post a while back with the revised high score code, and understood it.

I'm still a bit busy this week. I'm still a part of the project, and I'll try to keep in touch, but I don't think it would be wise to ask for another project at this point. (Especially considering how ridiculously long it took my to start the last one )

Thank you! I'll be keeping on eye on Berzerk!

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 3rd Nov 2011 04:45
I think at this point its just LBFN working on this. I can help, but I don't know how much I can help with the boss. (Most likely way more than I can do anything else, since its only one guy I'm handling, but I'll still need some help) But anyways, I'm still here if you need help.

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 3rd Nov 2011 04:59
Haha, kinda true. LFBN could easily code this by himself, but I think the idea is for us to become better coders, and learn how to work with a team. I know I've already learned a lot!

Login to post a reply

Server time is: 2024-04-25 03:30:06
Your offset time is: 2024-04-25 03:30:06