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 / I want to put a programming team together

Author
Message
Fluffy Rabbit
User Banned
Posted: 1st Apr 2012 05:35
Can we start a cool coding project? I know it sounds like a lot coming from me, but it's sort of one of my fantasies. I have a few ideas for different types of games. It would be awesome to have a source code tree and a bunch of different open source components contributed by hundreds of forum members. DarkBASIC is easy, but programming is certainly not. We don't need specific assigned positions, just people to help, contribute, pull all-nighters, advertise on YouTube, etc. Anyone want to help?

Here are a few cool ideas:

A city game where there's a city and around it some countryside and around that there would be nothing. Sort of as an online game like Battle-Tanks or Minecraft, who knows?

We could update Brick Break's old Brick Park, which would be really cool because there would be a lot of source code, and I have contributed a bit of it myself. Right now there is a glitch where the bricks don't build at one layer. I'm attaching the whole open-source, MIT-licensed project. This would be my preferred project to work on, and involve the community in, because it has a lot of potential. An online game is the end goal. Someone please start making a roadmap. Then we can all follow it.

If anyone has any other ideas, they can spit them out.

Attachments

Login to view attachments
Fluffy Rabbit
User Banned
Posted: 1st Apr 2012 05:51 Edited at: 1st Apr 2012 07:27
If Latch is reading this thread, I encourage him to post. I'm sure he can set the dates for the roadmap. Here is the general roadmap:

-initial release includes Story mode and Free Play

-fix glitch involved with building

-removal or replacement of Story mode

-random features added

-multiplayer beta

-online game

EDIT: Since nobody is posting, here is what I need:

