×
Create a new article
Write your page title here:
We currently have 210 articles on Open Eggbert. Type your article name above or click on one of the titles below and start writing!



Open Eggbert
210Articles

Open Eggbert: Difference between revisions

No edit summary
 
(121 intermediate revisions by the same user not shown)
Line 1: Line 1:
== What is "Open Eggbert" ==
[[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''Open Eggbert''' is open-source free recreation of the Speedy Blupi computer game.


Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref>
{| class="infobox" style="float:right;border:1px solid black;text-align:left;"
!colspan="2" style="text-align:center;font-size:125%;" | Open Eggbert
|-
|'''Recreation of'''
|[[Speedy Blupi]] I/II/Phone
|-
|'''Recreation type'''
|Top down method
|-
! Author (person)
| rowspan="3" | [[Robert Vokac]]
|-
! Developer (person)
|-
! Publisher (person)
|-
|'''Licence'''
|[[GPL]] version 3 or later
|-
|'''Programming language'''
|[[Java]] 11
|-
|'''Used libraries'''
|[[LibGDX]], [[Pixel Game Library]]
|-
|'''Project launched'''
|In June [[2024]]
|-
|'''Development started'''
|On 3rd July 2024
|-
|'''Released date'''
|Not yet released
|-
|'''Development status'''
|Being developed (just the beginning)
|}


'''Licence:''' GPL version 3 or later
== Introduction ==
[[File:Open-eggbert-logo.jpg|frame|This is original image of Open Eggbert created by Robert Vokáč]]'''[[Open Eggbert]]''' is a '''free''' and '''open-source''' recreation of '''Speedy Blupi I/II''' computer game.


There are several versions of "Speedy Blupi.
Multiple platforms are supported: [[Windows]], [[Linux]], [[MacOS]], [[Android]], [[Web]] (via [[GWT]]  or [[TeaVM]])


== Relation to Speedy Blupi ==
'''Open Eggbert''' is an approximation of the [[Speedy Blupi]] engine.
'''Open Eggbert''' does not have a '''Clock cycle wise''' identical behaviour as '''Speedy Blupi,''' because to reach such goal is not possible without the source code of Speedy Blupi engine. ''(Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)''
However, the player should not be able find out, whether he is playing Speedy Blupi game created by [[Daniel Roux]] or Open Eggbert (the [[reimplementation]])
== Why Open Eggbert was created ==
* Both the games '''Speedy Blupi I''' and '''Speedy Blupi II''' are '''closed-source'''.
* Modifications of Speedy Blupi are possible only by hex editing of the [[EXE]] files
* [[Bugs]] in Speedy Blupi cannot be fixed
* Existing features of Speedy Blupi cannot be improved
* New features cannot be added to Speedy Blupi
* No one has yet appeared to start a project to create a recreation (reimplementation) of Speedy Blupi I/2.
== Advantages of Open Eggbert ==
New features can be added. Existing features can be improved. Found bugs can be fixed. Game can be ported to new platforms.
== Notes ==
# Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
# Open Eggbert does not plan to support [[iPhone]]. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and  then add iPhone support.
== Game space ==
Game space is a directory with the defined structure.
Player has one or more game spaces.
Each game space has a feature level.
Game space can be cloned. You can have several game spaces with the same Feature level.
== Feature level ==
Feature level represents set of features, which are supported in the given game space.
Open Eggbert behaves almost exactly like the original game version related to the Feature level.
'''Feature levels:'''
# Speedy Blupi Demo
# Speedy Blupi Demo
# Speedy Blupi I
# Speedy Blupi I
# Speedy Blupi II
# Speedy Blupi II
# Speedy Eggbert Demo
# Speedy Eggbert Demo
# Speedy Eggbert VALUEWARE
# Speedy Eggbert 1
# Speedy Eggbert 1
# Speedy Eggbert 2
# Speedy Eggbert 2
# Speedy Blupi for Windows Phone (released in 2013)
# Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux
''Note: Speedy Eggbert is the renamed version released by eGames company..''
== Legacy mode ==
If legacy mode is enabled in [[CONFIG.DEF]], then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.
 
If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated
 
The third possibility is to set the value of '''LegacyMode''', which contains comma separated list of Open Eggbert only features, which will be additionally activated and supported. This means, that Legacy mode is enabled, but some Open Eggbert only features are activated.
 
* For example disable cheat, even the game behaves like Speedy Eggbert I
 
== Goals (projects) ==
'''See:''' [[Projects]]
 
Project A: CATCH: Collect all knowledge related to the Speedy Blupi game engine found on the Internet
 
Project B: SPECIFY: Create the ultimate specification of Speedy Blupi game engine and its related games, utilities, etc.
 
Project C: REMAKE: Reimplement the origin Speedy Blupi game engine
 
Project D: FREE IMAGES: Create free replacements of game images - Vector graphics - with Inkscape or an alternative - format BMP or PNG or JPEG
 
Project E: FREE SPRITES: Create free replacements of game sprites - 3D graphics - with Blender or an alternative - format BMP or PNG or JPEG
 
Project F: FREE MUSIC: Create free replacements of game music - format MP3 or OGG
 
Project G: FREE SOUNDS: Create free replacements of game sounds - format WAV or OGG
 
Project H: OPEN EGGBERT 3: Propose and implement new features with comparison to the Speedy Blupi game engine
 
Project I: ANALYSE: Analyse and document all the knowledge related to the Speedy Blupi game engine
 
Project J: STORE: Implement modding system and Open Eggbert Store - web application
 
Project K: MODS: Document mods for Speedy Blupi/Eggbert games (record videos, decribe levels, describe modded graphics/music/sounds


== Goals of "Open Eggbert" ==
Project L: EXE: Reverse engineer the EXE files of Speedy Blupi/Eggbert game engines


# To provide the ultimate specification of "Speedy Blupi/Eggbert Games".
Project M: PLUS: Decompile the C++ source code of Speedy Blupi/Eggbert
#* This specification should be as sufficient as possible to recreate these games.
#* This specification should completely include details for graphics, sounds, cheats, hacks, bugs, behaviours.
# To record videos playing all levels and all possible situations.
# To provide help how to run and modify Speedy Blupi/Eggbert (Exagear, Wine, Windows Phone emulation or rooting, etc.)
# To list all important websites related to Speedy Blupi/Eggbert. See https://net.nanoboot.org/websites.jsp
# To recreate Speedy Blupi/Eggbert games using Java programming language and the FXGL library.
#* Possible discussion for the technologies to be used is open.
#* Open Eggbert should be just one engine capable to be switched to behave like one of versions of the game. It will be possible to launch Open Eggbert in one of these 8 modes: Blupi Demo, Blupi I, Blupi II, Eggbert Demo, Eggbert 1, Eggbert 2, Phone, Open
#* It will be a very long way to develop "Open Eggbert", but I think, that the revival of these games is possible.
#* Source code is not available for any of Speedy Blupi/Eggbert games". This means, we cannot use these source codes to create a game like Speedy Blupi 3, but the recreation is the way.
#To create the completely new graphic. Possible applications to be used for this task are Gimp and Blender, for example.
##3D models will be used to create the new prerendered sprites
##Game resolution will be 640*480 or 1280*960 (or another technical solution - to be discussed)
#To create Open Eggbert 3. It means new features in the game.
#Support for these platforms: Desktop(Windows, Linux, macOS), Web, Android, iOS


== Development of "Open Eggbert" ==
Project N: XAP: Reverse engineer the XAP file of Speedy Blupi for Windows Phone released in 2013
Current status of development of '''Open Eggbert''': It just started (3rd July 2024)


Source code repository (now almost empty): https://github.com/openeggbert/open-eggbert
Project O: INFRA: Infrastructure


GraalVM or GluonHQ may be used to port it to native Linux or Windows or Android or Iphone executable files.
== Name origin ==
Its name is not "Open Blupi", because "Blupi" is the registered trademark of [[Epsitec]] company.<ref>https://branddb.wipo.int/en/quicksearch/brand/CH501993000002322?sort=score%20desc&start=0&rows=30&asStructure=%7B%22_id%22:%2253d3%22,%22boolean%22:%22AND%22,%22bricks%22:%5B%7B%22_id%22:%2253d4%22,%22key%22:%22brandName%22,%22value%22:%22blupi%22,%22strategy%22:%22Simple%22%7D%5D%7D&_=1718551274937&fg=_void_&i=6</ref>


== New features with comparison to Speedy Blupi/Eggbert 1/2/I/II ==
Open is the first word in the name, because Open Eggbert is open-source.


# Open Eggbert Editor - new separate application, an alternative level editor. Features will be inspired by X-Edit, X-Edit-Mapper and BlupiEdit and tiled-blupi
Speedy Eggbert is no more a registred trademark and this is reason, why the second word in the name is "Eggbert"
# An alternative new Graphics - will be created and modeled probably with Blender and Gimp and Inkscape.
# 40 frames per second (FPS) for sprites(Speedy Blupi/Eggbert 1/2/I/II have FPS 20). This means twice more sprites for animations.
# 24 bit color depth
# Resolution 1280x960, or possible any resolution.
# New vehicles - ship, submarine, bike, line skates, ...
# New cheats
# Improved multiplayer mode
# Some bugs in Speedy Blupi/Eggbert 1/2/I/II won't exist (Unfortunately some new unwanted bugs will be introduced)
# Support for mods - external directories or compressed archives with:
## worlds in directory data (mandatory)
## alternative graphics in directories IMAGES08 or IMAGES16 or IMAGE24 OR IMAGES16X2 OR IMAGES24X2 (optional)
## alternative WAV sounds in directory SOUND
## alternative MIDI music in directory SOUND
# Use of artificial intelligence - for example to simulate other players for multiplayer or to simulate gameplay by the computer or to generate new worlds
# World generator (using computer algorithm or artificial intelligence)
# World size could be also: width=200 height=200
# Infinite worlds - provided by the world generator
# Limits will be changed: size and object limit in levels. This requires new file format - mayge EGT file name extension.
# Dream blocks will be back
# Possibility to forbid cheats
# Ideas:
#* Respawnable objects
#* Another/custom water colors
#* liana, ladder
#* different types of bombs
#* multi-station lifts with circle and shuttle mode - lifts with more than two checkpoints
#* editing levels on the fly (during the gameplay)
#* widescreen display mode
#* ice blocks, sliding ice blocks


==References==
==References==
<references />
<references />
[[Category:Fan projects]]

Latest revision as of 22:19, 16 January 2025

Open Eggbert
Recreation of Speedy Blupi I/II/Phone
Recreation type Top down method
Author (person) Robert Vokac
Developer (person)
Publisher (person)
Licence GPL version 3 or later
Programming language Java 11
Used libraries LibGDX, Pixel Game Library
Project launched In June 2024
Development started On 3rd July 2024
Released date Not yet released
Development status Being developed (just the beginning)

Introduction

This is original image of Open Eggbert created by Robert Vokáč

Open Eggbert is a free and open-source recreation of Speedy Blupi I/II computer game.

Multiple platforms are supported: Windows, Linux, MacOS, Android, Web (via GWT or TeaVM)

Relation to Speedy Blupi

Open Eggbert is an approximation of the Speedy Blupi engine.

Open Eggbert does not have a Clock cycle wise identical behaviour as Speedy Blupi, because to reach such goal is not possible without the source code of Speedy Blupi engine. (Update: Thanks to the decompilation project the clock cycle wise identical behaviour may be possible)

However, the player should not be able find out, whether he is playing Speedy Blupi game created by Daniel Roux or Open Eggbert (the reimplementation)

Why Open Eggbert was created

  • Both the games Speedy Blupi I and Speedy Blupi II are closed-source.
  • Modifications of Speedy Blupi are possible only by hex editing of the EXE files
  • Bugs in Speedy Blupi cannot be fixed
  • Existing features of Speedy Blupi cannot be improved
  • New features cannot be added to Speedy Blupi
  • No one has yet appeared to start a project to create a recreation (reimplementation) of Speedy Blupi I/2.

Advantages of Open Eggbert

New features can be added. Existing features can be improved. Found bugs can be fixed. Game can be ported to new platforms.

Notes

  1. Open Eggbert is specifically focused on recreating Speedy Blupi/Eggbert games. This does not include other Blupi games.
  2. Open Eggbert does not plan to support iPhone. Reason: iPhone via RoboVM supports only Java 8. But you can try compile Open Eggbert with Java 8 and then add iPhone support.

Game space

Game space is a directory with the defined structure.

Player has one or more game spaces.

Each game space has a feature level.

Game space can be cloned. You can have several game spaces with the same Feature level.

Feature level

Feature level represents set of features, which are supported in the given game space.

Open Eggbert behaves almost exactly like the original game version related to the Feature level.

Feature levels:

  1. Speedy Blupi Demo
  2. Speedy Blupi I
  3. Speedy Blupi II
  4. Speedy Eggbert Demo
  5. Speedy Eggbert VALUEWARE
  6. Speedy Eggbert 1
  7. Speedy Eggbert 2
  8. Open Eggbert 3 - new features, which are not available in the original games developed by Daniel Roux

Legacy mode

If legacy mode is enabled in CONFIG.DEF, then Open Eggbert will behave as much as possible as the original games developed by Daniel Roux.

If legacy mode is disabled, then all Open Eggbert new features, graphics, sounds, music, etc. of Open Eggbert will be present and activated

The third possibility is to set the value of LegacyMode, which contains comma separated list of Open Eggbert only features, which will be additionally activated and supported. This means, that Legacy mode is enabled, but some Open Eggbert only features are activated.

  • For example disable cheat, even the game behaves like Speedy Eggbert I

Goals (projects)

See: Projects

Project A: CATCH: Collect all knowledge related to the Speedy Blupi game engine found on the Internet

Project B: SPECIFY: Create the ultimate specification of Speedy Blupi game engine and its related games, utilities, etc.

Project C: REMAKE: Reimplement the origin Speedy Blupi game engine

Project D: FREE IMAGES: Create free replacements of game images - Vector graphics - with Inkscape or an alternative - format BMP or PNG or JPEG

Project E: FREE SPRITES: Create free replacements of game sprites - 3D graphics - with Blender or an alternative - format BMP or PNG or JPEG

Project F: FREE MUSIC: Create free replacements of game music - format MP3 or OGG

Project G: FREE SOUNDS: Create free replacements of game sounds - format WAV or OGG

Project H: OPEN EGGBERT 3: Propose and implement new features with comparison to the Speedy Blupi game engine

Project I: ANALYSE: Analyse and document all the knowledge related to the Speedy Blupi game engine

Project J: STORE: Implement modding system and Open Eggbert Store - web application

Project K: MODS: Document mods for Speedy Blupi/Eggbert games (record videos, decribe levels, describe modded graphics/music/sounds

Project L: EXE: Reverse engineer the EXE files of Speedy Blupi/Eggbert game engines

Project M: PLUS: Decompile the C++ source code of Speedy Blupi/Eggbert

Project N: XAP: Reverse engineer the XAP file of Speedy Blupi for Windows Phone released in 2013

Project O: INFRA: Infrastructure

Name origin

Its name is not "Open Blupi", because "Blupi" is the registered trademark of Epsitec company.[1]

Open is the first word in the name, because Open Eggbert is open-source.

Speedy Eggbert is no more a registred trademark and this is reason, why the second word in the name is "Eggbert"

References