Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Free Stuff. For building gaming apps.  (Read 3150 times)

0 Members and 1 Guest are viewing this topic.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Free Stuff. For building gaming apps.
« on: January 26, 2018, 03:06:06 PM »
Cross-platform. Open source. For building gaming apps.
I just now found this. Why didn't anybody tell me?
www.dot.net
No joke. It will link you to Microsoft sites related to Visual Studio and other stuff.
If you check out the video, it takes you to a place inside of the MSN site and there is a short into to a free code making thing.

Myself, I have yet to try this.
Now  sit worth moderate  effort?
How is it cross-platform?
Could I really make a little app for my Android?
Please tell me if you know know.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
duplicate
« Reply #1 on: January 26, 2018, 03:11:43 PM »
delete this duplicate.

patio

  • Moderator


  • Genius
  • Maud' Dib
  • Thanked: 1769
    • Yes
  • Experience: Beginner
  • OS: Windows 7
Re: Free Stuff. For building gaming apps.
« Reply #2 on: January 26, 2018, 05:12:59 PM »
I'm tempted at times to delete all you Posts...especially the News ones...
" Anyone who goes to a psychiatrist should have his head examined. "

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Free Stuff. For building gaming apps.
« Reply #3 on: January 26, 2018, 10:49:17 PM »
Microsoft has an unusual definition of 'Open Source' there.
Monogame is the only strictly open source thing I can find in there. Unity isn't open source. CryEngine isn't open source. Neither is WPF or Windows Forms or UWP. Xamarin's SDK is open source but that doesn't really mean much. Kind of cute how they have UWP as a Mobile platform platform. They leave out how your software won't run on anything but Windows Phones.
I was trying to dereference Null Pointers before it was cool.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Free Stuff. For building gaming apps.
« Reply #4 on: January 26, 2018, 11:46:51 PM »
BC_BC_Programmer ...
 -  Thank you for your insight.

So, Cross platform must mean I can write a program for my worthless Windows 8 Phone that can not be upgraded to Windows 10 because  it is not a Intel thing.

Wow! now I shall write a little e game for my Windows phone and share  for free because nobody would buy it. Would they?

Really,  I am not the only person in the world that has one of those worthless  Windows 8 phones.
There must be others.
Still, I will never know who they are.

Yeah, maybe one just might come here and say something.
But it is very  unlikely both would come here.  ::)

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Free Stuff. For building gaming apps.
« Reply #5 on: January 27, 2018, 12:29:30 AM »
Microsoft's idea of "cross-platform" often means being able to run on Windows Tablets, Phones, laptops, and computers.

That is, they consider UWP "Cross-platform" because you can develop apps for Windows Phone as well as Tablets, Laptops, and desktops. You cannot develop software for Android, iOS, Mac OS, OSX, or Linux using it, though.
I was trying to dereference Null Pointers before it was cool.

DaveLembke



    Sage
  • Thanked: 662
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Free Stuff. For building gaming apps.
« Reply #6 on: January 27, 2018, 02:24:56 AM »
Just a FYI, the Steam Client also has game building/development apps. Most are WYSIWYG and Engines that allow you to build from. Some come at a cost and others are free.

I tried the free one that they have but I took a liking to a different package they had available and I bought into one of them for $40 marked down from $99.99 and have only so far used it to create landscapes and then compile it and then view it as if i was there moving around and swimming through water etc. There are free and item/objects for sale that you can download and add to it. As the free service that i have with it there are limits to how many free downloads you can have per month etc. If I buy into it I could have unlimited downloads but so far until I get a grasp of developing for it there is no need yet to pay a monthly fee for content downloads when the 5 or so per month are enough now to tinker with. You can also create your own objects for it but I havent played with that yet, but there are videos on youtube of people making 3D objects that are able to be imported as 3D object models into the engine and placed in the WGSIWYG. I will share more on the steam stuff when i get home from work. the title of it skips my memory as for I have only used it a few times since buying it, and I havent actually coded yet for it. I have only just tinkered around with the building of landscapes and waterways and textures for ground and mountains and grass that sways from wind etc, and lighting effects of sun angle etc. The cool thing is that when your done with a project you can compile it to an EXE and share it with others and it has no royalties, so if you make something cool with it and want to sell it you can or if you want to make a game and give it away as an EXE you can do that as well. One test I had was what is the smallest project that can be created, and I can make a game rpg world type of environment for 400MB as a stand alone EXE, but at 400MB its not a game its just an empty map area with grass, mountains, and waterways and the sun at a choice angle that currently is at a fixed angle because there is no code to control a day/night cycle yet.

