PixelPerfectEngine v0.11.0-alpha release

2024-01-20 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.11.0-alpha

Two major changes are:

1) Implementation of the M2 format. Due to the lack of any proper 
MIDI2.0 formats, I decided to implement my own, and also added 
some additional function which allows it to be used for adaptive 
soundtracks via scripting. Sometimes I call it a "Turing-complete 
MIDI file" as a joke. Some functions are missing, such as most of 
the macros that would allow it to function as a de-facto 
high-level scripting language, with a syntax similar to Lua, 
alongside with a lot of assembly-like instructions.


2) Removal of the Lua scripting engine. It had hard-to-debug 
errors, issues I resolved previously reappearing even though the 
fix were still in place, etc. It'll be replaced with something 
better, likely a VM that will allow it to execute scripts written 
in various languages. I'd prefer to use a preexiting VM, with 
QScript's VM being a potential candidate, especially since I have 
other things to work on. M2 technically has a VM, and reusing the 
experiences with it would be useful for implementing my own, but 
I have limited time and other more important features to 
implement.


The final 0.11.0 version will have:
* A better file dialog (a major headache inducing bug were 
already fixed).

* Resizable windows.
* Resampling to higher sample rates.
* Better path handling (currently it's very fragile, and tries to 
look for assets in whatever folder the user runs the engine from).

* Logging.
* I'll try to replace SDL with my own solution, iota. It already 
has some preliminary x11 support, legacy Windows IO works, but 
it's really hard to look up stuff, and many instead suggest 
people to use either some bloated libraries that feature stuff 
even the C standard library has, and/or has a very legacy-style 
input/output handling (DirectInput and not rarely DirectAudio use 
instead of their more modern counterparts, etc). SDL has a lot of 
issues with documentation, bloat, etc.
* I'll also try to finally get the file compression for assets 
working. I created the format DataPak, with has some tricks to 
both speed up and lower the size compared to other solutions, by 
using the dictionary compression mode of ZStandard (requires the 
use of uncompressed bitmaps: compressing PNGs would be really 
slow and ineffective, since they're already compressed with the 
older ZLib algorithm).


PixelPerfectEngine-0.10.0-beta.7 released

2022-12-10 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.7

This version is okay for production, even if certain 
functionalities are either untested or unimplemented. For the 
next version, I'll finish as much of them as possible, as well as 
try to deprecate SDL2 in favor of my own, D language native 
solution, iota.


Re: Release of iota 0.3.0-alpha done

2022-11-17 Thread solidstate1991 via Digitalmars-d-announce

On Monday, 14 November 2022 at 22:55:56 UTC, ikelaiah wrote:


Thanks and congrats for the latest alpha release.
How can I donate to this project?

-Ikel


Monetary (recurring): https://www.patreon.com/ShapeshiftingLizard

Monetary (one time): https://ko-fi.com/shapeshiftinglizard

Alternatively, you can donate your own work, either working on 
implementing features, or even by reporting bugs.


Release of iota 0.3.0-alpha done

2022-11-12 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/iota/releases/tag/v0.3.0-alpha

Intended as a D language native replacement for SDL/SFML/GLFW, 
now is starting to become a minimum viable alternative.


