Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Jubatian

Pages: 1 [2] 3
16
Games / The Cheetaan Legacy project
« on: May 04, 2014, 02:05:00 PM »
The Cheetaan, and as game idea the Cheetaan Legacy is what primarily resulted in the birth of RRPGE. This is a rather huge idea which I plan to accomplish, probably with several years of work (I mean the coding and art-crafting, a lot of story and other material born already in the past decade).



You wake up on a wreck of bed thrown on some rusted ship, navigated by a woman in a tattered uniform. The brain is dim, the world is dim, you remember, and not, all like some dream, a not so good dream. How on the Earth you got to get there where some water pump is continuously humming, struggling with the sludge entering everywhere in that jig of hull? And... What? You fall down from the bed, to realize you see fur, and no hands. A feral, a four legged beast, you are. Why? You are sure you were supposed to be... Just what? Definitely not this. The woman. That. A human, not some animal. But how? The body feels like yours, the mind defies it. Visions go and pass, just as the wreck chugs itself nearer and nearer... To some hell of place. Skeletons, steel golems of rusted buildings scrape the skies, skies of smoke and dust of no hopes. Here, the captain yells, on to the boat, and in moments you find yourselves, or at least your supposed nurse rowing towards in the canopy of smog arching between those unwelcoming giants. Minutes later you barely see the old vessel turning to point upwards by the bow, a last reach towards the sky before she goes down to rest for an eternity. There is no turning back wherever you came from. The horizon? People by the shore, sludge and dirt, the vision of a market opens up, the square of trade where poverty exchanges from all the region. Welcome to the world of adventures!


So that's how it may start up: a computer roleplaying game in a strange futuristic world. Of course there is a lot more on it, I even posted it on places around, but the game would be the most interesting if it was truly explored.

(By the way this bright theme sure has to die a horrible death. Even more encouraging me to stand up and get a proper theme done)

17
Announcements / Going more generic, and a revised license
« on: May 04, 2014, 01:36:39 PM »
In the past month I was exploring mostly the graphics features of the system, designing engines, game ideas, and by this certain things occurred to me, which direction is getting realized with the current updates.
  • First the most important is that not only games, tools also could suffer from bit-rot, and may be desirable to be built on RRPGE (and not with some host-specific messing, especially if that messing would require reproducing features of RRPGE). So to get these possible, the system undergone changes to become more computer-like than console.
  • Currently the changes covered parts which were not implemented yet anyway (the input and the file system interface). These were the major problems, but meanwhile smaller things (like supporting changes between 4 bit and 8 bit modes) also occurred on my TODO list. Next updates will cover these alongside fixing up the current prototype emulator.
  • The audio system will encounter some changes: the Mixer will stay as-is, but an interface providing more freedom will be realized (the hows are already settled, implementing this into the specification and the emulator needs work), which will also narrow the host interface slightly (which is good). The changes will give more freedom to designing timing sensitive graphics engines.
  • I am also thinking about giving the system a console or logging support. Maybe I will rather discard this at the end as non-critical.
The RRPGE License also undergone some changes. These are rather only clarifications, to give a more definitive meaning to certain cases (primarily about Creative Commons licenses), but as an other goal I also restricted the rights gained with the RRPGE Developer Agreement. It is just not right to let that offer a huge gaping hole in the thing, no matter whether the Agreement is under my control or not.

With the changes a larger plan also starts to form: It is a necessity to build an user-friendly maker for the system to make it useful to the general public. This maker will be done within RRPGE. I would attempt to make it in a generic way in that respect that it should support outputting intermediate results (such as sprite sheets, mapping and such) so it stays useful for assembly programming as well. It is also easier and more motivating to work on it this way (that I can also use it in my projects such as Cheetaan Legacy as well).

18
Specification / Additional hardware details
« on: April 23, 2014, 03:34:18 PM »
The specification only defines the upper layers of the RRPGE system, the parts necessary to make it appearing consistent for the user (the application developer).

