top of page
Search

The first real limitation

  • dglusak
  • Oct 29, 2023
  • 2 min read

So, I started building a little 3D spaceship shooter. This was meant to be reminiscent of the old X-Wing and Tie Fighter games. I have no ship, but a camera, lasers and a few spheres as targets. I built an acceleration and radar system.


This is the first real limitation of GDScript that I've reached. There are no interfaces/abstracts. I came across this with the radar system, which should have been easier to implement than it was. The idea would be to have a global collection of items that inherit from a single IDetectable interface or something similar. Then the radar would cycle the collection and draw a visible icon for each one.


But, instead of using an interface I was forced to build these off of a single base class. While this works great for just the radar, the conflict came into place when I wanted a second interface for laser hits. I could build this into another base class, on the assumption that anything appearing on radar would also be 'shootable', but I don't think that's a very safe assumption to make at this point.


With only two base classes in the system, I've already run into a conflict. What happens when I'm at 5 or 30 or more? I can think of quite a few work arounds for this, but they all have a number of potentially performance impacting downsides to them. What should be one of the most simple parts of the programming (describing individual function groupings) has now become a major obstacle that will require multiple work-arounds and standards that cannot be enforced throughout development.


I know I could switch to C# or C++ and have full capabilities on this, but a big part of these is web capability, which C# doesn't support at this point. I also don't want to start into my own branch of the engine, since I really don't know enough about it to do more than compound mistakes throughout the entire development cycle.


For the moment, I'm going to shelve this one and move on to something where I can stress test various options for this.


Anyway, here's the archive since there's no publish of this one up.


 
 
 

Recent Posts

See All
Creating an Editor

I started into character/inventory creation a couple of days ago, and this is how it went. Basic character stats - done Basic Inventory...

 
 
 
Dungeon Explorer

I've started into a basic dungeon crawl, similar in style to the 90s D&D games like Eye of the Beholder or Dungeon Hack. First priorities...

 
 
 
Bombs!

This one took a little while. I almost got away from prototyping and lost time on the art, but stopped myself after only a couple weeks...

 
 
 

Comments


Post: Blog2 Post

Follow

  • Facebook
  • Twitter
  • LinkedIn

©2023 by Vannon’s Developments. Proudly created with Wix.com

bottom of page