Now it can support input polling and some windowing under 
Windows. OpenGL framebuffer support started but not yet completed 
(only applicable if your application don't already has one), and 
Linux support for these haven't yet started.


Also I would appreciate some help, especially with Mac (and maybe 
mobile) support.


Re: Initial release of newxml done!

2022-09-11 Thread solidstate1991 via Digitalmars-d-announce

On Sunday, 11 September 2022 at 07:13:18 UTC, WebFreak001 wrote:


awesome! got some documentation or examples anywhere? Can't 
really seem to find how to use it really, but will definitely 
be useful when I do stuff with xml.


Documentation is a work in progress. I'll try to make some 
examples with it (especially since I was also in need of an XML 
library), until then the best I can say is that if you only need 
DOM, then just use the example in the readme file to generate the 
document, and rely on the official DOM documentations since it's 
pretty much the same thing. I'll be slowly going through the code 
to improve readability and stuff, which will also mean I'm going 
to add range capabilities and such where it doesn't exist.


Re: Initial release of newxml done!

2022-09-10 Thread solidstate1991 via Digitalmars-d-announce

On Friday, 9 September 2022 at 22:00:42 UTC, solidstate1991 wrote:

https://github.com/ZILtoid1991/newxml/releases/tag/v0.2.0

It's a heavily modified `std.experimental.xml` with the 
following changes:


* Many templating have been removed in favor of other forms of 
setting. This means the allocators have been axed in favor of 
using `new` and relying on D's automatic garbage collection.
* Has a proper DOMString implementation. This might make a few 
things a bit slower, but also simplified things.
* Has way more error handling than the original, and at parsing 
time (More will be added down the line).

* And of course, it's being actively developed.

DOM compatibility means that anyone who worked with any other 
DOM implementation (C++, Java, Python, JS, etc.) will be 
immediately familiar with it. For SAX, I went after my own 
head, and before 1.0, I can still change it if I need based on 
user feedback. I might also port `legacy.d` for those who used 
to use the old `std.xml` implementation.


Just found an error. It crashes the LDC2 compiler while compiling 
just fine under DMD, likely a compiler bug.


Initial release of newxml done!

2022-09-09 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/newxml/releases/tag/v0.2.0

It's a heavily modified `std.experimental.xml` with the following 
changes:


* Many templating have been removed in favor of other forms of 
setting. This means the allocators have been axed in favor of 
using `new` and relying on D's automatic garbage collection.
* Has a proper DOMString implementation. This might make a few 
things a bit slower, but also simplified things.
* Has way more error handling than the original, and at parsing 
time (More will be added down the line).

* And of course, it's being actively developed.

DOM compatibility means that anyone who worked with any other DOM 
implementation (C++, Java, Python, JS, etc.) will be immediately 
familiar with it. For SAX, I went after my own head, and before 
1.0, I can still change it if I need based on user feedback. I 
might also port `legacy.d` for those who used to use the old 
`std.xml` implementation.


Re: A New Game Written in D

2022-05-18 Thread solidstate1991 via Digitalmars-d-announce

On Tuesday, 17 May 2022 at 16:36:34 UTC, Kenny Shields wrote:

Hello,

I've been building a game engine in D for the past 2 and a half 
years and have finally reached a point where it's usable in 
day-to-day game development. Earlier this year I decided to 
make a simple shooter game to serve as a tech demo for the 
engine's capabilities, and also just to get a general idea of 
how well it works when used in a real application. I did an 
initial release of the game yesterday on itch.io, you can find 
more information on the product page if you are interested: 
https://kenny-shields.itch.io/untitled-shooter-game


This isn't an open-source project, but I wanted to post this 
here for anyone who might be interested in seeing D used for 
cross-platform game development. Any questions/comments about 
the implementation and design of the game/engine are welcome.


On a side note, I'd like to give special thanks to Walter and 
all of you who who contribute to D to make it what it is today. 
D is a fantastic language and really can't see myself using 
anything else for development at this point. Also, shout-out to 
the LDC developers as well, really great compiler.


It's pretty cool, however I can suggest you to improve the 
controls. It's pretty easy to get struck on walls, character can 
only go forward (or there's something really wrong on my end), 
menus are a bit confusing, etc.


I'm also a game developer, working on an engine 
(PixelPerfectEngine) and a lot of open-source libraries intended 
for game and app development (latest is iota, a D language native 
input-output handling library, currently stuck with window 
management). I'm also working on my first game, although a lot of 
my time and energy getting wasted on an underpaid day-job.


Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-25 Thread solidstate1991 via Digitalmars-d-announce

On Thursday, 24 February 2022 at 17:36:49 UTC, Salih Dincer wrote:
On Thursday, 24 February 2022 at 13:15:50 UTC, Salih Dincer 
wrote:

Is there anything I can do for this problem?



I solved it using the following commands having two parts:

* sudo apt-get -y install libasound2-dev
* dub build :windowmakerforconcrete --compiler=ldc2 --force


`:test1` will give you access to the synth's tester app 
(currently have a very limited set of features only). Also you 
might want to check out my editor for the engine, called 
"PixelPerfectEditor".


PixelPerfectEngine v0.10.0-beta.5 : Now with a synth

2022-02-23 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.5

After I created my own IO library that has audio features that 
are easier to interoperate with D code (iota), I decided to 
finish up my phase modulation (often sold as either frequency 
modulation or phase distortion too by some brands, with minor 
tweaks to the underlying math to avoid patent infringement) 
synthesizer for my game engine. This one uses a simplified math 
with fixed-length wavetables (can be user supplied too), highly 
configurable envelops, and has up to 16 voice polyphony if 2 
operator mode is used for all channels (8 if channels are 
combined). It can even do resonant waveforms with some tricks 
(modulating a sine wave with a triangle wave).


Why write a synth when you can just play MP3 and WAV files?

1) The very same teacher whose class I made the original (and 
very bad) version of the engine for just suggested this to me at 
the time.
2) Seemed like an easy undertaking, and in some ways it was, 
except for the fact I needed to work on multiple things too. 
Hardest was the finetuning of the math with this kind of language.
3) This way, adaptive soundtracks are easier to do if I or 
someone else using this engine decides so.


