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
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 23rd Aug 2011 16:10 Edited at: 2nd Dec 2011 16:20
Hello, and welcome to Dark Noob Games' latest project, Berzerk!


The game has been completed and all of the files are available at this link:

http://www.mediafire.com/?2fjcsf6jkwovtqs


All media files and source code for the game are now included the download.

Anyone can participate in this project that has the time and is willing to stick with it until the conclusion.

For those of you that may not be familiar with Berzerk!, here is a YouTube link:
http://www.youtube.com/watch?v=gb4gWvqbsYA

This is a link to the Stern Electronics wiki; they created the original arcade game:
http://www.arcade-museum.com/game_detail.php?game_id=7096


Every game should have a game design document. So, here you go:









Here are some current screenshots of the in-game action:









Attachments

Login to view attachments
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 24th Aug 2011 02:54 Edited at: 24th Aug 2011 02:54
I havernt read all of the above post yet...{ACTUALLY I HAVE NOW} but wanted to mention I realised I somehow came across DNG in DBC thread... perhaps we should ask an admin to move this to the DBP thread?

Count me IN I wish to take up the SFX department for this one as generating levels is still over my head {LIT love that track} and animation is something I am yet to look into... as well as GFX... I will happily take control of Sound as I also have a vast array of royalty free content which I have paid for I already have a sci-fi track we can use will find it and post it up for you guys to judge SFX wise I will see what I can create... coders please specify if you want anything other than WAV format

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 24th Aug 2011 03:50 Edited at: 11th Oct 2011 00:22
DNG has a home on this board. Quite frankly, this board would be really quiet without it. It's off the beaten path a little bit, but on the DBP board, more than one newbie has been flamed, though I don't think it is as bad as it used to be.

Okay, MrValentine, you are our SoundFX guy. .mp3 format would be the best, as .wav files take a ton of memory and we'll want to keep the size of our .exe down as small as possible. We can simply play them as music, even though they are not music. Do you have the ability to record your voice and alter it to sound like a robot? That would be a big plus for this game if you could.

Daygamer:
Could you please write a subroutine or function that can create a map that we can use on a temporary basis? It should use a 24 X 24 array, so the 32 X 32 tiles can be pasted to the screen. If you need help with this, please let me know. On a temporary basis, you could create a 32 X 32 box and grab it as an image.

Attachments

Login to view attachments
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 24th Aug 2011 03:55
all pointers mentioned to me... Yes I can and will give it a go... I will use 64kbps to give it that retro feel as well {thats 32kbps per channel for those that need a thorough understanding } otherwise I could do 32kbps {16kbps per channel} should give a real retro feel and reduce file size a whole load.

I also have RADIO effectors for my sound edits... maybe an idea?

Please script me up

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 24th Aug 2011 05:50
@LBFN, I will dive into this as soon as possible. I'll plan on posting with code or questions or both within 24 hours Looking forward to it.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 24th Aug 2011 09:00 Edited at: 24th Aug 2011 09:00
So if we do joystick inputs then can we actually burn it to an empty disk and put it in the xbox360 or something like that? Would be pretty cool . Never tried it...

But anyways, what can I do.

-------------------SIG---------------------------------

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 24th Aug 2011 12:11
are you using any plugins? desktop width() isnt a familiar function and isnt user defined either. also id like to volunteer for the maze generator. got a pretty good idea of what to do just need to figure out how to slot it into your framework. got a couple questions if you please. do you want doors and wall shapes once generated to be fixed if the character returns to the room? in most of the flash games i played it just randomizes walls and door positions when you go back so that sometimes you cant even return. if you want to have a map though, youll have to make sure there is a way through it when generating door positions.

Darkseid?
LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 24th Aug 2011 16:32 Edited at: 24th Aug 2011 19:22
MrValentine: Sounds good.

Quote: "So if we do joystick inputs then can we actually burn it to an empty disk and put it in the xbox360 or something like that?"


While it is possible to use an XBox controller in DBP, it is not possible to burn the .exe to disk and run it on it.

Quote: "But anyways, what can I do.
"


What skills do you have or what would you like to improve on? We have need of 3 people to create graphics. Can you make some, or could you learn?