Although I am not a hardware engineer, I do have some insight to these matters. The specifications did not came from thin-air, I actually sketched up some internal concepts of the system, such as how the CPU's pipeline may be composed. To put it short, these exist, I just had no time yet to add them to the appropriate supplementary section of the RRPGE specification.

Of course later I will do. It would be interesting how the system actually fared in hardware, which probably may be explored later with the help of VHDL and an FPGA. Of course it is a quite large job to get there, something which certainly won't be done by me.

19
Current status / System status, 2014.04.23
« on: April 23, 2014, 03:17:31 PM »
So what got locked, what may still change?

  • The RRPGE CPU is likely settled. It was completed long before the public alpha opening, and no changes were necessary ever since.
  • The Graphics Accelerator's functionalities are likely mostly complete, however while designing some experimental graphics engines, I am still applying minor tweaks on it, changing the interface from times to times. Major changes are very unlikely.
  • The Mixer is something I think complete, it is rather simple and functional. However I have no proficiency in music, so I can't know for sure. If you are interested, experiment and feed back.
  • The constant and initialization data is likely complete, but minor tweaks in the RRPGE Incremental palette's first 32 colours may happen, and the colours including and above index 64 might be drastically shuffled around.
  • Parts which currently have no completed implementation in the RRPGE Minimal library are still work in progress, most notably the input interface.

If interested, just ask here. Locking one or another part of the RRPGE specification may be brought forth or delayed depending on interest: mostly there are no cross dependencies, so if interested in a part, just note, and I may shift work towards completing that.

The general plan now is working on game mockups which will settle the graphics subsystem, and later the input system. As I feel necessary I might bring forth matters regarding filesystem I/O (to produce tools), so that part might also be nearer, but likely after the input devices.

20
Announcements / Changed to Simple Machines forum
« on: April 23, 2014, 03:01:37 PM »
I changed over to Simple Machines forum. Well, alpha stage, everything is possible.

The problem with Vanilla was a flood of spam which I couldn't manage to work around in any way leaving the registration (even with admin approval) open. A severe deficiency of that system I think is that no matter which way registration works, the user profiles are accessible for editing, and these edits even show in the Activity tab. Requiring e-mail verification even made matters worse (the spambots then even could get over not even showing for approval, making even more cumbersome deleting these floods of users). Based on the access logs I got to see those bots "check" the profiles and the Activity tab (probably to verify their actions are visible).

Hopefully now things will straighten out. As of now it looks like without approval no content can be added to the forum, so at least even if the flood continues, at least it is only going to bother me as admin.

If it was time to change, I also did some re-organizing, hopefully making the layout of the forum more user-friendly.

21
Announcements / RRPGE goes live!
« on: April 01, 2014, 09:42:42 AM »
So that's it, this very day, after a long journey I pressed the big red "Publish" button on the project.

In the last weeks there were many new things to work myself around, such as I never ever used a version control system before, and now, here comes Git. My knowledge on web technologies also faded more or less away, so it was and is a chore to get everything in line here, new things to learn all around.

So please be patient until I organize myself. I can't imagine what kind of reception this project will encounter, but due to it's sheer size alone, even with minimal reception I might easily tip over. There are many things to settle, many things to learn and re-learn, and now I also have to figure out the effective means of managing the thing with the involvement of the public.

But hopefully things will get along all right, and the dragon may rise to the skies!

22
Licensing model / The enforceability of the RRPGE model
« on: April 23, 2014, 02:47:54 PM »
It may be interesting whether this mess of licenses are actually enforceable in this form.

My conclusion is that although not very strongly, but yes. If for nothing else, the RRPGE specification contains a set of important data which, if used (by implementations, by applications), will clearly enforce the licensing terms. Otherwise as of now there is no other implementation than mine, covered by the RRPGE License. The relation between the emulator and applications can be understood as a relation between a library and the users of the library on which term GPL is also in effect.

