Wiz3D - A new gamedev tool in progress

Started by JaviCervera, April 18, 2018, 11:14:54

Previous topic - Next topic

JaviCervera

Hello, guys.

Inspired from the BASIC languages that I used almost two decades ago (mainly Blitz3D and DarkBASIC), I decided to begin a new game development tool inspired by those same principles.

I am a teacher at the university, where I teach programming, OpenGL, Unity and Unreal Engine. This tool, that I have named Wiz3D, does not pretend to be on par with current-gen engines, but instead, its goal is to provide an extremely simple environment where I can teach kids programming. I plan on writing a book and start giving courses on it next year, and the design of the API is 100% focused on providing an adequate learning curve. Instead of writing a new BASIC language from scratch, it is based on Lua (which is itself very BASIC-like). The tool will be open source, and will include a Blitz3D-like IDE.

Here's a screenshot of a very simple program:

iWasAdam

Very nice and short. I like the general simple UI.

Looks like a good way to ease people into basic 3d and programs

MikeHart

Cool beans! Means I am sure you will have success with it.
Seems that this was the reason why Vortex didn't progess as fast.  ;D

Question Javi, is Vortex still in development or are you concentrating on this now?

JaviCervera

#3
Thank you, guys!

@MikeHart: Yes, it is in development. I haven't released a new beta because there are 4 items still on my todo list, but there have been several commits lately on Vortex repository.

The reason why I started this is because I want to write a book on programming but couldn't find a platform that 100% fulfills the goal of simplicity that I have. Unity and Unreal are great, but as a learning tool, I found them to be better at teaching a game designer how to make a game than to teach programming itself. AGK came close, but there are certain design decisions in its BASIC dialect that are a no-go (for example, the fact that structs are passed by value and not by reference, limiting their utility a lot).I also would like something that is open source.

Actually, the programming part of this project is not that big. It is a small project that feature-wise when it comes to graphics is similar to Blitz3D and DarkBASIC. Most of the work will go on the IDE, but especially, on writing the book.

The goal of this project is to serve as an adequate tool to learn programming. The goal of Vertex is to write my own games with it.

Steve Elliott

Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

MikeHart

Javi, is there a website for it already?

JaviCervera

I have made a repository on Github, but haven't uploaded anything yet. I'll do it soon. The page will probably just be the Github repo, or I'll upload something to Github Pages.

But as I said, the focus is to teach kids programming through this tool, people with more experience would be better off with Cerberus+Vortex, which have way more features :)

Derron

We had our first (official) "programming" lessons in Turbo Pascal and "Turtle Graphics". Which means you have a pointer (eg. a turtle) and you give it "walk commands". every setp the turtle does, it draws a line.

So you did something like this:

TurtleUp(100)
TurtleRight(100)
TurtleDown(100)
TurtleLeft(100)
to draw a quad.

Of course you could add other commands to just move, not draw, to change colors, ...
In my opinion the idea behind is to catch the principles of splitting things into "single state commands". It also has the mathematical approach (adding subtracting).

Using a fancy "turtle" might make it more interesting for people just having learned writing.
Of course it would even be better if you would have some kind of localization:
Schildkroete.Hoch(100) vs Turtle.Up(100) vs Tortue.Haut(100)

It all depends on how old they are - and if you prefer "writing" to "clicking together" (touch devices).
And it depends on the computer knowledge level they have. Think what I described above might be "too basic" already.


bye
Ron

MikeHart

Quote from: JaviCervera on April 19, 2018, 11:17:24
I have made a repository on Github, but haven't uploaded anything yet. I'll do it soon. The page will probably just be the Github repo, or I'll upload something to Github Pages.

But as I said, the focus is to teach kids programming through this tool, people with more experience would be better off with Cerberus+Vortex, which have way more features :)

Someone can do nice things with Google Pages, so I think it will be just fione. Anyway, I will watch our GH account. Someone can always learn.
Btw. not sure if you heard about GiderosMobile. It is a great LUA engine for mobile, web and desktop. And it is open source.

JaviCervera

Thank for pointing me to GiderosMobile. It looks nice, but I prefer to continue with Wiz3D. I am adding physics to it right now using ODE. I am using ODE instead of Bullet because it has a C API and I am writing this in pure C. I will probably upload it to the repository soon.

Xerra

Quote from: Derron on April 19, 2018, 11:27:38
We had our first (official) "programming" lessons in Turbo Pascal and "Turtle Graphics". Which means you have a pointer (eg. a turtle) and you give it "walk commands". every setp the turtle does, it draws a line.

So you did something like this:

TurtleUp(100)
TurtleRight(100)
TurtleDown(100)
TurtleLeft(100)
to draw a quad.

I remember doing something very similar. Think it was on a computer learning holiday I did when I was around 15. We were using a BBC Micro and using an instruction set like this to control a robot with a pen on it in the middle of the room that drew your design on paper. It was amazing at the time. I'm sure I spent ages tinkering with it and just a very basic knowledge of the language.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/