I will share the name of the game builder that I bought and the free ones that I played with when i get home from work as for I cant get to them to link them from here at work, in case anyone is interested in making stand alone games for PC and some of them also support developing for Android, Linux, and Mac from the Steam game dev offerings. I have only played around with the building for PC games. I have a long ways to go in coding for it and learning all the tricks. And I want to make my own objects which means that I will probably have to buy an Adobe product that supports making the 3D models at a couple hundred dollars at some point, but before I do that I want to make sure its something that i am sticking with vs an idea that is fun one day and lose interest in it the next. I've bought software in the past with a plan and then never followed through and it was wasted money so Ive learned to not buy software anymore unless I know I am going to really use it...  :)

Lastly, the game development WYSIWYG that I bought is CPU intensive to compile the 3D game world, but it can be done with lightweight modern processors. On my AMD A8-5545m 2.7Ghz quadcore it takes about 6 minutes to compile a stand alone game environment with CPU and hard drive running full tilt. On my 8-core AMD FX-8350 4Ghz it takes 25 seconds in which the SSD looks to be the bottleneck because the CPU isnt maxed out.  ;D

DaveLembke



    Sage
  • Thanked: 662
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Free Stuff. For building gaming apps.
« Reply #7 on: January 27, 2018, 02:52:00 PM »
Free software I have from Steam:

Here is Blender which is free for all and multiple platforms: http://store.steampowered.com/app/365670/Blender/

Here is Godot engine which is also free: http://store.steampowered.com/app/404790/Godot_Engine/


Software I bought through Steam:

 
GameGuru + Expansion Pack: http://store.steampowered.com/app/266310/GameGuru/

 Geovox http://store.steampowered.com/app/368470/GeoVox/


Screenshots attached are of the Game Guru software which I like the features and ease of use of, however Game Guru is not free. The free game dev programs listed above I haven't spent much time with them yet to say whether I like them or not. Because I paid money for Game Guru I put more time into playing with that but still a bunch to learn.

The first screenshot shows how they have all sorts of free resources once you own the software to watch videos on how to do certain things to be quickly on your way to making stand alone games.

The second screenshot is after clicking on the rocket icon to test the game. This one is just a bare map with mountains, water way, and greenery that sways in the wind and when you move around it. This is just a default starter map that I launched.

Lastly testing this on my Athlon II x4 620 2.6Ghz with 4GB RAM, I have 2GB RAM free for Windows 7 64-bit even with this loaded, but the CPU is hit heavy when its loading the game environment. It took 3 minutes to load up a demo games layout in the editor to tinker with. Twice as fast as the A8-5545m 2.7Ghz system that I tested this on but not as quick as the AMD FX-8350 4Ghz at 25 seconds.  ;D Once your in the game environment though, none of the systems lag playing around in the world game environment you create on these 3 systems I tested it on, and then A8-5545m has integrated graphics as part of the APU.


[attachment deleted by admin to conserve space]

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Free Stuff. For building gaming apps.
« Reply #8 on: January 27, 2018, 06:49:32 PM »
I'd argue that those sorts of frameworks/tools are sort of like Unity. For the most part they "are" the platform that they target. Unfortunately this means that you typically have less control of the software. And of course you are constrained to what the software is designed to allow you to build- if you try to go outside it's capabilities you will easily run into barriers.