Of course these relations are not exactly strong, they are even risky if someone with a strong support would try to circumvent them. To make things more robust, three additional measures may be relied upon:

  • The correct use of the RRPGE Logo (currently under trademark registration). No dragon, it is not RRPGE, get lost.
  • The use of the RRPGE License. This license applied on RRPGE applications and code fragments will keep those for us to use.
  • Walled garden products may not allow for a generic RRPGE host. Be first, and be the best in providing a compile-together (the application and a specialized host) solution for those, of course under the RRPGE License.

For the future however I plan a fallback if it is necessary to keep RRPGE consistent. This would mean by owning the copyright for those murky sections of the RRPGE specification which weakly enforce this trail of licensing, I might lift the strong copyleft on those, but only those parts by issuing them separately for example under Lesser GPL. The specification itself of course remains as-is, under the RRPGE License. But until this will really be necessary, I would left it this way to give us at least a head-start.

23
Licensing model / The RRPGE License
« on: April 23, 2014, 02:46:01 PM »
The intentions and goals of the RRPGE License

The RRPGE License is meant to be used on all critical RRPGE components, and also optionally on any other related project.

The license is crafted as an extension to version 3 of General Public License, as allowed by that license (in section 7). The purposes of this decision are as follows:
  • To have it GPL compatible, so the open source world can interface and use it without hassle. For this purpose it also includes some additional permissions so it can be relicensed and so combined in most GPL packages.
  • To base the license on a well established strong copyleft. This ensures that the RRPGE system stays free.
  • The path for making more or less closed RRPGE applications is crafted in this license as a permissive extension. This way no alternative licenses are required, so neither copyright assignment is necessary to make those possible later.
  • Since no copyright assignment is necessary, everyone contributing to RRPGE will "own" part of it. This makes the free state of the system more robust as there is no single person who could change the license to proprietary.

Plans and work on the RRPGE license may be followed here.

24
Important (2014.10.19)! This topic is obsolete as new license plans don't involve the necessity of a Developer Agreement. For those interested it may be worth reading though, to see some intentions on how I planned the operation of the RRPGE ecosystem.



So what will be the RRPGE Developer Agreement?

The licensing model of RRPGE is based on GNU General Public License, version 3, also allowing GPL version 2 projects. The license truly is an extension to GPLv3 as allowed by that license, most notably allowing you to use everything as if it was licensed under Lesser GPL if you accept the Agreement. So basically you either produce free software or accept it to get the right to go more or less closed.

First: Why the closed path?

So why even allow closed (as in non-GPL) projects? It is simple. Open source won't normally feed you, and if you do some serious work of art, you should have the right to sell it if you want. The problem with software is that in one aspect it is art, in an another, it is just a bunch of tools and industry. The tools should be open, given to everyone, so they can make art with it. Art, however may well belong to the author.

Here using the Agreement I aim to realize a model where the tools are open, but you can use them to make, and possibly even sell art.

The basic intended goals of the Agreement

  • To give you the rights to use the works in your (closed) art we produce under the RRPGE license (this is how I call the extension set to GPLv3 the project uses). The more such works we have, the better.
  • To eliminate the software patent system's effects as best as possible. Those who accept the Agreement would be required to open up their patent portfolio (if any) so everyone can use them. Patents have no place here, let's have a healthy competition.
  • You as developer also has responsibilities. The Agreement will be set up so once something is made, preferably it can not be unmade. History shall be preserved for everyone's good.
  • The Agreement will also require a share of sales, for those who get to be able to sell their works. More on this below. (Depending on how things proceed later, this part may be dropped, replaced with a voluntary model)

The preservation of history

I plan to craft the Agreement so it can automatically enforce the preservation of history in a legal manner. This will likely involve constraints on how applications may be sold, most likely requiring them to be distributed through a central application store (the share of sales probably also makes this necessary).

To avoid leaving abandoned software in a murky legal situation, and to make it preferably impossible to "unmake" an application, the Agreement may require passing over distribution rights under the most restricted (CC BY-NC-ND) Creative Commons license to me (by this I mean any organization what later preferably will be founded for working on RRPGE), which rights may be exercised under well-defined circumstances (like one year after the termination of the Agreement for any reason, or one year after the author became unreachable, or something along the lines of this).

