{{htmlmetatags>metatag-robots=()
metatag-title=(Retro Game Makers with ugBASIC!)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(An useful guide to the secrets of videogame programming using ugBASIC)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(Game Makers with ugBASIC!)
metatag-og:description=(An useful guide to the secrets of videogame programming using ugBASIC)
}}
====== Retro Game Makers with ugBASIC! ======
===== Introduction =====
A journey of a thousand miles begins with the first step. Could you deny it? You are trying to write a (retro)computer game, and you realize for yourself that it is a long way to go, along which it is all too easy to fall "face forward" before you have really started. Wouldn't it be better if someone accompanied you on your way? Here, now you can grasp what the purpose of this guide. **I advice you as soon as possibile**: I cannot solve all your problems, but I will try to anticipate those pitfalls that can easily meet your path.
===== The advantage of using ugBASIC =====
With the advent of ugBASIC, the creation of (retro) games is finally within the reach of even the most inexperienced programmer. Forget the machine code! Forget weird contortions to get an executable! Forget about debugging nights, or abstruse syntaxes: ugBASIC provides everything you need to produce games on many retrocomputers.
This is the complete list:
* ATARI 400/800 “.xex” (**atari**);
* ATARI XL / XE “.xex” (**atarixl**);
* Commodore 64 “.prg” (**c64**);
* Commodore VIC-20 “.prg” (**vic20**);
* Commodore PLUS / 4 .prg "(**plus4**);
* Dragon 32 ".bin" (**d32**);
* Dragon 64 ".bin" (**d64**);
* Olivetti Prodest PC 128 “.k7” (**pc128op**);
* Thomson MO6 U series “.k7” (**pc128op**);
* Thomson MO6 V series “.k7” (**pc128op**);
* Thomson MO6 series W “.k7” (**pc128op**);
* Thomson MO5 v1.0 “.k7” (**mo5**);
* Thomson MO5 v1.2 “.k7” (**mo5**);
* Thomson MO5 QW “.k7” (**mo5**);
* Thomson MO5E “.k7” (**mo5**);
* Thomson MO5E DE “.k7” (**mo5**);
* Thomson MO5N “.k7” (**mo5**);
* Thomson MO5NR “.k7” (**mo5**);
* ZX Spectrum 48K “.tap” (**zx**).
The only ones to become a video game programmer are a general understanding of the BASIC programming language, a little imagination, and most importantly, a little hard work. That's all!
Throughout these pages, I will present a detailed guide to creating software of various types, from an ultra-fast arcade game to a text-based adventure. Make yourself comfortable as it will be a long journey, although I will try to make sure you can see many interesting places along the way.
===== Sections of the guides =====
==== Introduction ====
* [[ugbasic:user:guide:introduction:graphics|(Soft) introduction to ugBASIC graphics]]
* [[ugbasic:user:guide:introduction:graphics2|Let's deepen the ugBASIC's graphic commands]]
* [[ugbasic:user:guide:introduction:screens|Choosing the right "screen mode"]]