It's similar to Visual Basic in that regard; it's designed for standard Windows-based applications. And you CAN repurpose Visual Basic to make all sorts of different programs including full-screen games but you are fighting an uphill battle. of course with a game engine or game maker you would be fighting in the other direction. You aren't going to be creating, say, a UWP Clock App in Blender or Geovox, for example.

On the topic of Games, though, I sometimes write simpler game titles because I like exploring the possibilities of making modifications to the core concepts of a game. usually I write it directly in Windows Forms and create the appropriate game and render loops and draw everything manually to a PictureBox. This isn't ideal and I've run into it's limitations particularly with my Arkanoid clone but the alternative is to make a full-blown "game" using DirectX or a Toolkit like OpenTK which I find immensely complicates the entire process.

As an example, I gold-plated the living heck out of my Arkanoid clone, which has all sorts of ridiculous capabilities. It's possible to make Platform levels in the editor- I remember one of my test levels involved navigating Mario from one side of the level to the other, avoiding red shells and breaking bricks to allow them to open new paths to get a starman, which would allow you to kill the red shells and then killing all of them invoked a trigger which busted a wall of invincible blocks (while playing the "puzzle solved" chime from Zelda, naturally) allowing the one "required" block in the level to be broken to complete the stage. Then the next level had you fight a boss which was a snake like in various snake games composed of blocks. breaking one of it's component bricks would cause it to shoot a damaging fireball at the players paddle (paddles had health bars. It made sense at the time...). The goal was to hit the snake on the head block. This would kill it, resulting in an elaborate, drawn out death sequence as each segment of the snake broke from the tail upwards and then showered the paddle in Macguffins (I created a number of pointless items which give small health boosts or provide a slowly raising score multiplier or energy recharge and called them appropriately enough Macguffins). The music would stop, a victory music would play, and then when that stopped it would trigger a delay trigger which after a few moments would cause the level to be completed.

More recently, suddenly occurred to me that I had never written a tetris clone. I had tried in high school but it seemed beyond my grasp and I never tried again. Furthermore, I thought it would be neat to make it flexible- make it able to handle various similar puzzle games where you manipulate pieces on a cell-based board; Tetris, Tetris 2, etc. or custom variants, or support custom "skins" or styles so it can look like different implementations.

It was very easy to write and I didn't need any special libraries to do it, except for the BASS.NET library for Audio.


I modelled it after the NES Tetris game by Nintendo in terms of audio and visuals. The little blocks are all custom-drawn by the program and can scale to any size as well. interestingly, the code for drawing them was actually "stolen" from of all places an "Update" program, I had written it to draw coloured gummy circle icons to indicate update status and copied the routine and changed it to draw rectangles. I wrote it in standard Windows Forms just because I was comfortable with it- Besides, being Tetris I could never sell it anyway so there wouldn't be much reason to create a UWP App out of it anyway. I also had (and am having) lots of fun with writing the various mechanics and coming up with ways to implement things like a Next piece queue and a "Hold" piece capability.
I was trying to dereference Null Pointers before it was cool.

DaveLembke



    Sage
  • Thanked: 662
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Free Stuff. For building gaming apps.
« Reply #9 on: January 27, 2018, 08:56:42 PM »
Cool info BC and yes I agree that the game maker tools that steam has your kind of confined to making stuff that is within the limitations of the utility.

I like that Tetris  game you made there and have a question about the text within the game.

So in the past when I wanted to make text that scale like that I had to define how to make the alpha numerics to scale it up. Such as in a 5 x 5 sprite layout where * here represents sprites to make white on a black background, I'd call to 5 arrays. Each array representing the line of up to 5 on or off sprites, so where ever it is to be on the display they would be painted from the array where

    *        ****      ***        array 1
  **       *     *     *     *      array 2
    *            *            **      array 3
    *          *         *     *      array 4
*****   *****      ***       array 5
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 ( elements 0 thru 19 )