The use of the shares

Well, I definitely would have a humble little home on a nice little tropical island with sea view from all four towers, having a pool in the middle would also be nice. Eh, nothing like that (although it would be nice if I once could move out from these mouldy lodgings...).

These shares could be employed for many things making both RRPGE and any systems around it better. Such as:

  • Funding porting RRPGE to many more devices, so your games and applications can reach more people.
  • Supporting the development of tools, probably even simple no-programming-required game crafting IDEs, so they can be realized, and stay GPL, free for all who want to start making games.
  • Creating better sites, providing hosting for your games, probably even servers for use with the networking features of RRPGE.
  • Supporting those tools which help and helped RRPGE becoming a reality. So we can make the open software community a bit stronger, in turn making you have more or better free tools and environments to help with your art.
  • Since RRPGE has little system requirements, it is viable to spread it even in lesser developed countries. This is nice for a passive support, but with the money, we could probably even get more active with these goals as well.

So it definitely has a good place, it won't just go down the drain. With this concept those who succeed will indirectly not only help newcomers to their success, but also raise their own potential.

Note that depending on how things proceed in the farther future, I am open to replace the requirement of shares with a seperate voluntary model (it may even be necessary if later a non-profit organization should be established over RRPGE).

Roughly these are the ideas behind the Agreement.

25
Licensing details / Acceptable licenses for applications
« on: April 23, 2014, 02:36:51 PM »
What license should I use for my application?

Currently RRPGE progresses under the Temporary RRPGE License (see this topic for details). With this license, you have the following options:

  • Use GPL version 2 or GPL version 3 for your project. If you want to work by this established solution for free software, it is fine.
  • Use the Temporary RRPGE License. This license contains a clause for allowing to upgrade later to the finalized version of it, with it, you can make it clear you want to work by this path.
  • Other licenses are not really possible now, but later (after finalizing the RRPGE license), they may be.

If you don't want to release under GPL's variants, check out the plans on RRPGE License version 3. While currently it won't help you a lot, you may feed back, and make it possible to finalize the RRPGE License allowing other licenses.

At the time of writing, the published binaries are still derived from a version licensed under version 2 of the RRPGE License. While this allows other licenses than GPL, it is discouraged to utilize that, since that RRPGE version will soon be obsoleted.

26
Minimal library & Host / Design goals of the library
« on: April 23, 2014, 02:29:13 PM »
The RRPGE Minimal library aims to meet the following goals:

  • Minimal in the term that it aims for emulating the slowest RRPGE system allowed by the specification. This means that an application working all right on this emulator will likely work right on other implementations, too.
  • Minimal in the term that it takes the least amount of resources as reasonably possible meeting the library's other goals.
  • Freestanding. It does not even rely on the standard C library. This way the library may be used anywhere where a C compiler is available.

These goals ensure the greatest utility of this library: It is good for application developers since it reproduces the specification reasonably well. It is good for users since it will likely work even on their old junk, provided that the host is also reasonably well written. It is good for host developer, that is people who want to port RRPGE to some device: it only needs a minimal environment to start working.

The latter may even be interesting for embedded targets or authors of hobbyist operating systems: the RRPGE system's basic features may be brought up with relatively little effort, so things may start to get interesting very soon.

27
Minimal library & Host / Minimal system requirements
« on: April 23, 2014, 02:27:14 PM »
The minimal system requirements of the library as of now.

I did some tests on an old Pentium MMX 233MHz (that's a "high end" P1) with the CPU part. When pumping instructions at peak rate (that is not calling the kernel's delay function or stalling RRPGE otherwise) barely, but the system could budge. Meanwhile by the design of course a single display layer was continuously rendered, but not displayed.

By this experiment I am pretty sure that with some polishing and using plain VGA output (so the least amount of slow Video RAM transfers are required) this system will be capable to run RRPGE reasonably well. So that's about the extreme minimum as currently visible.