-A new title
-A head of bug fixing
-An open source project tree thing on some website
-Someone to make the online part (if online play is implementable as a feature, assuming the whole thing doesn't have to be restructured)
The Weeping Corpse
8
Years of Service
User Offline
Joined: 19th Sep 2011
Location: United Kingdom
Posted: 1st Apr 2012 12:43 Edited at: 1st Apr 2012 15:09
Hi, I haven't got much of a reputation on these forums yet, I've only been using Dark Basic Pro for a while BUT...I've been programming for over 20 years in various other versions of Basic, Z80, 68000, 8086, C, C++ and Pascal.

Most of my free time is taken with the development of my own game but I would still like to offer my help in anyway I can with your project, even if it's just as a game tester
Fluffy Rabbit
User Banned
Posted: 1st Apr 2012 17:47
@The Weeping Corpse-

That's great! Well, due to the rules of these forums regarding team requests, it appears we'll be focussing on Brick Park.

Here's a list of things you can help to figure out, if you have the time, in no particular order:

-A new title (Brick Park is actually the name of a physical location)
-A mathematical fix for a strange glitch where at certain elevations, a brick cannot be placed between two bricks vertically
-An alternative to the current story mode
-Online play
-A fix for the glitch where moving the scroll wheel before starting the game causes all of the brick colors to keep flashing through
-Different brick shapes
Latch
14
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 2nd Apr 2012 13:47 Edited at: 2nd Apr 2012 13:53
Quote: "If Latch is reading this thread, I encourage him to post. I'm sure he can set the dates for the roadmap. Here is the general roadmap:"

Good luck with your project! I really can't afford the time to draw up any kind of project plan ideas. It seems like you have a nice list started for what you want to fix with your current source code. For your road map, take a few items from your list as major topic headings. Decide which ones are really the deal breakers if they aren't implemented or fixed. Then break down a few sub categories of what would go into setting up, building, or fixing each of the main topic items.

Try to keep a small list of main topic items - only one or two if possible - and come up with a plan (and stick to it - don't deviate) on how to complete the tasks assigned to those topics.

For instance, what's the most basic thing you NEED to have happen and ask yourself why that is?

Enjoy your day.
Fluffy Rabbit
User Banned
Posted: 3rd Apr 2012 05:05 Edited at: 3rd Apr 2012 05:05
@Latch-

The most basic thing that needs to happen is all of the bugs need to be fixed and the game needs to get better.

This is because the game sucks and it lost an ameteur game design contest a couple years ago.

There are other little things here and there that have to happen too, though. I don't know how the hell Penumbra keeps getting made, with no money, and for all I know no formal development team.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 4th Apr 2012 16:57 Edited at: 4th Apr 2012 22:44
@Fluffy
Wow this is some unstable code! I've been playing around with it trying to clean it up and get it to a state where it can be worked with but every time I change one thing it breaks ten other things! I want to get rid of these gotos and use proper loops and subroutines. I'll post up my version when it is less broken.

WARNING: The above comment may contain sarcasm.

Attachments

Login to view attachments
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 4th Apr 2012 22:28 Edited at: 4th Apr 2012 22:46
I've almost gotten it to a functional level now. I had to completely remove the tutorial as it was so messy. The whole thing is down to 560 lines now which is less than half the original!

I'm having a big problem with the saving/loading (pretty sure the problem is coming from the saving end) it's just not working properly and I can't see why.
Honestly this is the most trouble I've had with anyone's code, I hope he has improved his style now. There are some nice things in here but it is giving me a brain tumor trying to unravel it all. Nearly there!



I shrunk down the code in openoffice just to give an idea of how much it has changed.

Original:


Edited:


WARNING: The above comment may contain sarcasm.

Attachments

Login to view attachments
Fluffy Rabbit
User Banned
Posted: 5th Apr 2012 00:10
@Obese-

I contributed a bit to that code myself. I really apprecieate the effort you put into the modifications. I do have a few questions, though:

Why did you cap the screen size, rather than letting it expand like Latch's killer function allows you to do?

Why did you change the jumping code? He accelerates too quickly into the air now.

Why did you make it so you can't build above the ground? How would one make a space station now?

Why did you make it so you can't see the player from other angles? That aspect of the game I thought received a lot of positive attention. I admit, this kind of makes it more like Blockland or Roblox, but there needs to be some way to see the character from other angles.

Now, I am loving the new collision system. Collisions were never something I was good at. That part is excellent. Now you can make stairs!

Would it be possible to migrate some parts of the code back to the old version? The collisions are a huge improvement, I have yet to explore the extent of the changes you made to the physical process of building, and it seems excellent that you have made the saving/loading system more efficient.

However, you are right, something is seriously wrong with the saving and loading. It's those kind of details that need to be fixed. Unfortunately, I have fallen out of practice with coding with DarkBASIC, although I can offer a lot of creative help.

I can't wait for the next installment. You have my opinions, I hope you take them under advisement. "Nearly there" is exactly the phrase I like to hear. That code is mostly Brick Break's, but all of the recent improvements like the ability to fly, the saving and loading of bricks, the different colors, and the dynamic screen size (with help from Latch) are all mine. And it seems like you understand the code better than I do!
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 5th Apr 2012 01:50
@Fluffy
This is a bit like renovating an old car, I stripped out everything that wasn't vital to get it working first. Once the saved data problem is solved I will start to put all the knobs and whistles back in like Latch's screen function. Now there is a much better order to the program it will be easier to add new things.

I wasn't aware that rotating the camera around the player was a feature, I'll put that back in too. And you are supposed to be able to build in mid-air? I thought that was a glitch lol.

WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 5th Apr 2012 03:10
@Obese-

I really appreciate what you're doing for this project, and I feel reassured that you're going to add the other stuff back in, although you don't really have to worry about the story mode. That's something that we might think about replacing.

The mid-air building is intentional. However, the system as you have it right now requires further investigation. I'm unsure as to how exactly I want that part to work. There were some glitches associated with mid-air building which I wanted fixed, but I suppose those have disappeared. It would be really nice to be able to adjust the range at which one can place a brick. A raycasting system for that, like in Minecraft, would be cool. The range right now is set at a sort of "magic number", but it would be really nice to change that. I'll try my best to look at your modified version and understand it, and try to figure out the mechanics of your version of the fundamental feature: building.

By the way, I am still blown away by the collision system. It's that kind of work which can propell this project.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 5th Apr 2012 03:50 Edited at: 5th Apr 2012 03:55
I've solved 75% of the saving/loading problems. The colours is an annoying error: when placing blocks I was storing their actual colour value instead of the index number for the colour array. The block positions seem to be saved properly too apart from at certain heights. For some strange reason every five or so blocks high vanishes.


code updated

WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 5th Apr 2012 04:06 Edited at: 5th Apr 2012 04:07
EDIT: Accidental double post.
Fluffy Rabbit
User Banned
Posted: 5th Apr 2012 04:06
@Obese-

Well, it sounds like you accomplished quite a lot. I have difficulty understanding all that is taking place, but I certainly hope that we can straighten out all of those saving and loading problems. May I suggest the brick positions are saved as real numbers? This might fix a lot of the problems, being that there exist a lot of indescrepancies in DarkBASIC regarding integer-real number conversion and precision.

I'll check back with you in about 20 hours.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 5th Apr 2012 15:41 Edited at: 5th Apr 2012 17:31
@Fluffy
You gave me the solution! Another pretty silly mistake by me: when saving/loading I was multiplying/dividing Y by 1.2 because of the irregular brick height, but I didn't realise that when loading I was multiplying an integer variable, so of course it was completely disregarding the decimal. That explains the gap every 5 blocks up, because 0.2 * 5 = 1! Now it seems to be solved and BrickPARK is fully functional, yay!

code updated: version 0.1.1


WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 6th Apr 2012 00:50 Edited at: 6th Apr 2012 00:53
@Obese-

Awesome! It seems to work, and it looks like you brought back free look too. There's only one glitch that really makes itself glaringly obvious:

It is possible to build on top of one's own head. Now I ask you: Are you adhering to the laws of physics or aren't you? Either the player should be allowed to build in the air, or the player's collision box should be temporarily deactivated when placing a brick.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 6th Apr 2012 06:05 Edited at: 6th Apr 2012 06:18
Good spot, this was happening because I introduced the player collision box indicator but forgot to turn its collision off in build mode. The only other changes I've made are messing around with the header comments, I think I have a good system for a change log worked out.


I've decided I don't want hovering bricks at all, the cool thing with these bricks is you can place them half-overlapping. Now I just need to sort out placing blocks under outcrops, I want to be able to connect bricks to the bottom of others but also place them on the floor below so I'll need to involve the camera X angle. Once I have that done I don't really know where to take this project. Any ideas?
It's funny that I get more involved with other people's projects than my own!

WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 6th Apr 2012 23:45
Quote: "Good spot, this was happening because I introduced the player collision box indicator but forgot to turn its collision off in build mode. The only other changes I've made are messing around with the header comments, I think I have a good system for a change log worked out."


Okay then.

Quote: "I've decided I don't want hovering bricks at all, the cool thing with these bricks is you can place them half-overlapping. Now I just need to sort out placing blocks under outcrops, I want to be able to connect bricks to the bottom of others but also place them on the floor below so I'll need to involve the camera X angle. Once I have that done I don't really know where to take this project. Any ideas?"


That actually sounds a lot better than the system of building in the air, although right now the player can fly. I want you to keep that in mind.

However, there is one really awful idea that just came to mind:

So, you think you're minding the laws of physics, right? Well, let's assume the player built a really tall building with your system of doing so, then they decided that they didn't like the four pillars holding it up. So, they got rid of the first. Then the second. Then the third. Then the fourth. They now have a space station, just hovering in the air!

So, one of two things need to happen: Either the player should be able to just build in the air in the first place, or the bricks need to fall.

Quote: "It's funny that I get more involved with other people's projects than my own!"


This is a group project. I honestly hope that you can take credit for everything that you've done. You have to bear in mind, though, that you code faster than other people. You can get a lot more done in the same period of time than I can, for example. I, too, have another DarkBASIC project that I am working on in secret, plus Dark Survival 2. I think, just for the sake of fairness, that I will keep the easy-to-implement, obvious-only-to-me features secret until I've fixed them up myself, so that I can be contributing something to this glorious mountain of code that you are contributing. I feel that my close relationship with Brick Break gives me intimate knowledge as to the inner workings of and end purpose of this code, and this project. So, when I'm not coding, my contribution is guidance.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 7th Apr 2012 03:21 Edited at: 11th Apr 2012 04:45
@Fluffy
I don't know if I code faster I've just been obsessed with this the past few days!
You are working on this too? Ah I may have tripped you up because I just re-structured a lot of it to try and get everything in smaller subroutines.
I've also added some material lighting effects to the bricks to make them look plastic, big thanks to Latch for his guide on the material commands.



The change log is getting a bit long so I've made it a separate document.


---

It is coming along quite nicely, I feel like I have tamed the code now.
My next objective is to rework the brick placement so you place bricks where you are looking, so for example if you are under an outcrop you could look up and attach a brick to the underside of the outcrop, or look down and place it on the floor below. Placing bricks should still be limited to connecting them like Lego or placing on the ground, you shouldn't be able to place a brick on the side of another.

I need some help with a small bit of code. At the moment the brickghost (the object that indicates where your brick will be placed) is positioned by placing it in the player's position and then turning and moving it into view

This is a bit sloppy and I wanted to replace it with this

but it doesn't seem to work and I don't understand why. I've tested the same code in a standalone program and it worked, so I'm confused as to what is going wrong. Any help is much appreciated.
That code is from the _brickghost subroutine if it helps.

WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 11th Apr 2012 04:41
@Obese-

It looks like you contributed a hell of a lot of code and lots of goodies. I am really looking forward to experimenting with all of it when I get home. I will try to reply with what I come up with tomorrow. Thank you for your involvement thusfar.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 11th Apr 2012 04:59
@Fluff
Would you be able to make models of different shaped bricks like Lego? I am no good with 3D modelling.

What are you thinking? Where should we take this game? Keep it as a simple "toy" or add things like challenges and/or monsters?

The next thing I want to do is develop the brick placement to use ray-casting. That will probably take a while as I've never done anything like that before.

WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 11th Apr 2012 17:40
@OBese-

I can certainly model different shaped bricks. I'll try my hand at it in a few hours.

Challenges? Monsters? Monsters sound great! Online play is one of those things that people think about down the road, but where we're at right now, I guess the other features/ideas are sort of building up to it, especially monsters.

Brick placement using raycasting? That obviously sounds great, but have you considered an alternate method for discerning the ups and downs? Simply compare the camera's vertical position to the vertical position of the uppermost brick the player is stacking on. Then you know whether to place it on the bottom or the top.

By the way, there seems to be a glitch where there there are gaps appearing between bricks (vertically) while you are building. It will sometimes skip over a space.
Libervurto
14
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 16th Apr 2012 04:58 Edited at: 16th Apr 2012 04:59
Yeah we could have construction challenges like building a bridge across a river. We could even introduce some basic physics like weight distribution, we'd need a 3D array to store data for where the blocks are but it shouldn't be too hard. Physics in a grid world would be a bit like a 3D cellular automata. Conway's Game of Life is an example of a 2D cellular automata:


WARNING: The above comment may contain sarcasm.
Fluffy Rabbit
User Banned
Posted: 18th Apr 2012 23:02 Edited at: 19th Apr 2012 00:29
@Obese-

Sorry, I've been a little sidetracked for a few days. I unfortunately haven't been able to make the bricks, mainly because I've been busy with other things and also because I don't have accurate brick measurements, but I'm on that right now.

As far as 3D physics are concerned, I think cellular automata might be a good plan, but I had a different idea. Why not have the blocks just fall vertically like Tetris? That would really clear up a lot, even if it's not "physically correct". After all, real plastic bricks do have a lot of friction on top, what with their studs.

EDIT: Here is a 3D model of a round brick, scaled and positioned to exactly match what is in the game right now. It is a single limb that consists of a 12-vertex cylinder and 4 bottomless 5-vertex cylinders, all with the center vertex merged with an edge vertex to save on polygons. The whole thing is set to smooth shading, and is not UV mapped.

Attachments

Login to view attachments
Fluffy Rabbit
User Banned
Posted: 19th Apr 2012 00:44 Edited at: 19th Apr 2012 00:45
Here is a screenshot that shows the round bricks and the strange gaps that appear when building:

Attachments

Login to view attachments
Latch
14
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 21st Apr 2012 00:29 Edited at: 21st Apr 2012 01:02
@Fluffy

How do you get your picture to appear in the message as well as having the view and download button?

Also, the gaps are getting incrementally larger. It perhaps suggests:

1. A y value is incrementing or decrementing more than it should. What are the distance relationships between bricks? If the bricks are different sizes, assuming the pivot point is in the middle of a brick, the distance to either end of the brick is half it's length along that particular axis, the distance would change per brick.

2. It's possible the offsets of child objects are being accumulated.

For example, if you link a limb to a parent, it inherits the parents offset + it's own.


Here's an idea of how to find where to stack blocks:



What helps make this work is that the pivot point of either block is at it's bottom so whenever they are placed somewhere, they are always resting on that pivot.

Enjoy your day.
Fluffy Rabbit
User Banned
Posted: 24th Apr 2012 08:09
@Latch-

To get the image to appear in the post, I just copy the URL from where I click "view". It doesn't have a PNG file extension, but the forums recognize the image tag nonetheless.

For the bricks, I am not using any parenting. In fact, the entire game uses single-limb meshes. Thanks for the code. I'll check it out when I get home. The brick meshes I'm using do in fact have the origin at the bottom, but I think it might be a mismatch between the incrementation value and the size of the collision box.

Login to post a reply

Server time is: 2020-08-05 08:45:11
Your offset time is: 2020-08-05 08:45:11