Future plans include more testing and fixing + implementing 
functions I didn't have time for, and porting it to VST too as I 
don't have the capacity to write a fully-featured DAW (someone 
maybe?) with a real polyphonic mode instead of the current 
1-voice-per-channel solution. Maybe I'll even create a more 
upmarket version that is better suited for musicians if there's 
demand.


Also I'm yet again looking for team members on a gamedev team, 
but now I have some experience and I plan to "go commercial" with 
a coop later on.


First release of the iota library have been released (also looking for contributors)

2021-12-21 Thread solidstate1991 via Digitalmars-d-announce
iota, an I/O library that currently only has audio stream support 
under Windows has been finished.


The library itself can be seen as a partial, D language native 
replacement of SDL, SFML, and other similar libraries. I begun 
writing it after I got dissatisfied with SDL and libsoundio, then 
Adam D Ruppe saying it's actually quite easy to write your own 
audio library. I mostly did it under one week (except for the 
time I've been waiting my commit on an already existing WASAPI 
library to be accepted, and instead I had to just put it into my 
code).


I'm also looking for contributors, as it would be nice to add 
other OSes, APIs, etc, but my capacity is quite limited, and I 
don't have access to a Mac, some hardware, etc.


https://github.com/ZILtoid1991/iota


Re: PixelPerfectEngine v0.10.0-beta.1 release + looking for a team

2021-05-31 Thread solidstate1991 via Digitalmars-d-announce

On Tuesday, 18 May 2021 at 09:19:30 UTC, Anton Pastukhov wrote:

Does it have a website/docs? Are there any demo games?


There's a few demo games in the works, but first I have to fix 
bugs in the editor.


For docs, see the source. Except for stuff I forgot to document 
for a quite long time, it should be quite well documented. 
There's also a few .md files there, such as on the mapformat, and 
I might make a user manual most likely in .md files (I suck at 
HTML, and even more at HTML5). Maybe I should bring a USB 
keyboard to work for my phone, so I can do it there.


PixelPerfectEngine v0.10.0-beta.1 release + looking for a team

2021-05-16 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.1

https://ziltoid1991.itch.io/pixelperfecteditor

The new release contains the refactored and cleaned-up GUI 
subsystem, a new input subsystem, more composing functions, etc.


Also, since I got a full-time job, I have limited time to work on 
my software development projects, especially my engine, which 
grew pretty complex. I would like to have a few testers at least. 
I cannot provide any financial compensation, however I do plan to 
take game development in D to the next level (most likely this 
very same engine), so I might count you into my project. I also 
looking for other kind of creatives, mainly pixel artists, but I 
guess this is not the place for that.


PixelPerfectEngine v0.10.0-beta released - editor is also now on itch.io

2020-09-26 Thread solidstate1991 via Digitalmars-d-announce

https://ziltoid1991.itch.io/pixelperfecteditor

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta

My next goal will be refactoring the GUI subsystem (with 
hopefully fixing many rendering bugs), then add even more 
features to the editor/engine.


Re: Post: Why no one is using your D library

2020-07-02 Thread solidstate1991 via Digitalmars-d-announce

On Thursday, 2 July 2020 at 14:56:09 UTC, aberba wrote:

Why no one is using your D library

So I decided to write a little something special. Its my love 
letter to D folks.


https://aberba.vercel.app/2020/why-no-one-is-using-your-d-library/


Thanks, I'll try to write better documentation for my packages, 
maybe even rename my "bindbc" stuff so Mike Parker won't get 
harassed for my own stuff (bindbc-zstandard and bindbc-jsl).


Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread solidstate1991 via Digitalmars-d-announce

On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote:

The subject says it all.

If you care about memory safety, I recommending adding `safe:` 
as the first line in all your project modules, and annotate 
individual functions otherwise as necessary. For modules with C 
declarations, do as you think best.


For everyone else, carry on as before.


Can we get a compiler flag that will enable safe by default for 
people who might want it?


PixelPerfectEngine 0.9.4 - now with a (barely) working editor

2020-01-04 Thread solidstate1991 via Digitalmars-d-announce
It took me some headaches (especially as some errors were due to 
hard to spot typos), but finally I got the editor working after a 
lot of refactoring and no direction.


https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.9.4