Quote: "are you using any plugins? desktop width() isnt a familiar function and isnt user defined either."


It is worth noting that I am using the most current version of DBPro, 7.61. Everyone on the team should update to that version if they have not already. desktop width() is a valid DBP command and does not require a plugin. If you place the cursor over it in the code and press F1, you will see.

I do have a number of plugins. The only one I expect to use with this game is Cloggy's D3D plugin, but we can get to that further down the road and we do not need to address it now.

Quote: "also id like to volunteer for the maze generator"


Okay, thisotherguy, you are the maze generator for the game.

Quote: "do you want doors and wall shapes once generated to be fixed if the character returns to the room?"

Yes, that is correct. The code should display a series of tiles (24 tiles X 24 tiles for each room) and when the player gets to a door, the screen will scroll in that direction bringing up the next room. If the player would go back through the same door, the original room is to be displayed as it was. This should be fairly easy to do by creating an array that is large enough for the entire map. We have 36 rooms, mapped as 6 X 6 screens. So, if you have a map array of 144 X 144, it should work fine. You simply plug in the image values that you want displayed.

Daygamer: Looking forward to seeing what you come up with.

EDIT: Here are some temporary graphics that I made to get us going.
http://www.mediafire.com/?f6ecnra426hz9xf

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 24th Aug 2011 22:10 Edited at: 24th Aug 2011 22:13
Quote: "Could you please write a subroutine or function that can create a map that we can use on a temporary basis? It should use a 24 X 24 array, so the 32 X 32 tiles can be pasted to the screen. If you need help with this, please let me know. On a temporary basis, you could create a 32 X 32 box and grab it as an image."


K, I don't think I fully understood your request. Do you mean just create one real maze. How would I do that in the way you described?
I guess I'm a little confused about what the purpose of this is, and where we're going with it.

Well, here's what I got. Feel free to change the name of the function to fit the base code, btw


LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 02:57 Edited at: 25th Aug 2011 15:17
Daygamer:
It's a good start. You will need to change the ink color so the image will show up on screen. Basically, what I am after is to hard-code a single screen so that we can place the player and robots, and check shot collision, wall collision and movement and stuff. It will give us something to work with until the maze generating code is complete.

