Author Topic: Visual Basic as gui engine?  (Read 24403 times)

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Visual Basic as gui engine?
« on: September 12, 2014, 09:33:18 AM »
Regarding my tile editor, I was thinking if VB could solve the problems with ascetic SDL.. rather than using some overbloat gui library like Qt. I remember I had problems with M$ Live ID (forgot my password and couldn't recover it) which I guess is required when downloading VB Express. I'm not sure about Express version of VB either, because I don't know its exact limitations. .NET of course makes it Windows only (I guess), but I don't care about it. Has anyone here used VB lately?

TheCreator

  • Rogueliker
  • ***
  • Posts: 370
  • Karma: +0/-0
    • View Profile
    • Fame
    • Email
Re: Visual Basic as gui engine?
« Reply #1 on: September 12, 2014, 10:56:52 AM »
I haven't used VB since the moment it went .NET (thus VB is not VB anymore, it's just C# without curly braces). However, I do use Visual C++ Express. I don't think any kind of account is required to download any Express version of MS products, but something might have changed recently... As of limitations, the only one that matters is that you cannot use plugins in Express Edition. All the other stuff should remain the same, including the right to use the IDE freely even for commercial projects.
Fame (Untitled) - my game. Everything is a roguelike.

Paul Jeffries

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 257
  • Karma: +1/-0
    • View Profile
    • Vitruality.com
Re: Visual Basic as gui engine?
« Reply #2 on: September 12, 2014, 10:46:12 PM »
VB.NET is the main language I use at work and I've also used it for a couple of non-game hobby projects such as the spriting tool I recently released.  So if you have any specific questions about it ask away.

So far as GUI goes, you have two main options; WinForms and Windows Presentation Foundation (WPF), which work in very different ways.  Of the two, I greatly prefer WPF as it's more powerful and much easier to maintain.  Its data-binding features make it very fast to set up a GUI with very little (or no) bridging code-behind.  On the downside using it effectively means getting used to XAML and setting up your architecture to be compatible with the MVVM pattern, so it's slightly less straightforward to get to grips with than WinForms.  There are also some things in it which you would think would be trivial to accomplish but that can require some complicated work-arounds.

I've used the pro and express versions of VS more-or-less interchangeably and express is good enough for most purposes.  It's missing some functionality to do with debugging and build instructions, although actually sometimes they've simply removed the interface for these things from the express version and you can still activate them by editing the project file.  If I remember correctly you don't need a Live ID to download, but you do need to register with one to carry on using the express versions after 30 days.
« Last Edit: September 12, 2014, 10:47:43 PM by Paul Jeffries »

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #3 on: September 13, 2014, 08:40:34 AM »
Or maybe I should start from the scratch, creating much better GUI for SDL than the current one (possibly also switching to SDL2). Or maybe I should try to find some lightweight C++ gui.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #4 on: September 16, 2014, 07:41:02 AM »
There is a "lightweight" GUI that doesn't require installing or external depends. It's.. WinAPI. Agreed the syntax is quite horrible, but I think with my current skills it would be possible to wrap that shit to classes, creating a layer of more usable GUI. After all, I don't need any fancy stuff, only basic stuff like menus, couple of dialogs and that's pretty much it.

Cfyz

  • Rogueliker
  • ***
  • Posts: 194
  • Karma: +0/-0
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #5 on: September 16, 2014, 10:59:19 AM »
Quote from: Krice
There is a "lightweight" GUI that doesn't require installing or external depends. It's.. WinAPI.
WinAPI has like ~20GB of dependencies =)

reaver

  • Rogueliker
  • ***
  • Posts: 207
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #6 on: September 16, 2014, 11:10:25 AM »
What do you mean by tile editor? To create tiles, or create levels?
Do you *really* need to roll your own tool? For level editing, this is nice: http://www.mapeditor.org/
... and as the format is xml-based, you can probably export/import this from your application/game.

mushroom patch

  • Rogueliker
  • ***
  • Posts: 554
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #7 on: September 16, 2014, 01:42:21 PM »
What do you mean by tile editor? To create tiles, or create levels?
Do you *really* need to roll your own tool? For level editing, this is nice: http://www.mapeditor.org/
... and as the format is xml-based, you can probably export/import this from your application/game.

I know, it's puzzling. I think he's talking about something like a sprite editor minus animation, not a map editor. So basically an icon editor. I'm somewhat hard pressed to believe that this proposed tile editor would surpass the functionality available via Gimp plugins, photoshop, or even MS Paint. I mean, hell, Borland C++ came with an icon editor 20 years ago.


Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #8 on: September 16, 2014, 09:30:06 PM »
What do you mean by tile editor? To create tiles, or create levels?
Do you *really* need to roll your own tool?