Future plans:
- better version numbering
- better planning (with the next step being bugfixes only)
- bugfixes (needs a lot of testing, and I'm only a single person)
- creating a sample game, and maybe something more serious in the 
future
- either using a preexiting audio plugin system for stuff, or 
creating a new one with better planning

- getting datapak working, so assets can be packed into files


Re: I've created a binding for an LZW library

2019-10-27 Thread solidstate1991 via Digitalmars-d-announce

On Sunday, 27 October 2019 at 16:19:58 UTC, Andre Pany wrote:

That is really great.

Side question, did you considered to rewrite a C library (e.g. 
https://github.com/vapier/liblzw) to D?


Kind regards
Andre


Probably it would be easier than the times I tried to rewrite 
much more complex C++ libraries/apps to D, however I thought it 
would be sufficient enough to just write a binding for a library.


liblzw's biggest issue was that
a) It's output only.
b) It directly accesses files, which makes buffer reads and 
writes impossible to the point you have to pass the file path to 
a function. Using temp files would probably solve this problem, 
but it's extremely kludgy when you could just use memory buffers. 
Not to mention the wear on modern SSDs.


One of my plans was to port ncompress to D as a library with 
memory buffer reads/writes enabled, but before that I asked 
around and found libncompress, which is that for C. MAybe I'll 
add some higher level API for it in the fashion of std.zlib, only 
more stable.


I've created a binding for an LZW library

2019-10-26 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/lzwford

The hardest part was to find one that could work with D easily.

I guess now Imageformats (and my own dimage) can have GIF and 
TIFF file support.


Re: Symantec has been sold to Broadcom

2019-08-09 Thread solidstate1991 via Digitalmars-d-announce

On Friday, 9 August 2019 at 02:22:11 UTC, DanielG wrote:
Software is a funny thing. I'm old enough to remember when 
everything was locked down and proprietary, of economic 
necessity. Nowadays it's almost entirely the opposite, for the 
same reason.


We're definitely well into the Singularity, but because our 
time perception is keeping up with it, it doesn't *seem* like 
things are moving as fast as they really are. But whenever I 
stop to really appreciate what's possible with software now, 
most of it was nearly or totally inconceivable back in the 90s.


Fully expecting to be gunned down by a Boston Dynamics T-800 
any day now.


Sometimes even middleware was so proprietary that it took the 
community to reverse engineer how to interface with various 
hardware, some pieces of hardware were partly a failure thanks to 
that. An example is Creative's ASP chip for the SB16 and 32, and 
they learned so well from the events that they bought up OpenAL 
to make it proprietary.


Nowadays I'm thinking on what kind of license should I use on my 
"open source media franchise" (or whatever I should call it), 
since I don't want to keep it all for myself, and I would like to 
encourage other authors to not only write what is essentially 
glorified fanfiction, but to contribute back so other creators 
and even I can build upon that. My current candidate is LGPL on 
the lore, character design, etc, while end products using them 
can be proprietary.


Datapak: Data storage format with support for multiple compression algorithms

2019-05-10 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/datapak

It's primarily function is to store application (such as game) 
assets in either compressed or uncompressed format, but its 
extendability enables it to store longer filenames and other OS 
important data, metadata, etc. Currently it's in a preliminary 
state, but works with zstd compression (the older zlib to be 
added soon, lz4 in a later version), and the hash/checksum 
functions haven't been fully implemented.


Goals in the future:
* Add support for fully random access of files where it's 
possible (such as in uncompressed mode and zstd with shared 
dictionary).
* Collect data on what kind of functions I should add in the 
future (such as finalizing the default extension for file 
storage).
* Making the library @safe compliant, mostly through @trusted 
wrappers and boundary checks towards low-level functions.


I've created two new libraries

2018-12-16 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/dimage

https://github.com/ZILtoid1991/vfile

The first is a yet another image library for D, but this time it 
can read and write indexed images, and also have support for some 
more obscure TGA features such as embedded data (developer area) 
and the extra fields in the extension area (not fully implemented 
at the moment). It has issues with RLE generation at the moment, 
I hope I can resolve that issue in the near future.


The second is a virtual file implementation, which is mostly 
compatible with std.stdio.File meaning it can be swapped with it 
through a template, and I mainly intend to use it for 
decompression (thinking on writing a loader for libzstd with 
BindBC instead of trying to get LZHAM ported to D, since 
zstandard is superior in every way), but also works well for 
unittesting, this avoids cleaning up after the test is finished 
and the possible wear on solid state drives.


Re: A facebook group for D programmers

2018-09-17 Thread solidstate1991 via Digitalmars-d-announce

On Monday, 17 September 2018 at 18:40:21 UTC, Bill Baxter wrote:

Here's the link : https://www.facebook.com/dlang.org .  ;-)



That's the page, not the group.

It seems the group is set to secret, it'll make joining very 
hard, only through invitations.





LZHAM port to D is live on GitHub

2018-08-07 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/lzbacon