So to make a 1
its calling to place the elements of the 5 arrays as binary
array1[0]=0
array1[1]=0
array1[2]=1
array1[3]=0
array1[4]=0

array2[0]=0
array2[1]=1
array2[2]=1
array2[3]=0
array2[4]=0

array3[0]=0
array3[1]=0
array3[2]=1
array3[3]=0
array3[4]=0

array4[0]=0
array4[1]=0
array4[2]=1
array4[3]=0
array4[4]=0

array5[0]=1
array5[1]=1
array5[2]=1
array5[3]=1
array5[4]=1

I am thinking that perhaps I was reinventing the wheel long ago by doing this. So curious if there is a better way to scale up text like you did or if I was on the right path of making an alpha numeric map within 5 arrays where each array defines of the 5 lines what sprites would be off =0 vs on =1

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Free Stuff. For building gaming apps.
« Reply #10 on: January 27, 2018, 09:58:45 PM »
The text is a normal truetype Font called "Pixel Emulator" that I embedded in the program, as I found Arial looked rather out of place. Since it's just a font aside from some stuff to load the font as a resource, there is no special scaling tricks. As it stands the status area definitely isn't complete. I want it to be a bit more fancy with a display for the "next" piece as well as facilitating Hold pieces and making the Count of tetrominoes that have been dropped look better.

For your example I think it would make more sense to use a two-dimensional array rather than a number of arrays. I'm too lazy to verify the syntax in C/C++ but in C# you could have something like this:

Code: [Select]
int[][] Character_1 = new int[] {
{0, 0 , 1 , 0 , 0},
{0, 1 , 1 , 0 , 0},
{0, 0 , 1 , 0 , 0},
{0, 0 , 1 , 0 , 0},
{0, 0 , 1 , 0 , 0},
{1, 1 , 1 , 1 , 1}
}
For scaling you'd be sort of limited to integer factors though.

or you can just do that for entire segments of text. Really at that point you may as well use a bitmap/image I guess. I used something similar for the "Game over" screen of my arkanoid clone game, which I've largely abandoned since the playfield is small and scaling it up to a larger size has major performance implications. (Guess that's a point against GDI+ and WinForms for this sort of thing) Perhaps I could rewrite it in UWP. It is, after all, itself a rewrite of an equally ambitious Visual Basic 6 game...

Code: [Select]
public int[][] GameOverMatrix = new int[][]
       {
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,},
           new int[]{0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,},
           new int[]{0,1,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,},
           new int[]{0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,},
           new int[]{0,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,0,1,1,1,1,0,0,},
           new int[]{0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,},
           new int[]{0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,},
           new int[]{0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,},
           new int[]{0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,},
           new int[]{0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,},
           new int[]{0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,},
           new int[]{0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,},
           new int[]{0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,},
           new int[]{0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,},
           new int[]{0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
           new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
       };

It turns this into a fake "level" of blocks, so the game over text appears "in-game" in a way, as a backdrop for the Game Over state, with the high scores for that "Level Set" popping up one after the other over top:



Bonus in-game image

Lasers, power-ups, debris flying all over the place. Actually the debris makes it hard to track the ball. I've never been able to decide if that is a feature or an annoyance. The lasers come from a power up that shoots a ball which itself fires lasers randomly, because of course it does.
I was trying to dereference Null Pointers before it was cool.

DaveLembke



    Sage
  • Thanked: 662
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Free Stuff. For building gaming apps.
« Reply #11 on: January 28, 2018, 07:27:43 AM »
Very Cool. And curious about the following.

Quote
Actually the debris makes it hard to track the ball

And curious why tracking ball position is difficult with everything else going on as for the ball position should be known at any point in the game no matter what else is going on for X,Y coordinates so maybe I am reading this wrong. I can see if your parsing the graphics looking for a ball moving if you have a lot going on it would be a nightmare trying to track, but not sure how a ball would move on a screen and unable to track when the actual position just dynamically changes on the X,Y for 2D and X,Y,Z for 3D games.