Yes, I did need it and still do. I've been developing it since 2004. The new version is going to be cool, unlike this current one.
http://koti.mbnet.fi/paulkp/brick/brick.htm

reaver

  • Rogueliker
  • ***
  • Posts: 207
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #9 on: September 16, 2014, 09:47:21 PM »
I've been developing it since 2004. The new version is going to be cool, unlike this current one.

Are you gonna add png support? -_-
Reinventing the wheel is not cool, unless you're learning / want to learn / really enjoy the process. If you enjoy making a subset of windows paint with Win32 API, fair enough, whatever floats your boat.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #10 on: September 17, 2014, 08:03:53 AM »
Reinventing the wheel is not cool

If there was a free software with options I want I would use it. Nothing like it exists.

I think gtkmm is quite neat (it's C++), but I haven't yet found out is it possible to manually read mouse location and also create a custom surface to draw whatever you want. The problem sometimes with these GUI libraries seem to be that they are too deeply constructed and limit everything in context and properties of the GUI.

reaver

  • Rogueliker
  • ***
  • Posts: 207
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #11 on: September 17, 2014, 08:18:40 AM »
If there was a free software with options I want I would use it. Nothing like it exists.

http://tilestudio.sourceforge.net/ ?

chooseusername

  • Rogueliker
  • ***
  • Posts: 329
  • Karma: +0/-0
    • View Profile
    • Email
Re: Visual Basic as gui engine?
« Reply #12 on: September 17, 2014, 09:16:19 AM »
I've been developing it since 2004. The new version is going to be cool, unlike this current one.

Are you gonna add png support? -_-
Reinventing the wheel is not cool, unless you're learning / want to learn / really enjoy the process. If you enjoy making a subset of windows paint with Win32 API, fair enough, whatever floats your boat.
Too many people are indoctrinated with a belief that reinventing the wheel is a bad thing, and if it is suggested there are situations that it is okay, then these situations are often trivial ones that no professional would seriously choose.

The fact is that a piece of software is not a wheel.  That a given piece of software does something which resembles what the programmer wants, is a mere part of the whole.  A wheel is a wheel, you get one and it fits a hole on a stick thing.  Making a new wheel is a fixed process which is clearly pointless and of little benefit.  For software there are numerous factors which complicate the situation - how it is written, the burden for choosing to use it, the benefits of writing a better version and so on.. are all factors that need to be weighed up.

The sooner this expression dies, the fewer people who will be mislead into making poor choices because of it.

reaver

  • Rogueliker
  • ***
  • Posts: 207
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #13 on: September 17, 2014, 09:51:08 AM »
The fact is that a piece of software is not a wheel.  That a given piece of software does something which resembles what the programmer wants, is a mere part of the whole.  A wheel is a wheel, you get one and it fits a hole on a stick thing.  Making a new wheel is a fixed process which is clearly pointless and of little benefit.  For software there are numerous factors which complicate the situation - how it is written, the burden for choosing to use it, the benefits of writing a better version and so on.. are all factors that need to be weighed up.

The sooner this expression dies, the fewer people who will be mislead into making poor choices because of it.

The expression is just an expression - it's fit to use in *quite a few* cases, it doesn't need to die because it's not universally applicable. What's next? KISS needs to die because it's not applicable when designing a complex system? Of course there are several factors that come into account - nobody argues that.

If you want to make a *tile authoring* application:
- Making a half-arsed paint program with some extra custom bits is the reinventing the wheel.
- Making a plug-in for a well-used paint program and adding the unique bits is "standing in the shoulder of giants". That's a ready user base and developing transferable skills right there.
And don't tell me "but but, plug-ins are proprietary/hard"

Next in line: write an IDE for roguelike development because the current free ones suck, as they don't support visualisation of levels in the variable watch windows while debugging.





mushroom patch

  • Rogueliker
  • ***
  • Posts: 554
  • Karma: +0/-0
    • View Profile
Re: Visual Basic as gui engine?
« Reply #14 on: September 17, 2014, 03:36:00 PM »
Yeah, this software is not a wheel thing only goes so far. If you're talking about something whose purpose is literally just fiddling with values in an array of numbers (I mean, editing icons in a damn hex editor wouldn't be a completely crazy thing to do), a task ably performed by a huge array of existing pieces of software with mature, user friendly interfaces, that seems about as much like a wheel as any piece of software could be.