Completely untested, no compression or test cases yet, no dub 
integration, and probably will fail at compilation, however if 
someone would like to help me out then it would be awesome.


 - Close to LZMA compression rates with higher decompression 
speed at the cost of compression speed

 - Backwards compatibility with deflate
 - Taking advantage of D's own parallelization (LZHAMDecompress 
uses Fiber) instead of relying on weird methods that's not 
supported by D
 - Future projects include further optimizations, making use of 
DCompute, readability improvements (original is a macro hell, 
might or might not be replaced with template mixins), safety 
improvements, possibly making it fully @nogc


Re: LDC 1.9.0 beta

2018-04-22 Thread solidstate1991 via Digitalmars-d-announce

On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce the first beta 
for LDC 1.9. The highlights of this version in a nutshell:


* Based on D 2.079.1, including new `-i` switch and support for 
a minimal (d)runtime.
* Support for LLVM 6, used for all prebuilt packages (except 
for Win32).
* `-link-internally` able to (cross-)link Windows, Linux and 
macOS binaries.
* Prebuilt Linux and macOS packages now shipping with LTO-able 
druntime/Phobos.
* Improved support for MIPS targets and the uClibc runtime 
library.
* Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on 
macOS.


Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1


Thanks to all contributors!


I'm getting a bunch of errors with the inline assembler like this:

 :6:2: error: assembler label 
'L7CPUblit9composing11blitter8bit_eightpixel' can not be   
undefined

 jl L7CPUblit9composing11blitter8bit_eightpixe

However I still ended up getting a .lib file in the end. Is this 
normal or have I done something wrong?


Re: PixelPerfectEngine v0.9.4-alpha.2

2018-04-20 Thread solidstate1991 via Digitalmars-d-announce

On Monday, 16 April 2018 at 15:08:38 UTC, Chris Katko wrote:


Definitely add screen shots to the github. Screenshots = 
Downloads.


I know, currently I'm struggling with getting assets for this 
purpose, also with getting rid of the GC from the rendering 
pipeline.


PixelPerfectEngine v0.9.4-alpha.2

2018-04-11 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.9.4-alpha.2
The editor is almost usable (still needs a way to import tiles 
from its own proprietary format), and now has a working, although 
still a bit slow and unstable transformable tile layer with 
mode7-esque capabilities.


CPUblit v0.1.0

2018-04-03 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/CPUblit

I have put the rendering functions of my engine to an external 
library for general use in other applications where image 
composing is needed.


I can add functions on request, currently I'm planning more 
functions for drawing and higher-level functions, with no much 
plans on direction with the latter one other than minimizing 
external dependencies and avoiding the use of the garbage 
collector and even possibly classes.


Re: The latest Terrarium TV 1.8.1 has been updated.

2017-11-12 Thread solidstate1991 via Digitalmars-d-announce
On Wednesday, 8 November 2017 at 09:40:01 UTC, Theresa Henson 
wrote:
The update is compatible with the latest Android OS as well as 
all others over Android 4.0


Was this (at least partly) developed using D? Or you just using 
the forum to promote this product?


PixelPerfectEngine v0.9.2

2017-10-23 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.9.2

New features:
* More use of D's own language features, this will be improve 
even further in the future.
* WindowMaker for PPE/Concrete enables the creation of GUI 
elements. Currently it's in its very early stages, lot of 
functions are missing or don't work correctly, but it's made well 
enough now to help to finish itself, alongside PixelPerfectEditor.
* Some levels of parallelization in the rendering that works 
similarly to 3DFX's own SLI technology, currently has too much 
artifacting thanks to threading issues. Going to fix it soon, 
even if it only has some advantage with CPU rendering (GPU 
rendering will be done either through custom shaders, or through 
some form of GPGPU method, probably DCompute to make portability 
easier).

* Started working on its own audio engine.

Coming soon:
* Various ways of soundFX/music generation (FM, sample/wavetable).
* Sprite scaling/rotation/3D effects.
* Some way to reduce redraw calls and area, for GUI mainly.
* Multiple system support, including the Raspberry Pi.


Re: GitBook about D on embedded ARM Linux

2017-08-31 Thread solidstate1991 via Digitalmars-d-announce