The way you have it coded right now, every space is filled with image 1. You should use an array, such as map(24,24). You then fill the borders with an image, and then randomly zero out 4 spaces for a door on each side (I'm for placing doors at random locations at the edges of the room instead of always putting them in the middle). Then you would hard-code some walls. I think it would be better to use a separate function to display the map.

You will notice that I have a function in the base code called GetFreeImage(). Instead of using image 1, I would like you to give the image a name and declare that as a global. So instead of using image 1, you would use the name of the global variable. I'm not at my comp, but it would be something like this:

I do sprites/ objects/ music / sounds the same way. The reason why I do that way is that is you never have to remember what the last image (etc.) was that you used. In larger programs or if it has been a while since you worked on something, it can be tough to remember. Plus at the end of my programs, I delete all of the media before I exit. Numbering things this way makes it clean and easy.

Anyway, I hope this clears things up for you.

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 25th Aug 2011 06:21
okay awesome. Thanks I will read this again tomorrow, and try to have an update ready by the end of the day.

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 15:08
am working on the setupmaze function now and have had to add a couple of functions. do we have to have intraroom tiles? if we use a number of predetermined designs for room walls all you need is a maze type array holding data regarding what sides a room has exits on and once generated what design it is, x36. then you call a load room function and draw walls based on whatever design out of ten or fifteen predetermined ones the room has been assigned. one little thing, the setup player and setup robots function calls should be inside the loop.

Darkseid?
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 15:10 Edited at: 25th Aug 2011 21:10
I made some Welcome examples... using Text-To-Speech {TTS} I am going to experiment with installing more spoken languages to get a mix of voice versions... alternatively I can go hunting for My pro-mic and do some voices as I said I need a scrpt...

Hope you guys like these early 2 versions... theyre in 320KBPS format MP3's so I can tone the quality down as per project requirements.

'See later post'

oh yeah before I forget to mention I had to set the Text as BertZerk... to get it to sound anything like BerZerk so before you might ask... yeat there is a silent T in there

And yeah that is a SubDomain ^^ professional right? only just getting the hang of it all but I got the general gist of it all... its in my communities folder on My server/hosting...

However since we are doing a remake... shouldnt we call it something else? or shall we call it BerZerk, The Remake? lol hmm... I personally opt for a new name... but we can stick with project title BerZerk Remake...

EDIT

Personally I like V1 its more spacey!

Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 25th Aug 2011 15:44
@MrValentine, Cool. I like it. Nice job! You'll definitely give this game a spacey feel

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 16:17 Edited at: 31st Oct 2011 21:16
MrValentine:
They are both good, nice stuff! If I had to choose, I think I would go with the first one. I will dl it from your site and add it.

Quote: "However since we are doing a remake... shouldnt we call it something else? or shall we call it BerZerk, The Remake? lol hmm... I personally opt for a new name... but we can stick with project title BerZerk Remake..."


That is a valid point you make. It might be better to give this game a new name. My thought is that we may want to change a few things along the way. For example, I don't believe Berzerk! had shootable walls, but it's successor, Frenzy, did. Also, I always thought the boss being a smiley face was a little weird, so I'd like to see us make something more sinister-looking. So technically, it would be classified as a reboot instead of a remake. It would be appropo to rename it Bezerk Rebooted. But hey, we can call it whatever we want, so I am flexible with what the team would like. If anyone has any ideas, speak now or forever hold your peace.

Quote: "alternatively I can go hunting for My pro-mic and do some voices as I said I need a scrpt...
"


Okay, we should have the following at minimum:



thisotherguy:
I see where you posted, but you must be on post-approval still (a MOD has to approve your post before we see it on the forum).
To answer your questions:
Quote: "do we have to have intraroom tiles? if we use a number of predetermined designs for room walls all you need is a maze type array holding data regarding what sides a room has exits on and once generated what design it is, x36. then you call a load room function and draw walls based on whatever design out of ten or fifteen predetermined ones the room has been assigned.
"


Not exactly sure what you mean by intraroom tiles. We will need to create tile numbers that represent images to display and store these tile numbers in an array.

Using predetermined rooms is a good idea. If you use 18 different designs, it would be half of the total. I wanted to use random door placements, so you would have to make the predetermined rooms up with the exception of the outer walls. Plus, rooms should have 2 - 4 doors. I think it would give the game a more random feel to do it like this. Just to be clear, the rooms would need to be created with tile numbers, not just the images themselves.


Quote: "one little thing, the setup player and setup robots function calls should be inside the loop."


The main game loop? We want to set them up initially, hide the player and robot sprites, and as the user is exiting the main menu to play the game, we can simply show them. The main game loop should be as concise as possible.

EDIT: MrValentine: I could not find the file. Can you provide a link to it?

Attachments

Login to view attachments
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 16:53 Edited at: 25th Aug 2011 21:05
Quote: "
Not exactly sure what you mean by intraroom tiles. We will need to create tile numbers that represent images to display and store these tile numbers in an array.
"

when you say that we need to break each room into a 24 *24 array of tiles as well, i was wondering why we would need to do that. when you walk into a new room you just load it (wall sprites, powerups if included etc.) based on whatever design it has (which in turn depends on how many doors it has been randomly assigned, which in turn depends on whether it is on any corners) then load the character and robots. perhaps it would be easier to explain if i posted the maze generator code as far as i have it right now. you cant see the maze but you can build a picture of it by asking questions. the grid goes from room 1 on the top left to room 36 on the bottom right. the algorithm is pretty bad right now so it closes off sections of the maze, but dont worry its not even nearly done this is just to explain what i mean.


EDIT: fixed the algorithm, generates epic mazes of awesomeness now. even though you cant see them.

Darkseid?
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 16:59
also random door placements is a great idea, but it would mean certain wall designs would not be viable for fear of blocking off the doors. it might also mean otto kicks your butt way more frequently than otherwise.

Darkseid?
LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 17:54 Edited at: 25th Aug 2011 17:57
We need to create an array for the total map. The total map array is comprised of 24 X 24 for each room, with 36 rooms total. So, we need an array of 144 X 144. Then each room is created within that total map based upon where it is. The doors to adjoining rooms would have to be the same.

Example:
The third room over and the 5th room down would start at map(49,97). The top wall would consist of array elements map(49,97) to map(72,97). The left side would consist of array elements map(49,97) to map(49,120). With a tile map like this, we can scroll it easily and can use it for collision purposes. If the third room over and the 5th room down has a door on the left side, the door on the right side of the second room over and the 5th room down would have to match. I did not plan to use sprites for the walls, but intended to paste images there. I think it will be easier to deal with that way.

I think using TYPE data for the rooms is a good idea. It seems it would be better to use the x or y position of the door instead of 1 in the up, down, left or right variables. This way, we can use this info to check to see if the player is near a door. We would always know that the door represented by maze(room#).up is always going to be at the top of the room, so it would always repesent an x value. Same with the left, right or down.

Earlier, in a response to Daygamer, I posted a DisplayMap() function in a snippet. You should incorporate this in the code and actually display the rooms and use the arrow keys to scroll through them. It would be good to display the map coordinates - you can add the text in the Debug() funtion to display them.

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 18:23
will do. actually trying to figure out a better generation algorithm right now, ill incorporate the displaymap function and change up down right left to floats once im done.

Darkseid?
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 20:19
Quote: "EDIT: MrValentine: I could not find the file. Can you provide a link to it?"


which file?

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 20:59
The first version of the Welcome to Bertzerk file, this one:
http://berzerkremake.akaneaya.co.uk/soundsmusic/WelcomeV1.MP3

I thought to use it, but if you want to refine it further, that is fine. I looked on your website, but did not see it.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 21:03 Edited at: 25th Aug 2011 21:10
Heres V1's of each spoken Sound, Will work on the SFX later...

Dang it I will consolidate them into a rar file...

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 21:11
I get HTTP error 404 for all of the links.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 21:13 Edited at: 25th Aug 2011 21:24
ok here goes I figured out it is my connection... sodding lazy gits

thank god my contract is ending soon and I am moving into my new office/shop with a lively connection expected there

for sodding heck...

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Aug 2011 21:24 Edited at: 25th Aug 2011 21:26
File is corrupt...

-------------------SIG---------------------------------

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 21:25
ive removed the files... will try uploading the individual files again and try getting past this href issue...

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Aug 2011 21:26
gahh. everyone is postin while i am, edited the other one to say the one thing was corrupt.

-------------------SIG---------------------------------

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 25th Aug 2011 21:27
I use MediaFire.com for files. Basic account is free. You could upload there and put up a link to it.

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Aug 2011 21:29
i think dropbox is too, and its much quicker.

-------------------SIG---------------------------------

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 21:29
could someone post up bitmaps of wall designs they want for rooms?

Darkseid?
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 21:30 Edited at: 25th Aug 2011 21:34
Copy to your URL bar and Paste+Enter
1
http://berzerkremake.akaneaya.co.uk/soundsmusic/IntruderAlertIntruderAlertV1.MP3
2
http://berzerkremake.akaneaya.co.uk/soundsmusic/GetthehumanoidV1.MP3
3
http://berzerkremake.akaneaya.co.uk/soundsmusic/GotthehumanoidV1.MP3
4
http://berzerkremake.akaneaya.co.uk/soundsmusic/ChickenFightlikearobotV1.MP3
5
http://berzerkremake.akaneaya.co.uk/soundsmusic/ThehumanoidmustnotescapeV1.MP3
6
http://berzerkremake.akaneaya.co.uk/soundsmusic/HaHaHaHumanoiddestroyedV1.MP3
7
http://berzerkremake.akaneaya.co.uk/soundsmusic/GameoverrobotswinV1.MP3

Dropbox is useless as well... its restricted to 350GB paid... and the cost is exponential... I have unlimited storage for a fraction of their requesting price... its just my DSL line thats being hectic on me... I should be moving my connection soon so not a problem soon hopefully...

http://berzerkremake.akaneaya.co.uk/soundsmusic/IntruderAlertIntruderAlertV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/GetthehumanoidV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/GotthehumanoidV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/ChickenFightlikearobotV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/ThehumanoidmustnotescapeV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/HaHaHaHumanoiddestroyedV1.MP3

http://berzerkremake.akaneaya.co.uk/soundsmusic/GameoverrobotswinV1.MP3

Darkzombies
13
Years of Service
User Offline
Joined: 25th Dec 2010
Location: In multiple tabs, most likely youtube.
Posted: 25th Aug 2011 21:30
also gotta go to the dentist in a half an hour.

-------------------SIG---------------------------------

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Aug 2011 21:37 Edited at: 25th Aug 2011 21:37
Turns out to be a fault with the link thing on this comment box... I had to copy the code and use the link embedding rather than highlighting and then clicking link... urgh so frustrating...

But anyway now fully linked... removed welcome V2 for now

My connection was acting up today getting noise down the line... silly BT.......

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 25th Aug 2011 22:31 Edited at: 25th Aug 2011 23:57


it now draws the maze it generates (you can grab this image and put it on your hud) i have a problem here. the stack index seems to keep falling under 0 every once in a while, which causes a program crash. i cant figure out what the problem is because every time i run it in stepthrough mode it works fine. ive commented the code extensively, can anyone see what the problem is?

Darkseid?
Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 26th Aug 2011 00:00 Edited at: 26th Aug 2011 00:00
@LBFN, Alright, I reread all your posts about my assignment, and I have a much clearer picture of where we're going with this.

We just need one room to test with, and then we'll create more rooms later. So are you saying all 36 rooms will be preset mazes. Nothing will be random except the doors maybe?

The part that's still messing me up is the GetFreeImage



Are we going to have 576 (24x24) different images, with 576 different image ids to make up the maze. Or are you trying to store the image number as an array? So, one image might be 21x16 and another one might be 11x4. Am I still completely lost? haha

I'm sorry, that I'm having so much trouble understanding just the start of this project. Thanks for being patient with me. If you wanted to ask someone else to do this assignment or did it yourself, it wouldn't offend me a bit. But I'll keep working.

One problem is I usually code in a much different style. (Probably picked up a few bad habits too considering you have a lot more experience than I do.) I viewed a few TDK's tutorials, so I understand what you're talking about, but I'm having trouble applying it I guess. (I never code with functions. I always use subroutines) Maybe that will help us communicate a little better. Thanks again for your patience

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 00:14
lol what i gathered daygamer is that there is a 6x6 grid of 36 rooms, with the doors between rooms being configured so that it is a maze. i've already finished coding a generator that configures the doors between the two and makes a picture of the maze. each room is in turn made up of a grid of 24x24 tiles (which is the part i cant understand either) I think what LBFN wants is a version where instead of reloading the player and the robots when you cross a door the game just scrolls on to the next room. So that in effect the whole maze is just one big room.

Darkseid?
Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 26th Aug 2011 02:38
@thisotherguy, Ah yes, that kinda makes sense. thanks.

@LBFN
I think what no one understands is if there's 576 images per room, and 36 rooms that's 20736 images all with their own id? Even if we can store the image's id in an array (which I still don't understand how to do) there will still be a massive load of images. I must be missing something? thanks

LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 26th Aug 2011 02:59 Edited at: 26th Aug 2011 15:05
Daygamer:
You are doing fine; the main emphasis in making this game is that we all learn from the experience. I intend to help you to learn how to use functions. I don't write a game without them anymore, as they are too handy. You can pass variables to them and return a value also.

As to the image issue, I plan to have about 10 different map images (corners, walls, etc) in four colors, so around 40 images or so. We will store the image values in the map at the coordinates where we want them placed. When the DisplayMap() function is called, it will simply paste those images to the screen. It should work nice.

thisotherguy is correct, it is one large maze made up of individual rooms. I need for you to make a single map (hard-coded) so that we can use it for testing purposes.

We will have 18 different rooms that will be placed randomly throughout the map, so it won't come off as the same every time.

Each coder has their own style. I have developed my style in such a way that it is organized and I can trouble-shoot my games pretty effectively and I can come back to a program that I have not worked on for a while and pick up where I left off. It works for me, but your style maybe somewhat different, and that's fine. I'm trying to show you techniques that work for me and that I think make good general programming practice. So take from it what you will, but please realize that this is not the only way to do it.

thisotherguy:
Plan to run your code tomorrow morning. I intend to use the code snippet in the first post to provide an updated version of the code as we progress.

I appreciate the effort that you guys are putting forth.

EDIT:
Daygamer, I have re-written the temporary map function so that it creates a temporary room that we can use. It grabs another image, called LBsImage, which is yellow and makes the inner walls with it. I declared the variable, LBsImage as global at the start of the program. I have attached a pic of it.



Attachments

Login to view attachments
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 13:09
ok heres a really badly drawn sample of what i am assuming the map is supposed to look like. i was too lazy to fill in all 36 rooms with wall designs, but you get the picture. The game screen will look like this only zoomed in to a field of view the size of one room. hope this helps with visualization.

Darkseid?
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 13:13
lol i think i forgot to attach the file, cant check cause im on probation. here it is

Darkseid?

Attachments

Login to view attachments
LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 26th Aug 2011 15:11 Edited at: 26th Aug 2011 15:25
Well, that gave me my first chuckle of the day.

I ran your code and it draws a very nice room. However, it draws lines, and we need tiles to be drawn. We need to assign image values to a map array and then use a function to display those images. If you need assistance revising it or have questions, please let me know.

In the snippet in my previous post, I have shown how the map array is changed to include image info.

EDIT: I think you should change how the maze(#).door TYPE variable is handled. You could create four of them (maze(#).doorN, maze(#).doorE, etc.) and if there is a door there, you put the x or y value of where the door is located. It would be 0 if there is no door there.

thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 15:28
LBFN i know thats why i wrote temorary function over the drawmaze() function. the point was just to make a tangible picure of the maze to see whether the generator was working ok. the drawmaze function isnt going into the final program. also, it is not drawing a room, it is drawing the entire map. each 106x80 block is a room. when you're actually playing, itll load one room to the screen at a time, based on data stored about that room in the maze array.

Darkseid?
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 18:24 Edited at: 26th Aug 2011 19:10
alright well here it is, a circle wandering through a maze. i can make it so instead of randomly placing the player when you go into a new room it comes out at the correct door, but popping up in the middle of 25 angry robots is half the fun of the game i think. theres no inside walls so far because were not going to randomly generate them were going to use 18 predetermined designs like we decided. we still need to come up with those designs. i still maintain the tiles should be sprites because pasted images disappear when you sync, so you need to keep the loadroom function in the loop. this could be avoided by loading sprites, then you could forget about them till you move to the next room. someone needs to start working on sprites and other media now.



EDIT: fixed the last few bugs in the code

Darkseid?
LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 26th Aug 2011 19:04 Edited at: 20th Dec 2011 01:50
thisotherguy:
Okay, I had been working on this also and was about ready to post when I saw that you had put something up. It shows the entire map, one room at a time. You can use the arrow keys to move from room to room. I created two temporary rooms, so it picks either one of those or leave it with just the outer walls.
It needs this image in your media folder (temporary gfx):
http://www.mediafire.com/?70qjzv63yjs2lff



As you can see, I have made some significant revisions. We do not have to do it this way, but I wanted to show you my intention.

MrValentine:
I can play the files you provided links to, but I cannot download them. I was hoping for a robotic voice for everything except the initial greeting. Most of the time they play really fast and it is a little hard to understand. We can alter the speed in-game, but it still will likely be difficult to understand what is being said. Is it possible to make these changes?





Attachments

Login to view attachments
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 19:30
ok good now i fully get what you want. did you see the snippet i posted right before yours? its like yours except i wasnt building inside walls because we hadnt decided on the patterns we wanted. the doors in yours arent consistent but mine is pretty much the same thing with correct doors and a proper maze. just press any key once it has shown you the overall maze and you can wander through it room by room. is anyone working on images or are you going to do the rest as well?

Darkseid?
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 26th Aug 2011 19:38
guys heres a crazy idea, now that we've got a maze and a character stand in to wander around it, can we turn this into a dungeon crawl type deal? we havent done any work on the character or the robots yet anyway. pretty please?

Darkseid?
Daygamer
14
Years of Service
User Offline
Joined: 16th Mar 2010
Location: United States
Posted: 27th Aug 2011 07:01
Wow, glad to see you guys are still moving. I hope to get back in the loop tomorrow. Sorry, I didn't have much time today! Have a good one.

Libervurto
17
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 27th Aug 2011 15:53 Edited at: 27th Aug 2011 16:10
Hi LBFN,
Great to have you join us. This looks like a fun project. I give you my blessing to use the DNG name () and my full support, especially in the latter stages where I know it can be a headache to bring everything together.

Good luck everyone, and have fun!


OBese87

Join DNG today! We are a game development team open to all. Visit our Headquarters to learn more.
LBFN
16
Years of Service
User Offline
Joined: 7th Apr 2007
Location: USA
Posted: 27th Aug 2011 16:45 Edited at: 20th Dec 2011 00:59
Hi Obese87,

I am glad to help out. Thanks for the help / support.

Daygamer:
We have progressed faster than expected and actually have a working maze at this point, so making a mockup screen is no longer necessary. Do you have any experience coding music or sound effects? A function is needed to load all of the music (which really are sound effects or altered speech). Can you work on this please?

thisotherguy:
Quote: "ok good now i fully get what you want. did you see the snippet i posted right before yours? its like yours except i wasnt building inside walls because we hadnt decided on the patterns we wanted. the doors in yours arent consistent but mine is pretty much the same thing with correct doors and a proper maze.
"

Yes, I ran the code you had in the snippet. It is similar in what you see on the screen to what I had; however, we need to paste images to the screen based upon an array, which mine does. I plan to clean up a combination of both our codes and use that moving forward.

One thing that mine does not have yet is doors placed at the same place on adjoining rooms. Once I post it (hopefully I can edit this post in a little bit with it), I would like you to make it so that the doors are correct. Additionally, I would like you to create a total of 18 different rooms in the BurnRoom function.

Quote: "i still maintain the tiles should be sprites because pasted images disappear when you sync, so you need to keep the loadroom function in the loop. this could be avoided by loading sprites, then you could forget about them till you move to the next room."

This is why the DisplayMap(StartX, StartY) is in the main loop. There is not much that you have to do with them other than to call the function. My preference is to handle it this way, as it has served me well in the past. Deleting all of the sprites from the previous screen and placing new ones on the next screen seems simple enough, but there have been many times in the past that simple things like this cause a program to error because the sprite did not exist, or a sprite is left on the screen that should not be. It's easy and clean to simply paste the images to the screen.

Quote: "is anyone working on images or are you going to do the rest as well?
"


I was hoping someone would step up and create some images, but I am prepared to do it if necessary to keep the project going.

Quote: "guys heres a crazy idea, now that we've got a maze and a character stand in to wander around it, can we turn this into a dungeon crawl type deal? we havent done any work on the character or the robots yet anyway. pretty please?"


My preference is to create a game that is close to Berzerk! Since the other members have not responded to your request, it seems as though we should finish it out somewhat similar to the original Berzerk! You could save the current files to another folder and then pick up with it once we get done with this. At the rate we are progressing, it shouldn't take that long.

EDIT:
Okay, here is the most updated version of the source code:


It displays the map room by room by suing the arrow keys. The blue.bmp (link provided in an earlier post) is needed to be placed inside a folder called media.


Attachments

Login to view attachments
thisotherguy
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 27th Aug 2011 19:48 Edited at: 27th Aug 2011 19:50
LBFN if you look closely at the loadroom() function in the snippet i posted (which i will post again here because i have slightly improved it), it stores image numbers in a 36x24x24 "coord" array. in fact, collision detection in the moveplayer() function relies on information from this array. thats the same as the method you want to use no? about sprites vs images, i see what you mean, using sprites would require a lot of cleanup. the only reason i was suggesting it was that the collision detection code would be less clunky, but i realise that images are probably a better option. the burnroom() function you are using is the same thing as the loadroom() one i am using, except for different variables. would it be acceptable if i just added 18 room designs to the loadroom() one? the image numbers for inside wall tiles are, again, stored in the format coord(room,x,y) in an array. if i start working on the other format i would have to scrap all my work on maze generation and write it again for yours, with different arrays and a different system.

EDIT: YAY IM OFF POST APPROVAL

Darkseid?

Login to post a reply

Server time is: 2024-03-28 20:40:24
Your offset time is: 2024-03-28 20:40:24