(Later with x86 assembly tweaking it may be pumped up if such special need ever arises: there are possibilities for creative assembly which could help the emulator greatly)

28
Specification / Works on the specification, 16th April, 2014
« on: April 16, 2014, 02:10:25 PM »
While I am experimenting with the 2D capabilities of the system creating some generic graphics libraries to pave the path for some initial game mock ups, I also got to outline some new concepts which will be introduced in the next version of the specification.

  • Probably the most important is console support, which is one of the major features necessary to make RRPGE capable of producing simple tools (so people interested in the system don't need to create platform-specific tools for themselves unless they want), and will greatly help debugging with implementations not having any specific debug support (which will likely stay this way for long).
  • The file system interface (except the application binary load feature) will change to support arbitrary file load / save from a pool provided by the host. This is also quite important for designing tools (and probably even simple game editors within RRPGE itself). With this the nonvolatile save feature will pass away, which also means an update to the RRPGE license (it refers to the NV saves), so in overall the system is going to become simpler with the change.
  • The controller interface undergoes some major changes streamlining the component, also making it capable to interface a keyboard properly. This again helps a lot in directing RRPGE towards becoming an old style computer rather than a game console, helping the design of tools.
  • Minor tweaks on the RRPGE Incremental palette as I experiment with game designs.

In overall major changes are in my TODO pool, but ones which likely make the system even simpler and way more powerful. The primary realization driving me towards this path is that to actually get games complete, one needs tools. Tools face the same problems on today's technologies like games, probably even more if one just hacks them together. They may easily bit rot away long before one wouldn't need it any more encumbering actual game development. Then just why not make these possible as well, if the support for these is just within reach?

29
Specification / Expanding the specification
« on: April 23, 2014, 02:23:41 PM »
The specification although is fairly complete by functionality (it is an another matter how various functionalities are implemented, currently a lot on this field is still work in progress), it might call for some expansions later.

Some guides for this matter are here, representing my intentions with the system:

  • First and most important: No extension shall get through which could make viruses possible. That is applications shall have no means for affecting other applications or parts of the system except when explicitly allowed by the user. Some compromises may be made, but in overall the system should operate with full functionality even if the offending features are restricted.
  • No complex algorithms: an RRPGE implementation should remain small and simple, that's one of the greatest benefits of this system.
  • No convenience features (kernel calls) except if there is a very good reason to have them. The user library later however may provide such.
  • In general the extension must serve a reasonable purpose. Either something needed by most applications, or something without which something is simply impossible (mostly I think about certain types of input devices here).

Developer convenience issues will be addressed by a later developed User Library, some rough concepts on this may be read here. I have a good set of functionality already in my mind, but first some planning and architecture design is obviously necessary.

Regarding viruses the only possibility built into the RRPGE system to realize such is the File I/O interface. It is however designed in a manner that the application can indicate what type of file I/O it requires to operate, so normally the host may appropriately constrain it (or may even provide such an abstraction which does not even map to the real file system of the host).

30
Organization / Basic principles of the organization
« on: April 23, 2014, 02:16:45 PM »
Founding an organization for RRPGE is still a long way to go, however the intentions with it are here to be clear.

The roles of the organization would be roughly the followings:

  • Maintaining the RRPGE specification, standardizing the broader environment, so raising the interoperability of RRPGE implementations.
  • Developing software to support RRPGE: libraries, hosts (emulators), and tools (such as from assemblers to high level game makers).
  • Developing hardware solutions (if ever).
  • Providing web surfaces for publishing RRPGE applications, such as an RRPGE application store.
  • Supporting third-party RRPGE related projects (including general open source), and RRPGE application development.
  • If such need should ever arise, to take legal actions against violators.

The construction of it should be brought up according to the non-profit principles, with meeting all the financial and organizational transparency requirements a proper non-profit organization meets. To determine what would be the best will need (probably a lot) further research, something I am unlikely to be able to do (due to my lack of knowledge and experience on these fields).

Pages: 1 [2] 3