Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #50982 > unrolled thread

Creating a maze game

Started bySteve Graham <solitary.wanderer52@gmail.com>
First post2016-09-14 20:30 -0700
Last post2016-09-17 02:21 -0700
Articles 20 on this page of 48 — 17 participants

Back to article view | Back to comp.lang.forth


Contents

  Creating a maze game Steve Graham <solitary.wanderer52@gmail.com> - 2016-09-14 20:30 -0700
    Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 21:41 -0700
      Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:45 -0700
        Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-16 16:49 -0700
          Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 01:38 -0700
            Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-17 02:08 -0700
              Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-17 03:06 -0700
                Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 04:30 -0700
                  Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-17 15:09 -0700
                    Re: Creating a maze game "HAA" <someone@microsoft.com> - 2016-09-18 14:19 +1000
                      Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-18 00:18 -0700
                    Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-18 00:31 -0700
              Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 04:40 -0700
                Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-18 00:41 -0700
    Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 21:56 -0700
      Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 22:15 -0700
        Re: Creating a maze game Melzzzzz <Melzzzzz@zzzzz.com> - 2016-09-15 05:22 +0000
        Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 22:30 -0700
          Re: Creating a maze game lawrencedo99@gmail.com - 2016-09-14 22:38 -0700
            Re: Creating a maze game Cecil Bayona <cbayona@cbayona.com> - 2016-09-15 00:43 -0500
            Re: Creating a maze game Paul Rubin <no.email@nospam.invalid> - 2016-09-14 22:59 -0700
              Re: Creating a maze game Melzzzzz <Melzzzzz@zzzzz.com> - 2016-09-15 06:06 +0000
    Re: Creating a maze game Rod Pemberton <NoHaveNotOne@zxdehrnyya.cam> - 2016-09-15 01:47 -0400
    Re: Creating a maze game anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-15 07:34 +0000
    Re: Creating a maze game Andreas Wagner <andreas.wagner@lowfatcomputing.org> - 2016-09-15 01:04 -0700
      Re: Creating a maze game albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-15 10:18 +0200
        Re: Creating a maze game Rod Pemberton <NoHaveNotOne@zxdehrnyya.cam> - 2016-09-15 17:48 -0400
      Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:50 -0700
    Re: Creating a maze game albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-15 10:27 +0200
    Re: Creating a maze game Mark Wills <markwills1970@gmail.com> - 2016-09-15 01:57 -0700
    Re: Creating a maze game Pablo Hugo Reda <pabloreda@gmail.com> - 2016-09-15 05:35 -0700
    Re: Creating a maze game Steve Graham <solitary.wanderer52@gmail.com> - 2016-09-15 10:22 -0700
    Re: Creating a maze game Julian Fondren <ayrnieu@gmail.com> - 2016-09-15 11:52 -0700
      Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-15 20:24 -0700
        Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-15 21:00 -0700
          Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-16 20:16 -0700
      Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-19 07:01 -0700
        Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-20 15:15 -0700
        Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-21 02:05 -0700
          Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-21 02:36 -0700
            Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-21 07:34 -0700
              Re: Creating a maze game anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-21 14:55 +0000
                Re: Creating a maze game Julian Fondren <julian.fondren@gmail.com> - 2016-09-22 10:58 -0700
              Re: Creating a maze game Doug Hoffman <glidedog@gmail.com> - 2016-09-22 06:42 -0400
    Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-16 10:39 -0700
      Re: Creating a maze game hughaguilar96@gmail.com - 2016-09-16 19:44 -0700
    Creating a maze game Mark Wills <markwills1970@gmail.com> - 2016-09-17 00:16 -0700
      Re: Creating a maze game JUERGEN <epldfpga@aol.com> - 2016-09-17 02:21 -0700

Page 2 of 3 — ← Prev page 1 [2] 3  Next page →


#50993

FromPaul Rubin <no.email@nospam.invalid>
Date2016-09-14 22:59 -0700
Message-ID<87lgytd7pt.fsf@jester.gateway.pace.com>
In reply to#50990
lawrencedo99@gmail.com writes:
>> No, not at all.  Minecraft itself is written in Java but the in-game
>> scripting language is much different and simpler.
> But still a dead end as far as learning is concerned.

Kids observably enjoy it a lot.  I don't see how anything like that can
be a dead end.

[toc] | [prev] | [next] | [standalone]


#50994

FromMelzzzzz <Melzzzzz@zzzzz.com>
Date2016-09-15 06:06 +0000
Message-ID<nrddo8$jos$4@news.albasani.net>
In reply to#50993
On 2016-09-15, Paul Rubin <no.email@nospam.invalid> wrote:
> lawrencedo99@gmail.com writes:
>>> No, not at all.  Minecraft itself is written in Java but the in-game
>>> scripting language is much different and simpler.
>> But still a dead end as far as learning is concerned.
>
> Kids observably enjoy it a lot.  I don't see how anything like that can
> be a dead end.

When learning programming, first thing to do is to learn algorithms. 
Programming language is not that important as long as algorithms can be
clearly expressed.