But if it was another game that has say a missile with a locking ability pf player #1 on player #2 and the actual position of the players is not shared between game clients, I would think you would need an OCR ability to parse whats going on such as a box around the cross hair is always parsing for a lock when player has missile launcher and is viewing down range maybe and then when there is a match to an object to be targeted it locks and follows that position. However this would mean that you would need a player out in the open to be targeted without camo or else you wouldnt be able to tell them apart from their background as well as rules would have to be set so that if only the upper torso of the player is in view down range, its a match for recognition even though the legs arent in view. A better and most likely coded feature would be to just know the other players location at all times at the program level which is out of the view of the player and whenever the cross hair is in a proximity to collision detection then maybe show a cross hair going from one color to another and then when locked on red and click to fire when the cross hair is very close to actual player location on the map and now they have to dodge behind something or get blown up where the missile flying towards them is locked onto them but objects in between them and the missile unknown so a tree in between player 1 and player 2 could take a hit and player 2 runs off.

I noticed stuff like this with games like DRIVER where you try to get away from cops and the targeting that was used in that game could be exploited in a way to just about never get caught. The trick was to have cops on your tail and head for a light pole and pass the pole on your right or left and quickly turn in the direction of the pole. The cops function of targeting you was locked onto your position and no other objects mattered to avoid collision, so I could turn fast and watch as the cop cars would clobber the light poles in the rear view mirror and destroy many many cop cars with a city full of smoking or burning cars as I double back and send more cops into the already destroyed piles etc. Fun for a short while until it gets old and time to end game. It would be a lot harder of the targeting of the game took into account objects between you and them to avoid collision. But I would think that would make the cops always avoid wrecks as for calculations could constantly adjust for it all and make for a very difficult if not possibly impossible ability to outrun the police. The targeting was linear no matter what was between you and the cop, so as you turn left or right, the cop also turned left or right, but because they are 10 feet back, that turning at the same time that you do is now a fatal move for them as they drive directly into light poles.  ;D

If the game has a square ball and frags and lasers and stuff that are also square then it would just be all noise and no ability to lock on to true target if parsing is looking for an object of specific dimensions with the noise that everything looks the same. Even with collision detection the ball location would be known and other objects when they conflict for X,Y or X,Y,Z position something happens of whatever the programmer wants such as explodes, bounces, or capture, or other endless possibilities of what to do when 2 or more objects collide for the same space or a proximity if its say a mine that detects targets within +3 of itself around etc.

Edit: Was just thinking.... maybe the tracking is to the person playing their eyes arent able to track the ball? Too much going on screen and overload. As that would make more sense in unable to track a ball.  ;D

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Free Stuff. For building gaming apps.
« Reply #12 on: January 28, 2018, 02:36:49 PM »
Your Edit is right, it was a usability consideration not a technical one. The game itself has no trouble keeping track of the balls position, but visually there is too much stuff flying all over and since the debris comes from blocks when they are destroyed they often cover up the ball. Paired with the "macguffins" that fly out that can be collected by the paddle and the ball itself can become tricky to track. (pausing and unpausing is a workaround since after unpausing the game freezes and all balls are given a visual countdown).

And the ideas for blocks and how they affect balls are endless. Probably why I keep revisiting and making minor changes to the game between year long abandonments. (and yet leaving rather critical bugs unfixed like not being able to save/load properly anymore in the editor...) As it is the game has about 50 unique blocks, some are simple like the "orb" block which is like a normal block but creates a ridiculous amount of macguffins (and looks like a container stuffed full of them), to complicated blocks like the "AttractorRepulsorBlock" which when activated, will look for another attractorrepulsor and they will either repel away from one another(if the same colour), or attract towards one another (if different colours), destroying any blocks they touch in between, and exploding when they meet based on their speed.
I was trying to dereference Null Pointers before it was cool.