On Thursday, 31 August 2017 at 14:43:22 UTC, thinwybk wrote:
There is no single point of entry to find information about how 
to use D on ARM Linux. I created a small project on GitHub 
https://github.com/fkromer/d-on-embedded-linux-arm which shall 
enable absolute beginners (of embedded Linux and D) to get 
started as fast as possible. The project is in sync with a 
GitBook page 
https://fkromer.gitbooks.io/d-on-embedded-linux-arm/content/. 
The BeagleBone Black https://beagleboard.org/black is used as 
exemplary development board (a lot of information and tutorials 
available e.g. here http://exploringbeaglebone.com/, board 
hardware is extensible easily and in a modular manner with 
"capes" https://beagleboard.org/cape 
http://elinux.org/Beagleboard:BeagleBone_Capes).


I'm interested in it as I'm planning to making my graphics engine 
usable on as many platforms as possible.


Re: d_to_html.d

2017-08-06 Thread solidstate1991 via Digitalmars-d-announce

On Saturday, 5 August 2017 at 19:07:50 UTC, WebFreak001 wrote:
Hi, I made a D to HTML generator which is basically diet, but 
fully using the D compiler as generator and not some 
complicated parser, etc.


Finally! I can have a footing in frontend development!


Re: Work on ARM backend for DMD started

2017-07-20 Thread solidstate1991 via Digitalmars-d-announce

On Friday, 7 July 2017 at 11:09:27 UTC, Temtaime wrote:
DMD is a piece of shit, and adding another one ARM backend with 
all those bugs and low performance instead of improving ldc is 
wasting efforts.

The only use of dmd is development because of compilation speed.
But some persons have "cerveau lent" and just cannot realise it.


A few things you should be aware before you trash the reference 
compiler for D:


- Most of DMD's frontend and the part of the backend is in D. 
This means better productivity in the long run, especially once 
the whole of the backend is ported to D.
- Well, it's the reference compiler. I understand that you would 
like to see many of the devs on DMD to move towards LDC instead. 
I myself like some healthy competition.
- The performance issues can be fixed in the long run. I myself 
thinking on fixing some of the issues of DMD, like the SIMD 
support (might end up in issuing a DIP for better support the 
hardware functions).


I think first I might learn how the current codegen works, issue 
some improvements, as learning how the arm architecture works is 
a hard work, I don't even know what to do with condition codes 
(ignore them completely, or use them in certain situations to 
save a few conditional jump?), thumb (yet another attribute to 
force the compiler to use thumb for the part of the code?), etc. 
I'll recycle some of the preexisting code which was made by 
another user.


Work on ARM backend for DMD started

2017-07-03 Thread solidstate1991 via Digitalmars-d-announce
While I currently don't have an ARM based hardware that would be 
easy to develop on, I'm planning to use QEMU to emulate some form 
of ARMv6 CPU, as it'll be the main target, as it's still being 
used in devices like the Raspberry Pi. ARMv5 is being considered 
if it doesn't need a lot of work, although I don't see a lot of 
reason behind doing it besides of the possibility of enabling the 
development of homebrew GBA, NDS, GP32, etc stuff.


As I became unemployed recently, I have a lot more time for 
development, so time now isn't an issue. Or at least until I find 
a job, which is hard due to my state as a college student, which 
I'm on the verge of losing it.


I would accept your input on various things, like if I should do 
some adjustments to the in-line assembly stuff, whether I should 
care about thumb (reduced size instruction set, not available on 
some newer targets) or not, etc. Got my hands on some official 
reference manual, it wouldn't hurt if I could research other ones 
too.


Re: DCompute is now in the master branch of LDC

2017-06-15 Thread solidstate1991 via Digitalmars-d-announce

On Wednesday, 14 June 2017 at 05:43:01 UTC, Manu wrote:

See, I would have a very different conversation:

 N: DCompute
 M: Awesome, I've been waiting!

instead of:

 N: D-GPU
 M: What's that... is it, like, a rendering library?
 N: No, it's a 'compute' library.
 M: Ohhh, awesome! I've been waiting!

;)
Also "D-GPU" implies that it's only for GPUs. Granted, there's a 
lot of similarities (early 3D accelerators in arcade cabinets 
were often built from multiple DSPs, GPUs always have VLIW and 
FMA capabilities, FPGAs can function as either as DSP or GPU with 
limitations, etc), but we still need some distinction. Even CPUs 
have OpenCL capabilities (my good old Athlon 64 x2 supports up to 
1.1).


Other than I'm planning to using DCompute to implement "GPU 
blitter" (as I couldn't find any hardware acceleration API for 
raster graphics besides the long obsolete DirectDraw), but I'm 
also thinking on if I could implement some physical modelling 
audio engine, that would compile reverberation in real time for a 
virtual room, enabling it to be used in games (game audio haven't 
advanced as much as graphics unfortunately).


Re: Revised DIP Info

2017-06-12 Thread solidstate1991 via Digitalmars-d-announce

