Indeed thus the rounded edges. Round objects are so much easier. Though I took some liberties with the physics of bouncing. For further simplification of course. And for somewhat improving the gameplay, I hope. And when you mention bouncing balls I have an idea of making a remake of an ancient bouncing balls program I once made in Delphi 3. But no promises there. Haven't even started yet. Though I figure some code from this program can be recycled there.
Well if this old game you mention is heavily physics based then you should perhaps consider using some existing physics engine in that game instead of trying to handle all the physics yourself.
Lately Box2d https://code.google.com/archive/p/box2d-delphi/ is considered as a basic 2D based physics engine that many Delphi developers use. Now while the headers are designed for Delphi I'm guessing you should not have to much trouble compiling them with FPC just make sure you enable Delphi mode https://www.freepascal.org/docs-html/prog/progse74.html (might not be necessary) and Advanced Records (which already seem to enabled by default in FPC 2.6.0 and newer) since the headers heavily rely on using them.
Or perhaps you might decide to use Kraft Physics Engine https://github.com/BeRo1985/kraft instead. Kraft Physics Engine is much more advanced and also fully supports 3D physics. It is being used in Castle Game Engine https://castle-engine.io/ which is one of the most popular pascal based game engines lately.
Thanks SilverWarior. I got to have a look at those engines. I just spawned a new Virtual Machine for the purpose. Noticed a new Lazarus version recently arrived. Though seems to be mostly smaller adjustments this time. But that's the easy part. The tricky thing will be to try out those physics engines.
Meanwhile I will make an other attempt to handle the physics myself in the upcoming heavily physcis based game, or program. If it ever gets done of course. It's easy to talk about games to do but then really finishing them is a totally other matter. And I haven't even started yet..
The eternal conflict between ambition and resources. Of course I have no idea about your projects and situation but scaling back a little might be a good approach. There's the matter of availabe time and energy. On the other hand it's never wrong to aim for the stars...
Can you say anything about your favourite top ideas?
Why not.
First one of the ideas that I had but abandoned them because someone else beaten me to it
- Many yeas ago (about 20) after playing one of the first bridge builder games named Pontifex (https://www.youtube.com/watch?v=LwD5muwJkBo) I came to idea that you could use same approach for making much more complex physical objects than just bridges. In fact my idea was to make a car racing game that would use such system for complex physical simulation of the whole car body. But at that time my knowledge of programming was just in its infancy.
A few years later I found out that two french computer science students also got the same idea nad actually made a game out of it. The name of the game is Rigs of Rods. At that time I was booth sad and happy at the same time. Sad because they have beaten me to my idea. And happy because I knew from then on that I'm capable of coming up to awesome ideas on my own. That is one of motivations that is driving me all these years.
And yes one of the original developers of Rigs and Rods is the leading designer of BeamNG drive that you might be more familiar with.
Now to some of my current ideas that are in the works. Sort of in the works:
- Space exploration/trading game that is a mix between Star Control 2, Freelancer, Battle Cruiser 3000 AD. The goal is to have ship made from various systems and subsystems similar as in BC3000AD which can be damaged, repaired or even upgraded individually. The galaxy is going to be procedurally generated.
I already have code for procedural generation of planets that include making heigthmap and then paint the surface based on that heigthmap following specific rules. Might need a some improvement for allowing more variations.
I have core code for defining ship systems and subsystems. Needs a rewrite because in its current design it to prone to bugs (I learned a few things about working with classes from then ). Also I want to standardize the class structure some more so that I can implement another feature of being able to scan other ship systems status more easily.
I believe I still have a mockup for Supply & Demand based economics systems somewhere- Squad based tactics game heavily inspired bx X-Com 3 Apocalypse but with much bigger depth.
I already have a system of interconnected classes that allow me to to define characters with even more detailed stats that you can find in original X-Com games. The same system of classes also allows me to have modular items and weapons where final stats of specific item or weapon is defined from te components that they are made of.
This system also incorporates RPG based battle system where distance and orientation not only affects the chance for hitting your target but also the amount of damage that you can deal to that target based on which armor slot of the said target gets hit and of course its stats. Not to mention that I already have three damage types (physical, heat and poison) each dealing final damage to the target in distinct way.
I had code for Multilevel Isometric gameworld but unfortunately it was heavily tied to a graphical engine whose development was since abandoned. So I need to take time and rewrite this again.- Another idea I have is for a City Builder with a very advanced traffic simulation. I come up to this idea when learning more advanced approaches of pathfinding.
Not much code already done for this except the pathfinding mockup that works surprisingly well. Traffic is capable of causing total gridlocks by taking into account past average speed of traffic through specific road section. So when congestion occurs on one street cars try to chose other alternative route that might be longer but has higher traffic speeds. This eventually balance the traffic quite nicely.
And there are many more ideas I have that I haven't even started to work on them.
Any way the main obstacle right now is UI. Why? Thorough out my time I switched between several Graphical engine since their development was abandoned. And since each of them used their unique way for handling UI or in one case the need for me to write my own way for handling UI switching to different Graphical engine meant that my previous UI code would become mostly unusable.
This is one of the reasons why some time ago I started working on an even more challenging project. And that is writing my own UI library that is designed in a way so that ti could be used by multiple Graphical/Game engines. So that if I ever have to change Graphical engine again I at least won't have to start all over again. But as you can guess this is no easy task at all.
Congrats to the bridge builder idea. Always nice to get confirmation the ideas are viable. I think I heard about the Pontifex but I never tried it. Too much Startcraft I for that.
Your projects in the works sound interesting. Especially the first one. I always liked strategy better than tactics, but that's a personal preference of course. You could perhaps use the pathfinding algorithm from project #3 in the trade mechanics somehow.
I do believe that the UI library project is no easy task. I wouldn't know even where to begin. But sounds like a good thing to become more future proof in case of more graphics engine changes.
I know it's not the same but I remember not being able to install my ancient Delhpi 3 after getting my first 64-bit windows 7 laptop. That's when I found Lazarus btw. Some of the old code could be converted/re-used but there were issues. It's annoying when suddenly the old tried methods don't work anymore. Btw I still keep that Win 7 laptop because that's my only way to use my scanner.
I look forward to see whatever new projecs you may come up with in the future.
For my own part I'll take a break with the PONX and have begun on the remake of the pysics based game. So far I managed to add a second ball and that's at least a start. But nothing to show yet.
Last edited by Jonax; 29-05-2022 at 11:35 PM. Reason: typo
Bookmarks