-- 
press any key to continue or any other to quit

[toc] | [prev] | [next] | [standalone]


#50992

FromRod Pemberton <NoHaveNotOne@zxdehrnyya.cam>
Date2016-09-15 01:47 -0400
Message-ID<20160915014731.3e4a4c3b@_>
In reply to#50982
On Wed, 14 Sep 2016 20:30:46 -0700 (PDT)
Steve Graham <solitary.wanderer52@gmail.com> wrote:

> I would like to create a game for some grandsons:  Something that
> would include typical maze elements (walls, barriers, traps, jumping
> platforms, etc) and would allow them to enter in "code" to create or
> modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would
> be better for me) and would be coded in Forth, a lisp-family language
> (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I
> have been learning CL and Scheme, know a bit of Arc and Logo and a
> bit more of Forth, Unicon and JavaScript.

With JavaScript available to you, you should be able, with some work, to
create basic interpreters for Forth and Logo.  In fact, this has been
done for both many times.  Links to interactive Forth and Logo in
Javascript:

http://www.calormen.com/jslogo/
https://skilldrick.github.io/easyforth/
https://brendanator.github.io/jsForth/

Instead of a maze game, perhaps a text movement game, like Moria?

https://en.wikipedia.org/wiki/Moria_(video_game)

Or, perhaps a text adventure game, like Zork?

https://en.wikipedia.org/wiki/Zork

You could let them know that they must start with the basics, and the
ideas scale up to bigger and better things.  E.g., demonstrate basics
of going from Zork to Moria to Doom or Wolfenstein.  You don't want
them to get frustrated with something too complicated.  (I hope wasn't
being too forward with that suggestion, as they're your grandkids to
teach, not mine.)

> While I have been a medical information systems programmer for most of
> my career, it has been focused on CRUD (create/retrieve/update/delete)
> applications and interfacing (HL7 and proprietary).  I have virtually
> no experience with GUI and audio applications.

CRUD or ACID?

https://en.wikipedia.org/wiki/ACID
https://en.wikipedia.org/wiki/CRUD

> Here are some questions that have occurred to me:
> 1.  Which languages would be best?

That depends on where the game is hosted.  If the game is native to the
machine, I'd say C or whatever programming language the OS was coded
with.  It'll work better that way.  If hosted in a web browser or cloud
server, I'd say Javascript, perhaps HTML5 or WebGL.  Everything is
apparently being coded in Javascript or converting to it, including
servers and smartphones.

> 2.  Which toolkits would help?  OpenGL?

If native to a machine, you'll need to use the graphics libraries that
it supports.  You could also compile or use a library like WebGL
(Javascript API) or libSDL (low-level hardware via DirectX or OpenGL)
or in-browser HTML5.

https://www.khronos.org/webgl/
https://www.libsdl.org/

https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer
https://en.wikipedia.org/wiki/WebGL
https://en.wikipedia.org/wiki/HTML5

> 3.  Can this be done on a browser?

Yes, using Javascript, and maybe some HTML5 or WebGL too, you can
generate an interpreter or emulator for just about anything.  E.g.,
links to in-browser emulators for C64, Apple II, IBM PC plus Linux,
NES, BBC, Moria, Zork, Windows 3.0 plus Zork, DOSBox plus Doom, ...

https://www.scullinsteel.com/apple2/
http://www.c64js.com/
https://www.kingsquare.nl/jsc64
http://bellard.org/jslinux/
https://fir.sh/projects/jsnes/
https://bbc.godbolt.org/
http://donnierussellii.github.io/JSMoria.html
http://www.web-adventures.org/cgi-bin/webfrotz?s=ZorkDungeon
http://jdosbox.superglobalmegacorp.com/jscript/winzork.html
https://js-dos.com/games/doom.exe.html

Here are some links to amazing WebL and HMTL5 in-browser demos.  You're
browser will need to be newer or up-to-date to support this stuff.  A
fast computer helps as well with WebGL.

HTML5
http://www.chiptune.com/kaleidoscope/
http://fff.cmiscm.com/#!/section/scream
http://www.craftymind.com/factory/html5video/CanvasVideo.html
http://spielzeugz.de/html5/liquid-particles/
http://tomtheisen.com/spread/
http://www.effectgames.com/demos/canvascycle/
http://codepen.io/ge1doot/pen/dMdyEp

WebGL
http://madebyevan.com/webgl-water/
http://alteredqualia.com/three/examples/webgl_terrain_dynamic.html
http://arodic.github.io/p/jellyfish/
https://armsglobe.chromeexperiments.com/

> 4.  How does one control scrolling in different directions?  Do you
> create the screen in memory and then instruct the system to scroll in
> the direction of the newly created portion? 5.  Could you interface
> with one of the available free game engines?

I don't have an answer for this, except maybe to learn to code, but you
obviously already know how to code.  ...  So, maybe buy a good book on
computer game design?


Rod Pemberton

[toc] | [prev] | [next] | [standalone]


#50995

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-09-15 07:34 +0000
Message-ID<2016Sep15.093429@mips.complang.tuwien.ac.at>
In reply to#50982
Steve Graham <solitary.wanderer52@gmail.com> writes:
>Regarding Forth, I would like the ability to put in code during the play of=
> the game -- like eval() in other languages -- and assume that it is possib=
>le in Forth.

It is.

If you want a big programming project and want to learn lots of things
about game engine programming, do it in Forth, and depending on how
fast you are, you will be done in months or years.  If, OTOH, the
purpose is to get the game done, start with a game engine (two that
come to my mind are the Unreal engine and Unity, but
<https://en.wikipedia.org/wiki/List_of_game_engines> lists many more).

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [next] | [standalone]


#50997

FromAndreas Wagner <andreas.wagner@lowfatcomputing.org>
Date2016-09-15 01:04 -0700
Message-ID<ca6ed72a-d6da-4052-a49c-332289210420@googlegroups.com>
In reply to#50982
On Wednesday, September 14, 2016 at 11:30:47 PM UTC-4, Steve Graham wrote:
> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.


https://web.archive.org/web/20141119140449/http://www.jupiter-ace.co.uk/listing_3dmaze.html

http://jupiler.retrolandia.net/JAs?3dmaze.rec

http://jupiler.retrolandia.net/

https://rosettacode.org/wiki/Maze_generation

https://rosettacode.org/wiki/Maze_solving

[toc] | [prev] | [next] | [standalone]


#50998

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2016-09-15 10:18 +0200
Message-ID<nrdlgv$grd$1@cherry.spenarnc.xs4all.nl>
In reply to#50997
In article <ca6ed72a-d6da-4052-a49c-332289210420@googlegroups.com>,
Andreas Wagner  <andreas.wagner@lowfatcomputing.org> wrote:
>On Wednesday, September 14, 2016 at 11:30:47 PM UTC-4, Steve Graham wrote:
>> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
>
>
>https://web.archive.org/web/20141119140449/http://www.jupiter-ace.co.uk/listing_3dmaze.html

>
>http://jupiler.retrolandia.net/JAs?3dmaze.rec

>
>http://jupiler.retrolandia.net/
>
>https://rosettacode.org/wiki/Maze_generation
>
>https://rosettacode.org/wiki/Maze_solving

I did an experiment once. I had a psychology student with no prior experience
with computers. I learned him Forth, on his Jupiter ace, so he had no
exposure to anything but Forth.

He didn't know how supposedly difficult it is to program a real time
game. So after a couple of lessons once a week he surprised me.
In the preceeding week he had programmed a brick out game.
It was crude but it worked!

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#51013

FromRod Pemberton <NoHaveNotOne@zxdehrnyya.cam>
Date2016-09-15 17:48 -0400
Message-ID<20160915174840.7fc0d25d@_>
In reply to#50998
On Thu, 15 Sep 2016 10:18:39 +0200 (CEST)
albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) wrote:

> I did an experiment once. I had a psychology student with no prior
> experience with computers. I learned him Forth, on his Jupiter ace,
> so he had no exposure to anything but Forth.
> 
> He didn't know how supposedly difficult it is to program a real time
> game. So after a couple of lessons once a week he surprised me.
> In the preceeding week he had programmed a brick out game.

Do you mean a break out game? E.g., Breakout.


RP

[toc] | [prev] | [next] | [standalone]


#51045

FromJUERGEN <epldfpga@aol.com>
Date2016-09-16 10:50 -0700
Message-ID<558aece0-70f6-4655-962a-944cd7aae70d@googlegroups.com>
In reply to#50997
On Thursday, September 15, 2016 at 9:04:03 AM UTC+1, Andreas Wagner wrote:
> On Wednesday, September 14, 2016 at 11:30:47 PM UTC-4, Steve Graham wrote:
> > I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
> 
> 
> https://web.archive.org/web/20141119140449/http://www.jupiter-ace.co.uk/listing_3dmaze.html
> 
> http://jupiler.retrolandia.net/JAs?3dmaze.rec
> 
> http://jupiler.retrolandia.net/
> 
> https://rosettacode.org/wiki/Maze_generation
> 
> https://rosettacode.org/wiki/Maze_solving

sorry Andreas, is there anything you want to say except copy and paste of links -there might be a good reason to add the option to add a word or two?

[toc] | [prev] | [next] | [standalone]


#50999

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2016-09-15 10:27 +0200
Message-ID<nrdm0p$gt1$1@cherry.spenarnc.xs4all.nl>
In reply to#50982
In article <d0ec4e28-8998-4982-92e2-e0097f61ae40@googlegroups.com>,
Steve Graham  <solitary.wanderer52@gmail.com> wrote:
>I would like to create a game for some grandsons:  Something that would inc=
>lude typical maze elements (walls, barriers, traps, jumping platforms, etc)=
> and would allow them to enter in "code" to create or modify some of the el=
>ements.

Don't underestimate the creative/artistic part of game design.
It is hard to come up with something that is fun to play.
Of course tetris is fun, and if it is character graphics, that is
no big deal and programming a tetris clone is doable,
but apparently you want to do something original. Good luck with
that.

<SNIP>
>Thanks, Steve

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#51000

FromMark Wills <markwills1970@gmail.com>
Date2016-09-15 01:57 -0700
Message-ID<1c1c6b9f-d79b-4c4e-9020-158653efed54@googlegroups.com>
In reply to#50982
On Thursday, 15 September 2016 04:30:47 UTC+1, Steve Graham  wrote:
> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would be better for me) and would be coded in Forth, a lisp-family language (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I have been learning CL and Scheme, know a bit of Arc and Logo and a bit more of Forth, Unicon and JavaScript.
> 
> While I have been a medical information systems programmer for most of my career, it has been focused on CRUD (create/retrieve/update/delete) applications and interfacing (HL7 and proprietary).  I have virtually no experience with GUI and audio applications.
> 
> Here are some questions that have occurred to me:
> 1.  Which languages would be best?
> 2.  Which toolkits would help?  OpenGL?
> 3.  Can this be done on a browser?
> 4.  How does one control scrolling in different directions?  Do you create the screen in memory and then instruct the system to scroll in the direction of the newly created portion?
> 5.  Could you interface with one of the available free game engines?
> 
> Obviously this would not have to be world-class.  Just something a 10 and 12 year old might like and perhaps from which they could learn how to do some elementary coding.
> 
> Regarding Forth, I would like the ability to put in code during the play of the game -- like eval() in other languages -- and assume that it is possible in Forth.
> 
> I would appreciate your input.
> 
> 
> Thanks, Steve

Rather than writing a game, buy them an Arduino for about $10 and
$5 worth of components from Maplin/Radio Shack and get them building
burglar alarms and the like. Little circuits that are controlled
with simple software.

[toc] | [prev] | [next] | [standalone]


#51002

FromPablo Hugo Reda <pabloreda@gmail.com>
Date2016-09-15 05:35 -0700
Message-ID<2d325350-bcfb-411f-ba3f-fc0e5574b918@googlegroups.com>
In reply to#50982
El jueves, 15 de septiembre de 2016, 0:30:47 (UTC-3), Steve Graham  escribió:
> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would be better for me) and would be coded in Forth, a lisp-family language (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I have been learning CL and Scheme, know a bit of Arc and Logo and a bit more of Forth, Unicon and JavaScript.
> 
> While I have been a medical information systems programmer for most of my career, it has been focused on CRUD (create/retrieve/update/delete) applications and interfacing (HL7 and proprietary).  I have virtually no experience with GUI and audio applications.
> 
> Here are some questions that have occurred to me:
> 1.  Which languages would be best?
> 2.  Which toolkits would help?  OpenGL?
> 3.  Can this be done on a browser?
> 4.  How does one control scrolling in different directions?  Do you create the screen in memory and then instruct the system to scroll in the direction of the newly created portion?
> 5.  Could you interface with one of the available free game engines?
> 
> Obviously this would not have to be world-class.  Just something a 10 and 12 year old might like and perhaps from which they could learn how to do some elementary coding.
> 
> Regarding Forth, I would like the ability to put in code during the play of the game -- like eval() in other languages -- and assume that it is possible in Forth.
> 
> I would appreciate your input.
> 
> 
> Thanks, Steve

Try :r4

https://github.com/phreda4/reda4

perhaps you like it.

[toc] | [prev] | [next] | [standalone]


#51005

FromSteve Graham <solitary.wanderer52@gmail.com>
Date2016-09-15 10:22 -0700
Message-ID<871f0e9f-d2d0-40b8-9d26-887a3cc841c8@googlegroups.com>
In reply to#50982
Thank you for all of your comments.

Steve

---

On Wednesday, September 14, 2016 at 8:30:47 PM UTC-7, Steve Graham wrote:
> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would be better for me) and would be coded in Forth, a lisp-family language (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I have been learning CL and Scheme, know a bit of Arc and Logo and a bit more of Forth, Unicon and JavaScript.
> 
> While I have been a medical information systems programmer for most of my career, it has been focused on CRUD (create/retrieve/update/delete) applications and interfacing (HL7 and proprietary).  I have virtually no experience with GUI and audio applications.
> 
> Here are some questions that have occurred to me:
> 1.  Which languages would be best?
> 2.  Which toolkits would help?  OpenGL?
> 3.  Can this be done on a browser?
> 4.  How does one control scrolling in different directions?  Do you create the screen in memory and then instruct the system to scroll in the direction of the newly created portion?
> 5.  Could you interface with one of the available free game engines?
> 
> Obviously this would not have to be world-class.  Just something a 10 and 12 year old might like and perhaps from which they could learn how to do some elementary coding.
> 
> Regarding Forth, I would like the ability to put in code during the play of the game -- like eval() in other languages -- and assume that it is possible in Forth.
> 
> I would appreciate your input.
> 
> 
> Thanks, Steve

[toc] | [prev] | [next] | [standalone]


#51008

FromJulian Fondren <ayrnieu@gmail.com>
Date2016-09-15 11:52 -0700
Message-ID<ae22fd81-680c-4f92-a509-1c3b11d7e5b0@googlegroups.com>
In reply to#50982
On Wednesday, September 14, 2016 at 10:30:47 PM UTC-5, Steve Graham wrote:
> I would like to create a game for some grandsons:  Something that would include typical maze elements (walls, barriers, traps, jumping platforms, etc) and would allow them to enter in "code" to create or modify some of the elements.
> 
> It would be hosted on a Windows 7+ platform (platform-agnostic would be better for me) and would be coded in Forth, a lisp-family language (CL, Scheme, Racket, Arc, Logo, etc), Unicon and/or JavaScript.  I have been learning CL and Scheme, know a bit of Arc and Logo and a bit more of Forth, Unicon and JavaScript.

Two platforms with very easy coding, if not very easy *run-time*
coding, are PocketCHIP and RPGMaker MV.  They even cost about the
same: the latter would run on Windows as you want, and in the browser,
and is programmed in JavaScript; the former comes with its platform,
and is programmed in Lua:

https://getchip.com/pages/pocketchip

http://www.rpgmakerweb.com/

In terms of luring children, the PocketCHIP captures the old VBasic
feel of playing a game and then changing variables to change how the
game plays.  You can go farther than that, but the earliest steps are
easy and can be satisfying.  And in the beginning you're just playing
a game.  Meanwhile, RPGMaker lets you develop a game mostly without
programming, but that extra step is always possible, and in the
community you can find examples of what it can add.  Also, although
normal development doesn't use a programming language, it still
demands similar kinds of discipline.  If you make your game
haphazardly you'll have lots of trouble getting the bugs out.

However, neither of these systems' games may actually *appeal* to your
grandsons, if they're already playing modern games.  You may get the
uncomfortable sense that you are trying to convey the constructive
wonders of Lincoln Logs.

But, really, if these games don't appeal to them, it probably won't do
any better to give them Unity3d or something instead.  It's the reason
that people would rather design something in MineCraft than in some
actually nice looking engine.  The lowered expectations of the tool
apply to your own works, and make them compare better with actually
good works using the same tool.  What remains a mountain to climb, if
you're ever to be any good, is rendered so poorly that it appears as a
more approachable hill, so you retain the confidence to begin to climb
it, before you know if you'll enjoy climbing it.

Low-effort works can also be enjoyed on their own merits without being
shameful.  A lazy RPGMaker game can be fun, and tell a little story; a
lazy Unity3d game just looks like complete shit.

Instead you should just get them some Steam games with programming
elements.  There are subtle games like Factorio and SpaceChem, and
more overt ones that require you to 'hack' the game to get through it.

> Obviously this would not have to be world-class.  Just something a 10 and 12 year old might like and perhaps from which they could learn how to do some elementary coding.

I can't suggest much with your Windows requirement.  You can make a
Unix terminal game in minutes with Forth, with just KEY and ANSI
codes.  If Android is an option, OpenGL on it is easy to use with
gforth.

With that said, on Windows I'd just find some engine to bind with and
stick with that.  'The Lady' on Steam is a Forth game made with
SwiftForth and Allegro bindings.

Yes, you can use a browser, and JavaScript.  This is actually a very
good option and one that your grandsons might get more benefit from.
There's a whole list of game engines here: http://html5gameengine.com/

And runtime 'eval', inserting code, or using browser tools to subvert
the game's JavaScript, is all very easy with JavaScript.

> Regarding Forth, I would like the ability to put in code during the play of the game -- like eval() in other languages -- and assume that it is possible in Forth.

Entirely possible.  Only the interface is a question.  You could have
your game in one terminal and a Forth session in another - with the
Forth session running as a thread sharing memory with the game.  You
could hit a key to open some command input, or to fall back from your
game to Forth, where you can make changes and then launch back into
it.  You could offer a full Forth programming environment or instead
offer a game-oriented vocabulary.  Or start with the game vocabulary
and have an escape hatch to Forth.

If you'd like to stick with Forth, and if terminal UIs are OK, check
out ttt.fs and sokoban.fs, as included with gforth.  Play the games.
Look at the code.

I wrote a bit about JRPG design with a Forth engine in this thread:

https://groups.google.com/d/msg/comp.lang.forth/Dw7ej3lZHCc/j6J_mdVaecYJ

Roger Levy has some Forth game stuff in his github:
https://github.com/rogerlevy


-- Julian

[toc] | [prev] | [next] | [standalone]


#51016

Fromhughaguilar96@gmail.com
Date2016-09-15 20:24 -0700
Message-ID<574479af-f982-4b14-a1a4-0c7e2c7507b7@googlegroups.com>
In reply to#51008
On Thursday, September 15, 2016 at 11:52:11 AM UTC-7, Julian Fondren wrote:
> With that said, on Windows I'd just find some engine to bind with and
> stick with that.  'The Lady' on Steam is a Forth game made with
> SwiftForth and Allegro bindings.
> ...
> Roger Levy has some Forth game stuff in his github:
> https://github.com/rogerlevy

I would not recommend that game, "The Lady," to 10 and 12 year-olds (actually, to anybody). From what I saw of the advertisement for the game, it represents the world as seen by a seriously mentally-ill person who belongs in an asylum.

https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=the%20lady%20game

I would not take advice from Julien Fondren --- he is mentally ill himself --- getting involved with people such as Julien Fondren or Roger Levy could result in mental illness for your grandkids.

[toc] | [prev] | [next] | [standalone]


#51017

FromJulian Fondren <julian.fondren@gmail.com>
Date2016-09-15 21:00 -0700
Message-ID<241889e2-90c9-4d48-9165-00ec5245d44c@googlegroups.com>
In reply to#51016
On Thursday, September 15, 2016 at 10:24:11 PM UTC-5, hughag...@gmail.com wrote:
> On Thursday, September 15, 2016 at 11:52:11 AM UTC-7, Julian Fondren wrote:
> > With that said, on Windows I'd just find some engine to bind with and
> > stick with that.  'The Lady' on Steam is a Forth game made with
> > SwiftForth and Allegro bindings.
> > ...
> > Roger Levy has some Forth game stuff in his github:
> > https://github.com/rogerlevy
> 
> I would not recommend that game, "The Lady," to 10 and 12 year-olds

Well I don't know, I was already playing Doom by this age, and I think
I came out alright (apart from the murders).

But since The Lady doesn't expose Forth in any way, and is closed
source, and as the subject matter isn't at all related to programming,
it's not relevant to this thread except as an example of a Forth game.
Which is how I presented it.


-- Julian

[toc] | [prev] | [next] | [standalone]


#51053

Fromhughaguilar96@gmail.com
Date2016-09-16 20:16 -0700
Message-ID<5b13f58d-edcf-47de-ba60-b4d270dd9e82@googlegroups.com>
In reply to#51017
On Thursday, September 15, 2016 at 9:00:30 PM UTC-7, Julian Fondren wrote:
> On Thursday, September 15, 2016 at 10:24:11 PM UTC-5, hughag...@gmail.com wrote:
> > On Thursday, September 15, 2016 at 11:52:11 AM UTC-7, Julian Fondren wrote:
> > > With that said, on Windows I'd just find some engine to bind with and
> > > stick with that.  'The Lady' on Steam is a Forth game made with
> > > SwiftForth and Allegro bindings.
> > > ...
> > > Roger Levy has some Forth game stuff in his github:
> > > https://github.com/rogerlevy
> > 
> > I would not recommend that game, "The Lady," to 10 and 12 year-olds
> 
> Well I don't know, I was already playing Doom by this age, and I think
> I came out alright (apart from the murders).
> 
> But since The Lady doesn't expose Forth in any way, and is closed
> source, and as the subject matter isn't at all related to programming,
> it's not relevant to this thread except as an example of a Forth game.
> Which is how I presented it.
> 
> -- Julian

I consider a game such as "The Lady" to be pornography. I don't think that pornography has to necessarily involve sex. Anything that promotes mental illness can be considered to be pornography. I'm especially opposed to first-person shooter games, which look a lot like training programs for mass-murderers. For most people (maybe 99%) games such as this (or watching porno videos) is just a waste of time, and it results in attention-deficit disorder. For some (maybe 1%) however, they are already on the edge of sanity, and it pushes them over into outright mental illness. Ted Bundy made this point, and I think he was right.

I would consider people such as Gavino and Julien Fondren to be in the 1% who have mental illness as the result of this kind of thing. I strongly recommend that Steve Graham not expose his grandkids to pornography --- they could turn out like Gavino or Julien --- this is chid abuse!

Roger Levy dismissed the complaint that "The Lady" is harmful by saying that he wrote the program for money, and the design came from the person paying him, and so he is not responsible. This is disingenuous. It is against the law to expose children to pornography --- the jurers are not going to be impressed by the "I was just following orders" excuse --- also, I think that most jurers would consider "The Lady" to be pornography, as this really can't be considered to be "art" at all.

In this thread,
https://groups.google.com/forum/#!topic/comp.lang.lisp/8XigMh1ujjM%5B1-25%5D
I made this point and got a typical response from Gavino:

On Saturday, June 18, 2016 at 8:47:37 PM UTC-7, endlessboo...@gmail.com wrote:
> On Saturday, June 18, 2016 at 2:48:28 PM UTC-4, hughag...@gmail.com wrote:
> > On Friday, June 17, 2016 at 5:07:54 PM UTC-7, hughag...@gmail.com wrote:
> > > Video games are effectively ritual child-abuse. The user (almost always under-age) is shown horrific images of murder and mayhem --- this is child abuse! I think video games could be banned just using our existing laws against child abuse. Also, video games could be considered to be a kind of pornography (they show violence instead of sex, but it is still pornography) --- they could be banned on the basis that showing pornography to children is illegal. All in all, video games are no good --- at best, they turn people into dysfunctional ADD victims --- at worst, they turn people into zombies who commit murder when they are triggered by a handler in the background.
> > 
> > Let me hasten to say that I don't expect Gavino to become a murderer --- he is just a big happy galoot with ADD --- he is totally harmless.
> > 
> > Also, I am primarily opposed to the first-person shooter games. The game pretty much has to be first-person for the user to become hypnotized and begin to identify with the game character as himself. When Adam Lansza shot up that school, he was most likely in a trance and not realizing that he was out in the real world shooting real people rather than just in the video game like usual.
> > 
> > There may be some video games that have a strategic aspect and which don't focus on murder or mayhem --- I wouldn't have a problem with such games --- I don't foresee myself ever playing any game other than Go however.
> 
> what commy crap is this?
> 
> video games are awesome fun
> 
> most kids who shoot things up are communists due to government school idiocy and are amped up on government pushed mind drugs from government paid counsellors and social workers
> 
> end public school
> end all mind drugs for kids
> get thier diet normallized and have them exercsie more
> get them more sleep
> de regulate housing so all can be rich

[toc] | [prev] | [next] | [standalone]


#51104

FromJulian Fondren <julian.fondren@gmail.com>
Date2016-09-19 07:01 -0700
Message-ID<f49abb84-99f6-44de-ace6-85de90bf261a@googlegroups.com>
In reply to#51008
On Thursday, September 15, 2016 at 1:52:11 PM UTC-5, Julian Fondren wrote:
> 
> If you'd like to stick with Forth, and if terminal UIs are OK, check
> out ttt.fs and sokoban.fs, as included with gforth.  Play the games.
> Look at the code.
> 
> I wrote a bit about JRPG design with a Forth engine in this thread:
> 
> https://groups.google.com/d/msg/comp.lang.forth/Dw7ej3lZHCc/j6J_mdVaecYJ
> 

Since writing that, I found and then put a few hours into a flash game
with a mostly textual UI, and simple 2d navigation.  It has
low-resolution pictures for flavor, but all the content is textual.
It's fun.

Consequently:

  area maze: market
    | [s] - [ ] - [s]         {X} - { }
    |        |                       |
    | [@] - [ ] - [ ] - { } - {I} - { }
    variable has-evidence
  
    :noname ( obj -- )
      player @ 1 = if
        cr ." This shop mostly sells T-shirts emblazoned with Hillary's giant face."
      else
        cr ." This shop mostly sells T-shirts emblazoned with anti-Trump memes."
      then ; 's' event!
    :noname ( obj -- ) drop
      has-evidence @ if
        cr ." You feel a sudden urge to commit suicide -- immediately carried out by the assassin behind you."
        cr ." You're dead!  You probably should have done more to support Hillary!" abort
      else cr ." You shiver involuntarily." then ; 'X' event!
    :noname ( obj -- ) drop
      cr ." You see a sealed letter along the path, and pick it up."
      has-evidence on
      cr ." There is a note written on the back in a thick, unsteady marker:"
      cr .\"   \"Enclosed, evidence of Hillary's many crimes.  Do not credit me!  /Harambe\""
      cr
      cr ." How strange." ; 'I' event!
  maze;


-- Julian

[toc] | [prev] | [next] | [standalone]


#51140

Fromhughaguilar96@gmail.com
Date2016-09-20 15:15 -0700
Message-ID<cd262844-27e1-4183-bbec-780fde3a0edb@googlegroups.com>
In reply to#51104
On Monday, September 19, 2016 at 7:01:04 AM UTC-7, Julian Fondren wrote:
>         cr ." You feel a sudden urge to commit suicide -- immediately carried out by the assassin behind you."
>         cr ." You're dead!  You probably should have done more to support Hillary!" abort

Julien Fondren has serious mental-illness --- I would strongly recommend against exposing 10-12 year old children to somebody like this --- all of these games that he is involved in promote mental-illness.

[toc] | [prev] | [next] | [standalone]


#51145

FromJUERGEN <epldfpga@aol.com>
Date2016-09-21 02:05 -0700
Message-ID<adb3707c-04eb-45ec-ba1e-e882468dfae8@googlegroups.com>
In reply to#51104
On Monday, September 19, 2016 at 3:01:04 PM UTC+1, Julian Fondren wrote:
> On Thursday, September 15, 2016 at 1:52:11 PM UTC-5, Julian Fondren wrote:
> > 
> > If you'd like to stick with Forth, and if terminal UIs are OK, check
> > out ttt.fs and sokoban.fs, as included with gforth.  Play the games.
> > Look at the code.
> > 
> > I wrote a bit about JRPG design with a Forth engine in this thread:
> > 
> > https://groups.google.com/d/msg/comp.lang.forth/Dw7ej3lZHCc/j6J_mdVaecYJ
> > 
> 
> Since writing that, I found and then put a few hours into a flash game
> with a mostly textual UI, and simple 2d navigation.  It has
> low-resolution pictures for flavor, but all the content is textual.
> It's fun.
> 
> Consequently:
> 
>   area maze: market
>     | [s] - [ ] - [s]         {X} - { }
>     |        |                       |
>     | [@] - [ ] - [ ] - { } - {I} - { }
>     variable has-evidence
>   
>     :noname ( obj -- )
>       player @ 1 = if
>         cr ." This shop mostly sells T-shirts emblazoned with Hillary's giant face."
>       else
>         cr ." This shop mostly sells T-shirts emblazoned with anti-Trump memes."
>       then ; 's' event!
>     :noname ( obj -- ) drop
>       has-evidence @ if
>         cr ." You feel a sudden urge to commit suicide -- immediately carried out by the assassin behind you."
>         cr ." You're dead!  You probably should have done more to support Hillary!" abort
>       else cr ." You shiver involuntarily." then ; 'X' event!
>     :noname ( obj -- ) drop
>       cr ." You see a sealed letter along the path, and pick it up."
>       has-evidence on
>       cr ." There is a note written on the back in a thick, unsteady marker:"
>       cr .\"   \"Enclosed, evidence of Hillary's many crimes.  Do not credit me!  /Harambe\""
>       cr
>       cr ." How strange." ; 'I' event!
>   maze;
> 
> 
> -- Julian

I threw it at VFX with the following result:

 area maze: market 
Err# -13 ERR: Undefined word.
 ->  area maze: market
         ^
    | [s] - [ ] - [s]         {X} - { } 
Err# -13 ERR: Undefined word.
 ->     | [s] - [ ] - [s]         {X} - { }
         ^
    |        |                       | 
Err# -13 ERR: Undefined word.
 ->     |        |                       |
         ^
    | [@] - [ ] - [ ] - { } - {I} - { } 
Err# -13 ERR: Undefined word.
 ->     | [@] - [ ] - [ ] - { } - {I} - { }
         ^
    variable has-evidence  ok
   ok
    :noname ( obj -- ) 
      player @ 1 = if 
Err# -13 ERR: Undefined word.
 ->       player @ 1 = if
                ^
        cr ." This shop mostly sells T-shirts emblazoned with Hillary's giant face." 
This shop mostly sells T-shirts emblazoned with Hillary's giant face. ok
      else 
Err# -14 ERR: Attempt to interpret a compile only definition.
 ->       else
             ^
        cr ." This shop mostly sells T-shirts emblazoned with anti-Trump memes." 
This shop mostly sells T-shirts emblazoned with anti-Trump memes. ok
      then ; 's' event! 
Err# -14 ERR: Attempt to interpret a compile only definition.
 ->       then ; 's' event!
              ^
    :noname ( obj -- ) drop 
      has-evidence @ if 
        cr ." You feel a sudden urge to commit suicide -- immediately carried out by the assassin behind you." 
        cr ." You're dead!  You probably should have done more to support Hillary!" abort 
      else cr ." You shiver involuntarily." then ; 'X' event! 
Err# -307 OPT: Short branch out of range in optimiser.
 ->       else cr ." You shiver involuntarily." then ; 'X' event!
              ^
    :noname ( obj -- ) drop 
      cr ." You see a sealed letter along the path, and pick it up." 
      has-evidence on 
      cr ." There is a note written on the back in a thick, unsteady marker:" 
      cr .\"   \"Enclosed, evidence of Hillary's many crimes.  Do not credit me!  /Harambe\"" 
      cr 
      cr ." How strange." ; 'I' event! 
Err# -13 ERR: Undefined word.
 ->       cr ." How strange." ; 'I' event!
                                         ^
  maze; 
Err# -13 ERR: Undefined word.
 ->   maze;
          ^
any comments?

[toc] | [prev] | [next] | [standalone]


#51146

FromJulian Fondren <julian.fondren@gmail.com>
Date2016-09-21 02:36 -0700
Message-ID<db43475c-babc-4866-bae3-476f59c717f2@googlegroups.com>
In reply to#51145
On Wednesday, September 21, 2016 at 4:05:24 AM UTC-5, JUERGEN wrote:

>           ^
> any comments?

It's incomplete.  That's just the 'interesting' code, which defines
a little maze with a few events.  I can show the rest, for a runnable 
example, in about five hours.  It works on VFX after you load 
Anton's objects.fs


-- Julian

[toc] | [prev] | [next] | [standalone]


Page 2 of 3 — ← Prev page 1 [2] 3  Next page →

Back to top | Article view | comp.lang.forth


csiph-web