On Monday, 12 June 2017 at 17:51:05 UTC, Mike Parker wrote:
Now that I've got a few DIP reviews under my belt, I've got a 
good enough handle on the process to lay it out in 
documentation form. To that end [1], I've kept the general 
structure that Dicebot initially set down, changing the details 
to better reflect my view of how it should all work (I still 
need to update the existing DIPs to reflect a couple of 
changes). I've also revised Dicebot's guidelines on DIP writing 
[2]. Much of his original advice is still there. That document 
is sure to evolve.


Feedback on all of this is welcome.

While I have your attention, Sebastian recently revived an old 
DIP on in-place struct initialization. I invite everyone to 
come and give feedback on that [3], but *please* read the 
updated README before doing so, particularly the section titled 
'Review Process' so you can fully understand what's expected of 
reviews at this stage of the process (what I now call the 
'Draft Review' stage). I haven't looked at it yet, but I expect 
to do so next week.


I still need to review the recent updates to Zach Tollen's 
proposal [4] (Improve Contract Usability), and if all checks 
out I'll be merging it as DIP 1009. You can expect the first 
review round shortly thereafter.



[1] https://github.com/dlang/DIPs/blob/master/README.md
[2] https://github.com/dlang/DIPs/blob/master/GUIDELINES.md
[3] https://github.com/dlang/DIPs/pull/71
[4] https://github.com/dlang/DIPs/pull/66


The guidelines should also contain some advice on check whether 
there's already a similar idea proposed. I wanted to write my own 
about how we should fix the DLL issue under Windows, only to find 
out that DIP45 already exists.


Re: Pixel Perfect Engine (formerly known as VDP-Engine) version 0.9.1-rc1 released

2017-01-21 Thread solidstate1991 via Digitalmars-d-announce

On Saturday, 21 January 2017 at 17:41:58 UTC, NVolcz wrote:


Any screenshots?


https://github.com/ZILtoid1991/pixelperfectengine/issues/1

There's even a video showcasing the scrolling capabilities of the 
engine. I made more during development, most of them are about 
the bugs.


Re: Pixel Perfect Engine (formerly known as VDP-Engine) version 0.9.1-rc1 released

2017-01-21 Thread solidstate1991 via Digitalmars-d-announce

On Saturday, 21 January 2017 at 14:27:35 UTC, Dmitry wrote:
On Friday, 20 January 2017 at 23:15:51 UTC, solidstate1991 
wrote:

Github: https://github.com/ZILtoid1991/pixelperfectengine


Any documentation?


Documentation is in the works with a few sample codes, but 
currently I have a lot of other things to do. In the meanwhile 
refer to the available documentation in the source code and feel 
free to recycle existing code from the editor.


Re: Pixel Perfect Engine (formerly known as VDP-Engine) version 0.9.1-rc1 released

2017-01-21 Thread solidstate1991 via Digitalmars-d-announce

On Saturday, 21 January 2017 at 01:55:54 UTC, Chris Wright wrote:
This would have been the perfect place for you to describe what 
this project is about.


Pixel Perfect Engine is a 2d graphics system based on SDL and 
FreeImage. It appears to be tile-based and incorporate a map 
editor.


It's mainly an engine for retro-styled games that uses fixed 
point rendering through the CPU (and later on with an OpenCL 
option) to give a "pixel-perfect appearance" instead of the usual 
stretched out low-res objects on a hi-res screen as usually seen 
in unity and other engines. Currently scrolling is done via 
brute-force, as even my low-end PC is capable of rendering 60+ 
frames per second, but more CPU intense stuff (like background 
rotations) will done through backbuffers and barrel-shifting.


While it's mostly tile-based, I'm planning to add options for 
things like vectoral backgrounds, tile backgrounds for isometric 
games, also one can generate backgrounds through sprites too.


FreeImage is only used by the editor, the engine itself has a 
proprietary image format that can store graphical elements and 
animations at different sizes. The format itself might get its 
own library if others will see anything in it.


Pixel Perfect Engine (formerly known as VDP-Engine) version 0.9.1-rc1 released

2017-01-20 Thread solidstate1991 via Digitalmars-d-announce

Github: https://github.com/ZILtoid1991/pixelperfectengine

It's now pretty usable a decent speeds and a lot of features. 
There's now a new collision-detection algorithm that can test 
whole lines at once, although it's currently untested. I also 
started to work on an editor, it's only function now is to import 
images to its own proprietary bitmap format, which has support 
for 16bit palettes (up to 65536 colors) and transparency by color 
key. Next I'm going to run a few tests with the collision 
detection, implement the 32bit tile layer, the drop down menus 
for the Concrete UI, start to implement the multi-threaded 
rendering, also work further on documentations.


This project might end up as my master thesis, so at the moment I 
cannot accept contributors unless they're working on implementing 
scripting languages (Lua, Lisp, etc.), which won't be part of my 
thesis.


Re: D-Man culture

2016-07-27 Thread solidstate1991 via Digitalmars-d-announce

On Wednesday, 27 July 2016 at 13:48:15 UTC, Chris wrote:

On Wednesday, 27 July 2016 at 01:39:19 UTC, Ali Çehreli wrote:

On 07/26/2016 05:40 PM, solidstate1991 wrote:
And now, there's even a female (more precisely, a 
moe-anthropomorphic

version) mascot made by me. Feel free to create derivatives.

http://ziltoid1991.deviantart.com/art/DLang-chan-624180895?ga_submit_new=10%253A1469578950

http://www.pixiv.net/member_illust.php?mode=medium_id=58107541


LOL! The dissimilarity is hilarious. :D

Ali


I don't want to be a spoil sport, but who has the copyright? It 
could create revenue for the D Foundation!


I put CC free4all license on it, so no. However if needed I could 
make a visual novel with her, where you can date with (and have 
sex with in the uncensored version) a programming language 
represented by a cute anime girl, however I won't write a new VN 
engine for D, either someone creates one or I use a preexisting 
one that was probably written in C#. We can sell the VN, so we 
have some hope, maybe also selling her as figurines.


Re: D-Man culture

2016-07-26 Thread solidstate1991 via Digitalmars-d-announce
And now, there's even a female (more precisely, a 
moe-anthropomorphic version) mascot made by me. Feel free to 
create derivatives.


http://ziltoid1991.deviantart.com/art/DLang-chan-624180895?ga_submit_new=10%253A1469578950
http://www.pixiv.net/member_illust.php?mode=medium_id=58107541


Re: 2D game engine written in D is in progress

2015-02-03 Thread solidstate1991 via Digitalmars-d-announce

On Tuesday, 3 February 2015 at 17:15:29 UTC, Zoadian wrote:
On Tuesday, 3 February 2015 at 16:30:27 UTC, solidstate1991 
wrote:

https://github.com/ZILtoid1991/VDP-engine

Alpha release. Very basic functionality at the moment, will be 
expanded later.


had a quick look:

public class Color

This is probably going to be slow. you want to read about 'cache
friendliness'. And for a game/graphics engine also google 'data
oriented design'.


Thanks for the suggestion.

Also do somebody know how should I speed up the sprite part of 
the code? In my opinion, it's pretty slow alrought it was the 
easiest way I could come up with.


Re: 2D game engine written in D is in progress

2015-02-03 Thread solidstate1991 via Digitalmars-d-announce

https://github.com/ZILtoid1991/VDP-engine

Alpha release. Very basic functionality at the moment, will be 
expanded later.




Re: 2D game engine written in D is in progress

2015-01-24 Thread solidstate1991 via Digitalmars-d-announce
On Wednesday, 17 December 2014 at 19:06:24 UTC, solidstate1991 
wrote:

I started to work on an engine, which emulates the features and
limitations of older graphics systems, mainly for retro-styled
indie games.

Features:

-Support for parallax scrolling, and multiple sprite and tile
layers
-Support for sprite scaling and rotation
-Max. 65536 colors on screen from a palette
-Variable sprite sizes for easier development, tile layers can
work with any size of tiles as long as all of the tiles are the
same size on one layer
-Collision detection
-Support for modding
-Sprite editor, tile map editor

It's not a dethroner for the Unreal Engine 4, but I try my best
to get it into work. It's current name is VDP engine, but if you
can come up with a better name I might change it. I still 
haven't

decided to make it open or closed source (if it'll be ever used
by any game that makes profit, I'd like to get some share from
it).


I'm halfway throught the development. Now the engine is in a 
debuggable state. The display of sprites works well, the 
collision detection is simple (pixel based collision detection is 
not yet implemented), no effects, no input event handling.


2D game engine written in D is in progress

2014-12-17 Thread solidstate1991 via Digitalmars-d-announce

I started to work on an engine, which emulates the features and
limitations of older graphics systems, mainly for retro-styled
indie games.

Features:

-Support for parallax scrolling, and multiple sprite and tile
layers
-Support for sprite scaling and rotation
-Max. 65536 colors on screen from a palette
-Variable sprite sizes for easier development, tile layers can
work with any size of tiles as long as all of the tiles are the
same size on one layer
-Collision detection
-Support for modding
-Sprite editor, tile map editor

It's not a dethroner for the Unreal Engine 4, but I try my best
to get it into work. It's current name is VDP engine, but if you
can come up with a better name I might change it. I still haven't
decided to make it open or closed source (if it'll be ever used
by any game that makes profit, I'd like to get some share from
it).